Fixed bug with block comments inside maps

This commit is contained in:
Derek Collison
2013-07-27 13:32:57 -07:00
parent e937168c5c
commit 3ef0c2329a
3 changed files with 57 additions and 3 deletions

View File

@@ -408,6 +408,18 @@ func lexMapKeyStart(lx *lexer) stateFn {
case r == mapEnd:
lx.next()
return lexSkip(lx, lexMapEnd)
case r == commentHashStart:
lx.next()
lx.push(lexMapKeyStart)
return lexCommentStart
case r == commentSlashStart:
lx.next()
rn := lx.next()
if rn == commentSlashStart {
lx.push(lexMapKeyStart)
return lexCommentStart
}
lx.backup()
}
lx.ignore()
lx.next()
@@ -462,8 +474,7 @@ func lexMapValue(lx *lexer) stateFn {
lx.backup()
fallthrough
case r == mapValTerm:
return lx.errorf("Unexpected map value terminator '%s'.",
mapValTerm)
return lx.errorf("Unexpected map value terminator '%s'.", mapValTerm)
case r == mapEnd:
return lexSkip(lx, lexMapEnd)
}