From 7cefa7b121c8a800969672853b035278ebd6b24c Mon Sep 17 00:00:00 2001 From: Fabrice Bellard Date: Fri, 22 Dec 2023 11:05:18 +0100 Subject: [PATCH] 'for of' expression cannot start with 'async' --- quickjs.c | 3 +++ test262_errors.txt | 2 -- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/quickjs.c b/quickjs.c index a01b5cc..c80a300 100644 --- a/quickjs.c +++ b/quickjs.c @@ -25787,6 +25787,9 @@ static __exception int js_parse_for_in_of(JSParseState *s, int label_name, emit_atom(s, var_name); 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 { int skip_bits; if ((s->token.val == '[' || s->token.val == '{') diff --git a/test262_errors.txt b/test262_errors.txt index 1e4ade1..77ee6cc 100644 --- a/test262_errors.txt +++ b/test262_errors.txt @@ -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: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/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.