Parse right-hand-side of for/of as an assignment expression (#9767)
This commit is contained in:
parent
2867bbf195
commit
7f4427432c
@ -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 =
|
||||
|
||||
1
packages/babel-parser/test/fixtures/es2015/for-of/invalid-expr/input.js
vendored
Normal file
1
packages/babel-parser/test/fixtures/es2015/for-of/invalid-expr/input.js
vendored
Normal file
@ -0,0 +1 @@
|
||||
for (let x of y, z) {}
|
||||
3
packages/babel-parser/test/fixtures/es2015/for-of/invalid-expr/options.json
vendored
Normal file
3
packages/babel-parser/test/fixtures/es2015/for-of/invalid-expr/options.json
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
{
|
||||
"throws": "Unexpected token, expected \")\" (1:15)"
|
||||
}
|
||||
@ -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)
|
||||
Loading…
x
Reference in New Issue
Block a user