Skip to content

Commit

Permalink
Disallow newline after throw
Browse files Browse the repository at this point in the history
Closes babel#11
  • Loading branch information
marijnh authored and JacopKane committed Jan 11, 2018
1 parent 0efeaa1 commit 6307c9a
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 3 deletions.
2 changes: 2 additions & 0 deletions packages/babylon/acorn.js
Expand Up @@ -1104,6 +1104,8 @@

case _throw:
next();
if (newline.test(input.slice(lastEnd, tokStart)))
raise(lastEnd, "Illegal newline after throw");
node.argument = parseExpression();
return finishNode(node, "ThrowStatement");

Expand Down
2 changes: 2 additions & 0 deletions packages/babylon/index.html
Expand Up @@ -776,6 +776,8 @@

<span class="k">case</span> <span class="nx">_throw</span><span class="o">:</span>
<span class="nx">next</span><span class="p">();</span>
<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="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>

Expand Down
5 changes: 2 additions & 3 deletions packages/babylon/test/tests.js
Expand Up @@ -26269,9 +26269,6 @@ testFail("throw",
testFail("throw;",
"Unexpected token (1:5)");

testFail("throw\n",
"Unexpected token (2:0)");

testFail("for (var i, i2 in {});",
"Unexpected token (1:15)");

Expand Down Expand Up @@ -26603,3 +26600,5 @@ testFail("(function a(package) { \"use strict\"; })",
"Defining 'package' in strict mode (1:12)");

testFail("var this = 10;", "Unexpected token (1:4)");

testFail("throw\n10;", "Illegal newline after throw (1:5)");

0 comments on commit 6307c9a

Please sign in to comment.