Fix bug causing comments after 'use strict' to be handled twice
Closes #76
This commit is contained in:
parent
cb79f13d3d
commit
dd456e3ad5
2
acorn.js
2
acorn.js
@ -976,7 +976,7 @@
|
||||
|
||||
function setStrict(strct) {
|
||||
strict = strct;
|
||||
tokPos = lastEnd;
|
||||
tokPos = tokStart;
|
||||
if (options.locations) {
|
||||
while (tokPos < tokLineStart) {
|
||||
tokLineStart = input.lastIndexOf("\n", tokLineStart - 2) + 1;
|
||||
|
||||
@ -697,7 +697,7 @@ precedence levels that JavaScript defines.</p> </td> <td
|
||||
<span class="p">}</span></pre></div> </td> </tr> <tr id="section-82"> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-82">¶</a> </div> <p>Enter strict mode. Re-reads the next token to please pedantic
|
||||
tests ("use strict"; 010; -- should fail).</p> </td> <td class="code"> <div class="highlight"><pre> <span class="kd">function</span> <span class="nx">setStrict</span><span class="p">(</span><span class="nx">strct</span><span class="p">)</span> <span class="p">{</span>
|
||||
<span class="nx">strict</span> <span class="o">=</span> <span class="nx">strct</span><span class="p">;</span>
|
||||
<span class="nx">tokPos</span> <span class="o">=</span> <span class="nx">lastEnd</span><span class="p">;</span>
|
||||
<span class="nx">tokPos</span> <span class="o">=</span> <span class="nx">tokStart</span><span class="p">;</span>
|
||||
<span class="k">if</span> <span class="p">(</span><span class="nx">options</span><span class="p">.</span><span class="nx">locations</span><span class="p">)</span> <span class="p">{</span>
|
||||
<span class="k">while</span> <span class="p">(</span><span class="nx">tokPos</span> <span class="o"><</span> <span class="nx">tokLineStart</span><span class="p">)</span> <span class="p">{</span>
|
||||
<span class="nx">tokLineStart</span> <span class="o">=</span> <span class="nx">input</span><span class="p">.</span><span class="nx">lastIndexOf</span><span class="p">(</span><span class="s2">"\n"</span><span class="p">,</span> <span class="nx">tokLineStart</span> <span class="o">-</span> <span class="mi">2</span><span class="p">)</span> <span class="o">+</span> <span class="mi">1</span><span class="p">;</span>
|
||||
|
||||
@ -26956,3 +26956,10 @@ testFail("throw\n10;", "Illegal newline after throw (1:5)");
|
||||
}
|
||||
);
|
||||
})();
|
||||
|
||||
(function() {
|
||||
var comments = 0;
|
||||
testAssert("\nfunction plop() {\n'use strict';\n/* Comment */\n}", function() {
|
||||
if (comments != 1) return "Comment after strict counted twice.";
|
||||
}, {onComment: function() {++comments;}});
|
||||
})();
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user