'for of' expression cannot start with 'async'

This commit is contained in:
Fabrice Bellard 2023-12-22 11:05:18 +01:00
parent 43420235d5
commit 7cefa7b121
2 changed files with 3 additions and 2 deletions

View File

@ -25787,6 +25787,9 @@ static __exception int js_parse_for_in_of(JSParseState *s, int label_name,
emit_atom(s, var_name); emit_atom(s, var_name);
emit_u16(s, fd->scope_level); emit_u16(s, fd->scope_level);
} }
} else if (!is_async && token_is_pseudo_keyword(s, JS_ATOM_async) &&
peek_token(s, FALSE) == TOK_OF) {
return js_parse_error(s, "'for of' expression cannot start with 'async'");
} else { } else {
int skip_bits; int skip_bits;
if ((s->token.val == '[' || s->token.val == '{') if ((s->token.val == '[' || s->token.val == '{')

View File

@ -18,5 +18,3 @@ test262/test/language/expressions/dynamic-import/usage-from-eval.js:26: strict m
test262/test/language/expressions/optional-chaining/optional-call-preserves-this.js:21: TypeError: cannot read property 'c' of undefined test262/test/language/expressions/optional-chaining/optional-call-preserves-this.js:21: TypeError: cannot read property 'c' of undefined
test262/test/language/expressions/optional-chaining/optional-call-preserves-this.js:15: strict mode: TypeError: cannot read property '_b' of undefined test262/test/language/expressions/optional-chaining/optional-call-preserves-this.js:15: strict mode: TypeError: cannot read property '_b' of undefined
test262/test/language/global-code/script-decl-lex-var-declared-via-eval-sloppy.js:13: Test262Error: variable Expected a SyntaxError to be thrown but no exception was thrown at all test262/test/language/global-code/script-decl-lex-var-declared-via-eval-sloppy.js:13: Test262Error: variable Expected a SyntaxError to be thrown but no exception was thrown at all
test262/test/language/statements/for-of/head-lhs-async-invalid.js:14: unexpected error type: Test262: This statement should not be evaluated.
test262/test/language/statements/for-of/head-lhs-async-invalid.js:14: strict mode: unexpected error type: Test262: This statement should not be evaluated.