Add missing semicolon() calls to debugger and throw statement parsers

Issue #5
This commit is contained in:
Marijn Haverbeke
2012-11-22 09:48:01 +01:00
parent 74536b9eb7
commit 5771c8b4b2
3 changed files with 4 additions and 26 deletions

View File

@@ -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:

View File

@@ -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">&quot;DebuggerStatement&quot;</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">&quot;Illegal newline after throw&quot;</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">&quot;ThrowStatement&quot;</span><span class="p">);</span>
<span class="k">case</span> <span class="nx">_try</span><span class="o">:</span>

View File

@@ -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