Navigation Menu

Skip to content

Commit

Permalink
[[FIX]] Correct ASI for C-style for loops
Browse files Browse the repository at this point in the history
  • Loading branch information
jugglinmike authored and rwaldron committed May 5, 2020
1 parent 3eb1b02 commit ac232a5
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 25 deletions.
4 changes: 2 additions & 2 deletions src/jshint.js
Expand Up @@ -5216,7 +5216,7 @@ var JSHINT = (function() {
if (foreachtok) {
error("E045", foreachtok);
}
nolinebreak(state.tokens.curr);

advance(";");
if (decl && decl.first && decl.first[0]) {
if (decl.value === "const" && !decl.hasInitializer) {
Expand All @@ -5234,7 +5234,7 @@ var JSHINT = (function() {
if (state.tokens.next.id !== ";") {
checkCondAssignment(expression(context, 0));
}
nolinebreak(state.tokens.curr);

advance(";");
if (state.tokens.next.id === ";") {
error("E021", state.tokens.next, ")", ";");
Expand Down
23 changes: 0 additions & 23 deletions tests/test262/expectations.txt
Expand Up @@ -123,28 +123,6 @@ test/language/asi/S7.9_A10_T10.js(default)
test/language/asi/S7.9_A10_T12.js(default)
test/language/asi/S7.9_A10_T7.js(default)
test/language/asi/S7.9_A10_T9.js(default)
test/language/asi/S7.9_A6.1_T10.js(default)
test/language/asi/S7.9_A6.1_T10.js(strict mode)
test/language/asi/S7.9_A6.1_T11.js(default)
test/language/asi/S7.9_A6.1_T11.js(strict mode)
test/language/asi/S7.9_A6.1_T12.js(default)
test/language/asi/S7.9_A6.1_T12.js(strict mode)
test/language/asi/S7.9_A6.1_T13.js(default)
test/language/asi/S7.9_A6.1_T13.js(strict mode)
test/language/asi/S7.9_A6.1_T2.js(default)
test/language/asi/S7.9_A6.1_T2.js(strict mode)
test/language/asi/S7.9_A6.1_T3.js(default)
test/language/asi/S7.9_A6.1_T3.js(strict mode)
test/language/asi/S7.9_A6.1_T4.js(default)
test/language/asi/S7.9_A6.1_T4.js(strict mode)
test/language/asi/S7.9_A6.1_T5.js(default)
test/language/asi/S7.9_A6.1_T5.js(strict mode)
test/language/asi/S7.9_A6.1_T7.js(default)
test/language/asi/S7.9_A6.1_T7.js(strict mode)
test/language/asi/S7.9_A6.1_T8.js(default)
test/language/asi/S7.9_A6.1_T8.js(strict mode)
test/language/asi/S7.9_A6.1_T9.js(default)
test/language/asi/S7.9_A6.1_T9.js(strict mode)
test/language/global-code/export.js(default)
test/language/global-code/export.js(strict mode)
test/language/global-code/import.js(default)
Expand Down Expand Up @@ -263,7 +241,6 @@ test/language/statements/for-in/head-lhs-let.js(default)
test/language/statements/for/decl-cls.js(default)
test/language/statements/for/decl-cls.js(strict mode)
test/language/statements/for/head-lhs-let.js(default)
test/language/statements/for/scope-body-var-none.js(default)
test/language/statements/if/if-cls-else-cls.js(default)
test/language/statements/if/if-cls-else-cls.js(strict mode)
test/language/statements/if/if-cls-else-stmt.js(default)
Expand Down
16 changes: 16 additions & 0 deletions tests/unit/parser.js
Expand Up @@ -6182,6 +6182,22 @@ exports.ASI.followingBreak = function (test) {
test.done();
};

exports.ASI.cStyleFor = function (test) {
TestRun(test, "following first expression")
.test([
"for (false",
";;){}"
]);

TestRun(test, "following second expression")
.test([
"for (false;",
";){}"
]);

test.done();
};

exports["fat arrows support"] = function (test) {
var code = [
"let empty = () => {};",
Expand Down

0 comments on commit ac232a5

Please sign in to comment.