Require a semicolon after do/while
This commit is contained in:
1
acorn.js
1
acorn.js
@@ -1017,6 +1017,7 @@
|
||||
labels.pop();
|
||||
expect(_while);
|
||||
node.test = parseParenExpression();
|
||||
semicolon();
|
||||
return finishNode(node, "DoWhileStatement");
|
||||
|
||||
// Disambiguating between a `for` and a `for`/`in` loop is
|
||||
|
||||
@@ -699,6 +699,7 @@ continue to.</p> </td> <td class="code"> <
|
||||
<span class="nx">labels</span><span class="p">.</span><span class="nx">pop</span><span class="p">();</span>
|
||||
<span class="nx">expect</span><span class="p">(</span><span class="nx">_while</span><span class="p">);</span>
|
||||
<span class="nx">node</span><span class="p">.</span><span class="nx">test</span> <span class="o">=</span> <span class="nx">parseParenExpression</span><span class="p">();</span>
|
||||
<span class="nx">semicolon</span><span class="p">();</span>
|
||||
<span class="k">return</span> <span class="nx">finishNode</span><span class="p">(</span><span class="nx">node</span><span class="p">,</span> <span class="s2">"DoWhileStatement"</span><span class="p">);</span></pre></div> </td> </tr> <tr id="section-93"> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-93">¶</a> </div> <p>Disambiguating between a <code>for</code> and a <code>for</code>/<code>in</code> loop is
|
||||
non-trivial. Basically, we have to parse the init <code>var</code>
|
||||
statement or expression, disallowing the <code>in</code> operator (see
|
||||
|
||||
@@ -17695,19 +17695,6 @@ test("do keep(); while (true);", {
|
||||
line: 1,
|
||||
column: 0
|
||||
},
|
||||
end: {
|
||||
line: 1,
|
||||
column: 23
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
type: "EmptyStatement",
|
||||
loc: {
|
||||
start: {
|
||||
line: 1,
|
||||
column: 23
|
||||
},
|
||||
end: {
|
||||
line: 1,
|
||||
column: 24
|
||||
@@ -17897,7 +17884,7 @@ test("do { x++; y--; } while (x < 10)", {
|
||||
}
|
||||
});
|
||||
|
||||
test("{ do { } while (false) false }", {
|
||||
test("{ do { } while (false);false }", {
|
||||
type: "Program",
|
||||
body: [
|
||||
{
|
||||
@@ -17940,7 +17927,7 @@ test("{ do { } while (false) false }", {
|
||||
},
|
||||
end: {
|
||||
line: 1,
|
||||
column: 22
|
||||
column: 23
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user