Semicolon after do...while statement is optional
This commit is contained in:
@@ -724,9 +724,9 @@ function parse($TEXT, options) {
|
||||
);
|
||||
};
|
||||
|
||||
function semicolon() {
|
||||
function semicolon(optional) {
|
||||
if (is("punc", ";")) next();
|
||||
else if (!can_insert_semicolon()) unexpected();
|
||||
else if (!optional && !can_insert_semicolon()) unexpected();
|
||||
};
|
||||
|
||||
function parenthesised() {
|
||||
@@ -814,7 +814,7 @@ function parse($TEXT, options) {
|
||||
case "do":
|
||||
return new AST_Do({
|
||||
body : in_loop(statement),
|
||||
condition : (expect_token("keyword", "while"), tmp = parenthesised(), semicolon(), tmp)
|
||||
condition : (expect_token("keyword", "while"), tmp = parenthesised(), semicolon(true), tmp)
|
||||
});
|
||||
|
||||
case "while":
|
||||
|
||||
Reference in New Issue
Block a user