Add missing semicolon() calls to debugger and throw statement parsers
Issue #5
This commit is contained in:
2
acorn.js
2
acorn.js
@@ -1067,6 +1067,7 @@
|
||||
|
||||
case _debugger:
|
||||
next();
|
||||
semicolon();
|
||||
return finishNode(node, "DebuggerStatement");
|
||||
|
||||
case _do:
|
||||
@@ -1166,6 +1167,7 @@
|
||||
if (newline.test(input.slice(lastEnd, tokStart)))
|
||||
raise(lastEnd, "Illegal newline after throw");
|
||||
node.argument = parseExpression();
|
||||
semicolon();
|
||||
return finishNode(node, "ThrowStatement");
|
||||
|
||||
case _try:
|
||||
|
||||
@@ -750,6 +750,7 @@ continue to.</p> </td> <td class="code"> <
|
||||
|
||||
<span class="k">case</span> <span class="nx">_debugger</span><span class="o">:</span>
|
||||
<span class="nx">next</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">"DebuggerStatement"</span><span class="p">);</span>
|
||||
|
||||
<span class="k">case</span> <span class="nx">_do</span><span class="o">:</span>
|
||||
@@ -839,6 +840,7 @@ adding statements to.</p> </td> <td class="code">
|
||||
<span class="k">if</span> <span class="p">(</span><span class="nx">newline</span><span class="p">.</span><span class="nx">test</span><span class="p">(</span><span class="nx">input</span><span class="p">.</span><span class="nx">slice</span><span class="p">(</span><span class="nx">lastEnd</span><span class="p">,</span> <span class="nx">tokStart</span><span class="p">)))</span>
|
||||
<span class="nx">raise</span><span class="p">(</span><span class="nx">lastEnd</span><span class="p">,</span> <span class="s2">"Illegal newline after throw"</span><span class="p">);</span>
|
||||
<span class="nx">node</span><span class="p">.</span><span class="nx">argument</span> <span class="o">=</span> <span class="nx">parseExpression</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">"ThrowStatement"</span><span class="p">);</span>
|
||||
|
||||
<span class="k">case</span> <span class="nx">_try</span><span class="o">:</span>
|
||||
|
||||
@@ -21634,19 +21634,6 @@ test("throw x;", {
|
||||
line: 1,
|
||||
column: 0
|
||||
},
|
||||
end: {
|
||||
line: 1,
|
||||
column: 7
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
type: "EmptyStatement",
|
||||
loc: {
|
||||
start: {
|
||||
line: 1,
|
||||
column: 7
|
||||
},
|
||||
end: {
|
||||
line: 1,
|
||||
column: 8
|
||||
@@ -22790,19 +22777,6 @@ test("debugger;", {
|
||||
line: 1,
|
||||
column: 0
|
||||
},
|
||||
end: {
|
||||
line: 1,
|
||||
column: 8
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
type: "EmptyStatement",
|
||||
loc: {
|
||||
start: {
|
||||
line: 1,
|
||||
column: 8
|
||||
},
|
||||
end: {
|
||||
line: 1,
|
||||
column: 9
|
||||
|
||||
Reference in New Issue
Block a user