diff --git a/acorn.js b/acorn.js index 997a670ab9..f0740d8154 100644 --- a/acorn.js +++ b/acorn.js @@ -2027,7 +2027,7 @@ labels.pop(); expect(_while); node.test = parseParenExpression(); - eat(_semi); + semicolon(); return finishNode(node, "DoWhileStatement"); } diff --git a/test/tests.js b/test/tests.js index f40dcced6c..72b9340307 100644 --- a/test/tests.js +++ b/test/tests.js @@ -17911,49 +17911,6 @@ test("do keep(); while (true);", { } }); -test("do {} while (false) foo();", { - type: "Program", - start: 0, - end: 26, - body: [ - { - type: "DoWhileStatement", - start: 0, - end: 19, - body: { - type: "BlockStatement", - start: 3, - end: 5, - body: [] - }, - test: { - type: "Literal", - start: 13, - end: 18, - value: false, - raw: "false" - } - }, - { - type: "ExpressionStatement", - start: 20, - end: 26, - expression: { - type: "CallExpression", - start: 20, - end: 25, - callee: { - type: "Identifier", - start: 20, - end: 23, - name: "foo" - }, - arguments: [] - } - } - ] -}); - test("do { x++; y--; } while (x < 10)", { type: "Program", body: [