Skip to content

Commit

Permalink
Parse right-hand-side of for/of as an assignment expression (#9767)
Browse files Browse the repository at this point in the history
  • Loading branch information
danez committed Mar 26, 2019
1 parent 2867bbf commit 7f44274
Show file tree
Hide file tree
Showing 4 changed files with 9 additions and 8 deletions.
5 changes: 4 additions & 1 deletion packages/babel-parser/src/parser/statement.js
Expand Up @@ -951,7 +951,10 @@ export default class StatementParser extends ExpressionParser {
node.await = awaitAt > -1;
}
node.left = init;
node.right = this.parseExpression();
node.right =
type === "ForInStatement"
? this.parseExpression()
: this.parseMaybeAssign();
this.expect(tt.parenR);

node.body =
Expand Down
@@ -0,0 +1 @@
for (let x of y, z) {}
@@ -0,0 +1,3 @@
{
"throws": "Unexpected token, expected \")\" (1:15)"
}
8 changes: 1 addition & 7 deletions scripts/tests/test262/test262_whitelist.txt
Expand Up @@ -708,10 +708,4 @@ language/statements/for-in/dstr/array-rest-elision-invalid.js(strict mode)
language/statements/for-of/dstr/array-rest-before-elision.js(default)
language/statements/for-of/dstr/array-rest-before-elision.js(strict mode)
language/statements/for-of/dstr/array-rest-elision-invalid.js(default)
language/statements/for-of/dstr/array-rest-elision-invalid.js(strict mode)
language/statements/for-of/head-decl-no-expr.js(default)
language/statements/for-of/head-decl-no-expr.js(strict mode)
language/statements/for-of/head-expr-no-expr.js(default)
language/statements/for-of/head-expr-no-expr.js(strict mode)
language/statements/for-of/head-var-no-expr.js(default)
language/statements/for-of/head-var-no-expr.js(strict mode)
language/statements/for-of/dstr/array-rest-elision-invalid.js(strict mode)

0 comments on commit 7f44274

Please sign in to comment.