Parse right-hand-side of for/of as an assignment expression (#9767)

This commit is contained in:
Daniel Tschinder 2019-03-25 18:14:56 -07:00 committed by GitHub
parent 2867bbf195
commit 7f4427432c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 9 additions and 8 deletions

View File

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

View File

@ -0,0 +1 @@
for (let x of y, z) {}

View File

@ -0,0 +1,3 @@
{
"throws": "Unexpected token, expected \")\" (1:15)"
}

View File

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