From 93b06e948a46345e9567fedc9f58c104f8c650b0 Mon Sep 17 00:00:00 2001 From: Boshen Date: Sun, 12 Mar 2023 23:21:28 +0800 Subject: [PATCH] feat(ast_parser): check `await` and `yield` identifier error --- .../src/rules/early_error/javascript.rs | 14 - crates/oxc_parser/src/diagnostics.rs | 4 +- crates/oxc_parser/src/js/expression.rs | 14 + tasks/coverage/babel.snap | 134 +- tasks/coverage/test262.snap | 1528 ++++++++++++++++- tasks/coverage/typescript.snap | 261 ++- 6 files changed, 1834 insertions(+), 121 deletions(-) diff --git a/crates/oxc_linter/src/rules/early_error/javascript.rs b/crates/oxc_linter/src/rules/early_error/javascript.rs index 93ebc02d8..3dec566cf 100644 --- a/crates/oxc_linter/src/rules/early_error/javascript.rs +++ b/crates/oxc_linter/src/rules/early_error/javascript.rs @@ -60,25 +60,11 @@ impl Rule for EarlyErrorJavaScript { struct ReservedKeyword(Atom, #[label] Span); fn check_identifier<'a>(name: &Atom, span: Span, node: &AstNode<'a>, ctx: &LintContext<'a>) { - // if span.ctx.has_ambient() { - // return None; - // } - - // It is a Syntax Error if this production has an [Await] parameter. - // if *name == "await" && span.ctx.has_await() { - // return Some(Diagnostic::IdentifierAsync("await", span.range())); - // } - // It is a Syntax Error if the goal symbol of the syntactic grammar is Module and the StringValue of IdentifierName is "await". if *name == "await" && ctx.source_type().is_module() { return ctx.diagnostic(ReservedKeyword(name.clone(), span)); } - // It is a Syntax Error if this production has a [Yield] parameter. - // if *name == "yield" && span.ctx.has_yield() { - // return Some(Diagnostic::IdentifierGenerator("yield", span.range())); - // } - // It is a Syntax Error if this phrase is contained in strict mode code and the StringValue of IdentifierName is: "implements", "interface", "let", "package", "private", "protected", "public", "static", or "yield". if ctx.strict_mode(node) && STRICT_MODE_NAMES.contains(name.as_str()) { ctx.diagnostic(ReservedKeyword(name.clone(), span)); diff --git a/crates/oxc_parser/src/diagnostics.rs b/crates/oxc_parser/src/diagnostics.rs index c8e420fab..eb6222005 100644 --- a/crates/oxc_parser/src/diagnostics.rs +++ b/crates/oxc_parser/src/diagnostics.rs @@ -426,12 +426,12 @@ pub struct ConstructorAsync(#[label("Constructor can't be an async method")] pub #[derive(Debug, Error, Diagnostic)] #[error("Cannot use `{0}` as an identifier in an async context")] #[diagnostic()] -pub struct IdentifierAsync(&'static str, #[label("{0} cannot be used here")] pub Span); +pub struct IdentifierAsync(pub &'static str, #[label] pub Span); #[derive(Debug, Error, Diagnostic)] #[error("Cannot use `{0}` as an identifier in a generator context")] #[diagnostic()] -pub struct IdentifierGenerator(&'static str, #[label("{0} cannot be used here")] pub Span); +pub struct IdentifierGenerator(pub &'static str, #[label] pub Span); #[derive(Debug, Error, Diagnostic)] #[error("Constructor can't be a generator")] diff --git a/crates/oxc_parser/src/js/expression.rs b/crates/oxc_parser/src/js/expression.rs index 170fd0522..307f98de0 100644 --- a/crates/oxc_parser/src/js/expression.rs +++ b/crates/oxc_parser/src/js/expression.rs @@ -60,6 +60,7 @@ impl<'a> Parser<'a> { return self.unexpected(); } let (span, name) = self.parse_identifier_kind(Kind::Ident); + self.check_identifier(span, &name); Ok(IdentifierReference { span, name }) } @@ -69,6 +70,7 @@ impl<'a> Parser<'a> { return self.unexpected(); } let (span, name) = self.parse_identifier_kind(Kind::Ident); + self.check_identifier(span, &name); Ok(BindingIdentifier { span, name }) } @@ -77,6 +79,7 @@ impl<'a> Parser<'a> { return self.unexpected(); } let (span, name) = self.parse_identifier_kind(Kind::Ident); + self.check_identifier(span, &name); Ok(LabelIdentifier { span, name }) } @@ -104,6 +107,17 @@ impl<'a> Parser<'a> { (self.end_span(span), name) } + fn check_identifier(&mut self, span: Span, name: &Atom) { + // It is a Syntax Error if this production has an [Await] parameter. + if *name == "await" && self.ctx.has_await() { + self.error(diagnostics::IdentifierAsync("await", span)); + } + // It is a Syntax Error if this production has a [Yield] parameter. + if *name == "yield" && self.ctx.has_yield() { + self.error(diagnostics::IdentifierGenerator("yield", span)); + } + } + /// Section `https://tc39.es/ecma262/#prod-PrivateIdentifier` /// `PrivateIdentifier` :: /// # `IdentifierName` diff --git a/tasks/coverage/babel.snap b/tasks/coverage/babel.snap index 5fae1bc72..97029a3e8 100644 --- a/tasks/coverage/babel.snap +++ b/tasks/coverage/babel.snap @@ -1,7 +1,7 @@ Babel Summary: AST Parsed : 2053/2069 (99.23%) Positive Passed: 2053/2069 (99.23%) -Negative Passed: 1043/1502 (69.44%) +Negative Passed: 1059/1502 (70.51%) Expect Syntax Error: "annex-b/disabled/1.1-html-comments-close/input.js" Expect Syntax Error: "annex-b/disabled/3.1-sloppy-labeled-functions-if-body/input.js" Expect Syntax Error: "annex-b/disabled/3.1-sloppy-labeled-functions-multiple-labels/input.js" @@ -145,16 +145,10 @@ Expect Syntax Error: "es2015/yield/parameter-default-inside-arrow-inside-generat Expect Syntax Error: "es2015/yield/parameter-default-inside-arrow-inside-generator-2/input.js" Expect Syntax Error: "es2015/yield/parameter-default-inside-arrow-inside-generator-3/input.js" Expect Syntax Error: "es2015/yield/parameter-default-inside-arrow-inside-generator-4/input.js" -Expect Syntax Error: "es2015/yield/parameter-default-inside-arrow-inside-generator-5/input.js" Expect Syntax Error: "es2015/yield/parameter-default-inside-arrow-inside-generator-6/input.js" Expect Syntax Error: "es2015/yield/parameter-default-inside-generator-method/input.js" Expect Syntax Error: "es2015/yield/parameter-default-inside-generator/input.js" Expect Syntax Error: "es2015/yield/parameter-default-strict/input.js" -Expect Syntax Error: "es2015/yield/parameter-name-arrow-inside-generator-1/input.js" -Expect Syntax Error: "es2015/yield/parameter-name-arrow-inside-generator-3/input.js" -Expect Syntax Error: "es2015/yield/parameter-name-arrow-no-parens-inside-generator/input.js" -Expect Syntax Error: "es2015/yield/parameter-name-generator-method/input.js" -Expect Syntax Error: "es2015/yield/parameter-name-generator/input.js" Expect Syntax Error: "es2015/yield/parameter-name-strict-body/input.js" Expect Syntax Error: "es2015/yield/parameter-name-strict/input.js" Expect Syntax Error: "es2015/yield/yield-star-parameter-default-inside-generator/input.js" @@ -172,7 +166,6 @@ Expect Syntax Error: "es2016/simple-parameter-list/object-pattern/input.js" Expect Syntax Error: "es2016/simple-parameter-list/rest/input.js" Expect Syntax Error: "es2017/async-functions/9/input.js" Expect Syntax Error: "es2017/async-functions/allow-await-outside-function-throw/input.js" -Expect Syntax Error: "es2017/async-functions/async-await-as-arrow-binding-identifier/input.js" Expect Syntax Error: "es2017/async-functions/await-async-function-expression-name/input.js" Expect Syntax Error: "es2017/async-functions/await-binding-inside-arrow-params-inside-async-arrow-params/input.js" Expect Syntax Error: "es2017/async-functions/await-function-declaration-name-inside-async-function/input.js" @@ -220,20 +213,11 @@ Expect Syntax Error: "esprima/es2015-meta-property/unknown-property/input.js" Expect Syntax Error: "esprima/es2015-yield/invalid-yield-binding-property/input.js" Expect Syntax Error: "esprima/es2015-yield/invalid-yield-expression/input.js" Expect Syntax Error: "esprima/es2015-yield/invalid-yield-generator-arrow-default/input.js" -Expect Syntax Error: "esprima/es2015-yield/invalid-yield-generator-arrow-parameter/input.js" -Expect Syntax Error: "esprima/es2015-yield/invalid-yield-generator-arrow-parameters/input.js" -Expect Syntax Error: "esprima/es2015-yield/invalid-yield-generator-catch/input.js" Expect Syntax Error: "esprima/es2015-yield/invalid-yield-generator-declaration/input.js" Expect Syntax Error: "esprima/es2015-yield/invalid-yield-generator-expression-name/input.js" -Expect Syntax Error: "esprima/es2015-yield/invalid-yield-generator-expression-parameter/input.js" -Expect Syntax Error: "esprima/es2015-yield/invalid-yield-generator-expression-rest/input.js" Expect Syntax Error: "esprima/es2015-yield/invalid-yield-generator-function-declaration/input.js" -Expect Syntax Error: "esprima/es2015-yield/invalid-yield-generator-lexical-declaration/input.js" -Expect Syntax Error: "esprima/es2015-yield/invalid-yield-generator-parameter/input.js" -Expect Syntax Error: "esprima/es2015-yield/invalid-yield-generator-rest/input.js" Expect Syntax Error: "esprima/es2015-yield/invalid-yield-generator-strict-function-expression/input.js" Expect Syntax Error: "esprima/es2015-yield/invalid-yield-generator-strict-function-parameter/input.js" -Expect Syntax Error: "esprima/es2015-yield/invalid-yield-generator-variable-declaration/input.js" Expect Syntax Error: "esprima/es2015-yield/invalid-yield-strict-array-pattern/input.js" Expect Syntax Error: "esprima/es2015-yield/invalid-yield-strict-arrow-parameter-default/input.js" Expect Syntax Error: "esprima/es2015-yield/invalid-yield-strict-arrow-parameter-name/input.js" @@ -3525,6 +3509,12 @@ Expect to Parse: "typescript/types/const-type-parameters/input.ts" · ───── ╰──── + × Cannot use `await` as an identifier in an async context + ╭─[es2015/uncategorised/359/input.js:1:1] + 1 │ const await = foo(); + · ───── + ╰──── + × The keyword 'await' is reserved ╭─[es2015/uncategorised/361/input.js:1:1] 1 │ const { await } = foo(); @@ -3549,6 +3539,12 @@ Expect to Parse: "typescript/types/const-type-parameters/input.ts" · ───── ╰──── + × Cannot use `await` as an identifier in an async context + ╭─[es2015/uncategorised/367/input.js:1:1] + 1 │ class await {} + · ───── + ╰──── + × Unexpected token ╭─[es2015/uncategorised/368/input.js:1:1] 1 │ enum = foo(); @@ -3727,6 +3723,22 @@ Expect to Parse: "typescript/types/const-type-parameters/input.ts" 3 │ } ╰──── + × Cannot use `yield` as an identifier in a generator context + ╭─[es2015/yield/parameter-default-inside-arrow-inside-generator-5/input.js:1:1] + 1 │ function* fn() { + 2 │ (x = (yield) => {}) => {}; + · ───── + 3 │ } + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[es2015/yield/parameter-name-arrow-inside-generator-1/input.js:1:1] + 1 │ function* fn() { + 2 │ (yield) => {}; + · ───── + 3 │ } + ╰──── + × Automatic Semicolon Insertion ╭─[es2015/yield/parameter-name-arrow-inside-generator-2/input.js:1:1] 1 │ function* fn() { @@ -3737,6 +3749,34 @@ Expect to Parse: "typescript/types/const-type-parameters/input.ts" ╰──── help: Try insert a semicolon here + × Cannot use `yield` as an identifier in a generator context + ╭─[es2015/yield/parameter-name-arrow-inside-generator-3/input.js:1:1] + 1 │ function* fn() { + 2 │ (a, b, yield) => {}; + · ───── + 3 │ } + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[es2015/yield/parameter-name-arrow-no-parens-inside-generator/input.js:1:1] + 1 │ function* fn() { + 2 │ yield => {}; + · ───── + 3 │ } + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[es2015/yield/parameter-name-generator-method/input.js:1:1] + 1 │ ({ *method(yield) {} }); + · ───── + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[es2015/yield/parameter-name-generator/input.js:1:1] + 1 │ function* fn(yield) {} + · ───── + ╰──── + × Unexpected exponentiation expression ╭─[es2016/exponentiation-operator/10/input.js:1:1] 1 │ -5 ** 6; @@ -3952,6 +3992,12 @@ Expect to Parse: "typescript/types/const-type-parameters/input.ts" ╰──── help: Try insert a semicolon here + × Cannot use `await` as an identifier in an async context + ╭─[es2017/async-functions/async-await-as-arrow-binding-identifier/input.js:1:1] + 1 │ async await => {} + · ───── + ╰──── + × Automatic Semicolon Insertion ╭─[es2017/async-functions/async-function-and-non-bmp-character/input.js:1:1] 1 │ async function𝐬 f() {} @@ -6521,18 +6567,72 @@ Expect to Parse: "typescript/types/const-type-parameters/input.ts" · ╰── Unterminated string ╰──── + × Cannot use `yield` as an identifier in a generator context + ╭─[esprima/es2015-yield/invalid-yield-generator-arrow-parameter/input.js:1:1] + 1 │ function *g(){ (yield) => 42 } + · ───── + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[esprima/es2015-yield/invalid-yield-generator-arrow-parameters/input.js:1:1] + 1 │ function *g(){ (a, b, c, yield) => 42 } + · ───── + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[esprima/es2015-yield/invalid-yield-generator-catch/input.js:1:1] + 1 │ function *g() { try {} catch (yield) {} } + · ───── + ╰──── + × The keyword 'yield' is reserved ╭─[esprima/es2015-yield/invalid-yield-generator-export-default/input.js:1:1] 1 │ export default function *yield() {} · ───── ╰──── + × Cannot use `yield` as an identifier in a generator context + ╭─[esprima/es2015-yield/invalid-yield-generator-expression-parameter/input.js:1:1] + 1 │ (function *(yield){}) + · ───── + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[esprima/es2015-yield/invalid-yield-generator-expression-rest/input.js:1:1] + 1 │ (function *(x, ...yield){}) + · ───── + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[esprima/es2015-yield/invalid-yield-generator-lexical-declaration/input.js:1:1] + 1 │ function *g() { let yield; } + · ───── + ╰──── + × Unexpected token ╭─[esprima/es2015-yield/invalid-yield-generator-member-expression/input.js:1:1] 1 │ function *g() { return yield.x; } · ─ ╰──── + × Cannot use `yield` as an identifier in a generator context + ╭─[esprima/es2015-yield/invalid-yield-generator-parameter/input.js:1:1] + 1 │ function *g(yield){} + · ───── + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[esprima/es2015-yield/invalid-yield-generator-rest/input.js:1:1] + 1 │ function *g(a, b, c, ...yield){} + · ───── + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[esprima/es2015-yield/invalid-yield-generator-variable-declaration/input.js:1:1] + 1 │ function *g() { var yield; } + · ───── + ╰──── + × Invalid Character ` ` ╭─[esprima/expression-primary-array/migrated_0012/input.js:1:1] 1 │ \u2163\u2161\u200A diff --git a/tasks/coverage/test262.snap b/tasks/coverage/test262.snap index 11ceb7c31..b09e95815 100644 --- a/tasks/coverage/test262.snap +++ b/tasks/coverage/test262.snap @@ -1,7 +1,7 @@ Test262 Summary: AST Parsed : 44015/44034 (99.96%) Positive Passed: 44015/44034 (99.96%) -Negative Passed: 3158/3917 (80.62%) +Negative Passed: 3229/3917 (82.44%) Expect Syntax Error: "language/block-scope/syntax/function-declarations/in-statement-position-do-statement-while-expression.js" Expect Syntax Error: "language/block-scope/syntax/function-declarations/in-statement-position-for-statement.js" Expect Syntax Error: "language/block-scope/syntax/function-declarations/in-statement-position-if-expression-statement-else-statement.js" @@ -31,7 +31,6 @@ Expect Syntax Error: "language/expressions/arrow-function/object-destructuring-p Expect Syntax Error: "language/expressions/arrow-function/param-dflt-yield-expr.js" Expect Syntax Error: "language/expressions/arrow-function/params-duplicate.js" Expect Syntax Error: "language/expressions/arrow-function/rest-param-strict-body.js" -Expect Syntax Error: "language/expressions/arrow-function/static-init-await-binding.js" Expect Syntax Error: "language/expressions/arrow-function/syntax/early-errors/arrowparameters-bindingidentifier-no-arguments.js" Expect Syntax Error: "language/expressions/arrow-function/syntax/early-errors/arrowparameters-bindingidentifier-no-eval.js" Expect Syntax Error: "language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-arguments.js" @@ -48,33 +47,22 @@ Expect Syntax Error: "language/expressions/arrow-function/syntax/early-errors/ar Expect Syntax Error: "language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-duplicates.js" Expect Syntax Error: "language/expressions/arrow-function/syntax/early-errors/arrowparameters-cover-no-eval.js" Expect Syntax Error: "language/expressions/arrow-function/syntax/early-errors/use-strict-with-non-simple-param.js" -Expect Syntax Error: "language/expressions/assignment/dstr/obj-id-identifier-yield-expr.js" Expect Syntax Error: "language/expressions/assignmenttargettype/direct-yieldexpression-0.js" Expect Syntax Error: "language/expressions/async-arrow-function/array-destructuring-param-strict-body.js" -Expect Syntax Error: "language/expressions/async-arrow-function/await-as-binding-identifier-escaped.js" -Expect Syntax Error: "language/expressions/async-arrow-function/await-as-binding-identifier.js" -Expect Syntax Error: "language/expressions/async-arrow-function/await-as-param-ident-nested-arrow-parameter-position.js" Expect Syntax Error: "language/expressions/async-arrow-function/await-as-param-nested-arrow-body-position.js" -Expect Syntax Error: "language/expressions/async-arrow-function/await-as-param-nested-arrow-parameter-position.js" -Expect Syntax Error: "language/expressions/async-arrow-function/await-as-param-rest-nested-arrow-parameter-position.js" Expect Syntax Error: "language/expressions/async-arrow-function/dflt-params-duplicates.js" Expect Syntax Error: "language/expressions/async-arrow-function/dflt-params-rest.js" Expect Syntax Error: "language/expressions/async-arrow-function/early-errors-arrow-NSPL-with-USD.js" Expect Syntax Error: "language/expressions/async-arrow-function/early-errors-arrow-arguments-in-formal-parameters.js" -Expect Syntax Error: "language/expressions/async-arrow-function/early-errors-arrow-await-in-formals.js" Expect Syntax Error: "language/expressions/async-arrow-function/early-errors-arrow-duplicate-parameters.js" Expect Syntax Error: "language/expressions/async-arrow-function/early-errors-arrow-eval-in-formal-parameters.js" Expect Syntax Error: "language/expressions/async-arrow-function/object-destructuring-param-strict-body.js" Expect Syntax Error: "language/expressions/async-arrow-function/rest-param-strict-body.js" -Expect Syntax Error: "language/expressions/async-function/await-as-binding-identifier-escaped.js" -Expect Syntax Error: "language/expressions/async-function/await-as-binding-identifier.js" Expect Syntax Error: "language/expressions/async-function/early-errors-expression-NSPL-with-USD.js" Expect Syntax Error: "language/expressions/async-function/early-errors-expression-binding-identifier-arguments.js" Expect Syntax Error: "language/expressions/async-function/early-errors-expression-binding-identifier-eval.js" Expect Syntax Error: "language/expressions/async-function/early-errors-expression-eval-in-formal-parameters.js" Expect Syntax Error: "language/expressions/async-function/named-array-destructuring-param-strict-body.js" -Expect Syntax Error: "language/expressions/async-function/named-await-as-binding-identifier-escaped.js" -Expect Syntax Error: "language/expressions/async-function/named-await-as-binding-identifier.js" Expect Syntax Error: "language/expressions/async-function/named-dflt-params-duplicates.js" Expect Syntax Error: "language/expressions/async-function/named-dflt-params-rest.js" Expect Syntax Error: "language/expressions/async-function/named-object-destructuring-param-strict-body.js" @@ -85,8 +73,6 @@ Expect Syntax Error: "language/expressions/async-function/nameless-dflt-params-r Expect Syntax Error: "language/expressions/async-function/nameless-object-destructuring-param-strict-body.js" Expect Syntax Error: "language/expressions/async-function/nameless-rest-param-strict-body.js" Expect Syntax Error: "language/expressions/async-generator/array-destructuring-param-strict-body.js" -Expect Syntax Error: "language/expressions/async-generator/await-as-binding-identifier-escaped.js" -Expect Syntax Error: "language/expressions/async-generator/await-as-binding-identifier.js" Expect Syntax Error: "language/expressions/async-generator/dflt-params-duplicates.js" Expect Syntax Error: "language/expressions/async-generator/dflt-params-rest.js" Expect Syntax Error: "language/expressions/async-generator/dstr/ary-ptrn-rest-init-ary.js" @@ -108,11 +94,8 @@ Expect Syntax Error: "language/expressions/async-generator/early-errors-expressi Expect Syntax Error: "language/expressions/async-generator/early-errors-expression-binding-identifier-eval.js" Expect Syntax Error: "language/expressions/async-generator/early-errors-expression-eval-in-formal-parameters.js" Expect Syntax Error: "language/expressions/async-generator/early-errors-expression-formals-contains-await-expr.js" -Expect Syntax Error: "language/expressions/async-generator/early-errors-expression-formals-contains-await.js" Expect Syntax Error: "language/expressions/async-generator/early-errors-expression-formals-contains-yield-expr.js" Expect Syntax Error: "language/expressions/async-generator/named-array-destructuring-param-strict-body.js" -Expect Syntax Error: "language/expressions/async-generator/named-await-as-binding-identifier-escaped.js" -Expect Syntax Error: "language/expressions/async-generator/named-await-as-binding-identifier.js" Expect Syntax Error: "language/expressions/async-generator/named-dflt-params-duplicates.js" Expect Syntax Error: "language/expressions/async-generator/named-dflt-params-rest.js" Expect Syntax Error: "language/expressions/async-generator/named-object-destructuring-param-strict-body.js" @@ -121,29 +104,21 @@ Expect Syntax Error: "language/expressions/async-generator/object-destructuring- Expect Syntax Error: "language/expressions/async-generator/rest-param-strict-body.js" Expect Syntax Error: "language/expressions/await/await-BindingIdentifier-nested.js" Expect Syntax Error: "language/expressions/class/async-gen-method-static/array-destructuring-param-strict-body.js" -Expect Syntax Error: "language/expressions/class/async-gen-method-static/await-as-binding-identifier-escaped.js" -Expect Syntax Error: "language/expressions/class/async-gen-method-static/await-as-binding-identifier.js" Expect Syntax Error: "language/expressions/class/async-gen-method-static/dflt-params-duplicates.js" Expect Syntax Error: "language/expressions/class/async-gen-method-static/dflt-params-rest.js" Expect Syntax Error: "language/expressions/class/async-gen-method-static/object-destructuring-param-strict-body.js" Expect Syntax Error: "language/expressions/class/async-gen-method-static/rest-param-strict-body.js" Expect Syntax Error: "language/expressions/class/async-gen-method/array-destructuring-param-strict-body.js" -Expect Syntax Error: "language/expressions/class/async-gen-method/await-as-binding-identifier-escaped.js" -Expect Syntax Error: "language/expressions/class/async-gen-method/await-as-binding-identifier.js" Expect Syntax Error: "language/expressions/class/async-gen-method/dflt-params-duplicates.js" Expect Syntax Error: "language/expressions/class/async-gen-method/dflt-params-rest.js" Expect Syntax Error: "language/expressions/class/async-gen-method/object-destructuring-param-strict-body.js" Expect Syntax Error: "language/expressions/class/async-gen-method/rest-param-strict-body.js" Expect Syntax Error: "language/expressions/class/async-method-static/array-destructuring-param-strict-body.js" -Expect Syntax Error: "language/expressions/class/async-method-static/await-as-binding-identifier-escaped.js" -Expect Syntax Error: "language/expressions/class/async-method-static/await-as-binding-identifier.js" Expect Syntax Error: "language/expressions/class/async-method-static/dflt-params-duplicates.js" Expect Syntax Error: "language/expressions/class/async-method-static/dflt-params-rest.js" Expect Syntax Error: "language/expressions/class/async-method-static/object-destructuring-param-strict-body.js" Expect Syntax Error: "language/expressions/class/async-method-static/rest-param-strict-body.js" Expect Syntax Error: "language/expressions/class/async-method/array-destructuring-param-strict-body.js" -Expect Syntax Error: "language/expressions/class/async-method/await-as-binding-identifier-escaped.js" -Expect Syntax Error: "language/expressions/class/async-method/await-as-binding-identifier.js" Expect Syntax Error: "language/expressions/class/async-method/dflt-params-duplicates.js" Expect Syntax Error: "language/expressions/class/async-method/dflt-params-rest.js" Expect Syntax Error: "language/expressions/class/async-method/object-destructuring-param-strict-body.js" @@ -220,14 +195,6 @@ Expect Syntax Error: "language/expressions/class/dstr/private-meth-static-ary-pt Expect Syntax Error: "language/expressions/class/dstr/private-meth-static-dflt-ary-ptrn-rest-init-ary.js" Expect Syntax Error: "language/expressions/class/dstr/private-meth-static-dflt-ary-ptrn-rest-init-id.js" Expect Syntax Error: "language/expressions/class/dstr/private-meth-static-dflt-ary-ptrn-rest-init-obj.js" -Expect Syntax Error: "language/expressions/class/elements/async-gen-private-method-static/await-as-binding-identifier-escaped.js" -Expect Syntax Error: "language/expressions/class/elements/async-gen-private-method-static/await-as-binding-identifier.js" -Expect Syntax Error: "language/expressions/class/elements/async-gen-private-method/await-as-binding-identifier-escaped.js" -Expect Syntax Error: "language/expressions/class/elements/async-gen-private-method/await-as-binding-identifier.js" -Expect Syntax Error: "language/expressions/class/elements/async-private-method-static/await-as-binding-identifier-escaped.js" -Expect Syntax Error: "language/expressions/class/elements/async-private-method-static/await-as-binding-identifier.js" -Expect Syntax Error: "language/expressions/class/elements/async-private-method/await-as-binding-identifier-escaped.js" -Expect Syntax Error: "language/expressions/class/elements/async-private-method/await-as-binding-identifier.js" Expect Syntax Error: "language/expressions/class/gen-method-param-dflt-yield.js" Expect Syntax Error: "language/expressions/class/gen-method-static/array-destructuring-param-strict-body.js" Expect Syntax Error: "language/expressions/class/gen-method-static/dflt-params-duplicates.js" @@ -250,7 +217,6 @@ Expect Syntax Error: "language/expressions/class/method/dflt-params-rest.js" Expect Syntax Error: "language/expressions/class/method/object-destructuring-param-strict-body.js" Expect Syntax Error: "language/expressions/class/method/rest-param-strict-body.js" Expect Syntax Error: "language/expressions/class/static-gen-method-param-dflt-yield.js" -Expect Syntax Error: "language/expressions/class/static-init-await-binding.js" Expect Syntax Error: "language/expressions/function/array-destructuring-param-strict-body.js" Expect Syntax Error: "language/expressions/function/dflt-params-duplicates.js" Expect Syntax Error: "language/expressions/function/dflt-params-rest.js" @@ -316,13 +282,8 @@ Expect Syntax Error: "language/expressions/object/identifier-shorthand-package-i Expect Syntax Error: "language/expressions/object/identifier-shorthand-private-invalid-strict-mode.js" Expect Syntax Error: "language/expressions/object/identifier-shorthand-protected-invalid-strict-mode.js" Expect Syntax Error: "language/expressions/object/identifier-shorthand-public-invalid-strict-mode.js" -Expect Syntax Error: "language/expressions/object/identifier-shorthand-static-init-await-invalid.js" Expect Syntax Error: "language/expressions/object/identifier-shorthand-static-invalid-strict-mode.js" Expect Syntax Error: "language/expressions/object/identifier-shorthand-yield-invalid-strict-mode.js" -Expect Syntax Error: "language/expressions/object/method-definition/async-await-as-binding-identifier-escaped.js" -Expect Syntax Error: "language/expressions/object/method-definition/async-await-as-binding-identifier.js" -Expect Syntax Error: "language/expressions/object/method-definition/async-gen-await-as-binding-identifier-escaped.js" -Expect Syntax Error: "language/expressions/object/method-definition/async-gen-await-as-binding-identifier.js" Expect Syntax Error: "language/expressions/object/method-definition/async-gen-meth-array-destructuring-param-strict-body.js" Expect Syntax Error: "language/expressions/object/method-definition/async-gen-meth-dflt-params-duplicates.js" Expect Syntax Error: "language/expressions/object/method-definition/async-gen-meth-dflt-params-rest.js" @@ -336,7 +297,6 @@ Expect Syntax Error: "language/expressions/object/method-definition/async-meth-r Expect Syntax Error: "language/expressions/object/method-definition/early-errors-object-async-method-duplicate-parameters.js" Expect Syntax Error: "language/expressions/object/method-definition/early-errors-object-method-NSPL-with-USD.js" Expect Syntax Error: "language/expressions/object/method-definition/early-errors-object-method-arguments-in-formal-parameters.js" -Expect Syntax Error: "language/expressions/object/method-definition/early-errors-object-method-await-in-formals.js" Expect Syntax Error: "language/expressions/object/method-definition/early-errors-object-method-duplicate-parameters.js" Expect Syntax Error: "language/expressions/object/method-definition/early-errors-object-method-eval-in-formal-parameters.js" Expect Syntax Error: "language/expressions/object/method-definition/gen-meth-array-destructuring-param-strict-body.js" @@ -344,7 +304,6 @@ Expect Syntax Error: "language/expressions/object/method-definition/gen-meth-dfl Expect Syntax Error: "language/expressions/object/method-definition/gen-meth-dflt-params-rest.js" Expect Syntax Error: "language/expressions/object/method-definition/gen-meth-object-destructuring-param-strict-body.js" Expect Syntax Error: "language/expressions/object/method-definition/gen-meth-rest-param-strict-body.js" -Expect Syntax Error: "language/expressions/object/method-definition/generator-param-id-yield.js" Expect Syntax Error: "language/expressions/object/method-definition/generator-param-init-yield.js" Expect Syntax Error: "language/expressions/object/method-definition/generator-use-strict-with-non-simple-param.js" Expect Syntax Error: "language/expressions/object/method-definition/meth-array-destructuring-param-strict-body.js" @@ -394,13 +353,10 @@ Expect Syntax Error: "language/module-code/top-level-await/syntax/early-does-not Expect Syntax Error: "language/module-code/top-level-await/syntax/early-does-not-propagate-to-fn-expr-body.js" Expect Syntax Error: "language/module-code/top-level-await/syntax/early-does-not-propagate-to-fn-expr-params.js" Expect Syntax Error: "language/statements/async-function/array-destructuring-param-strict-body.js" -Expect Syntax Error: "language/statements/async-function/await-as-binding-identifier-escaped.js" -Expect Syntax Error: "language/statements/async-function/await-as-binding-identifier.js" Expect Syntax Error: "language/statements/async-function/dflt-params-duplicates.js" Expect Syntax Error: "language/statements/async-function/dflt-params-rest.js" Expect Syntax Error: "language/statements/async-function/early-errors-declaration-NSPL-with-USD.js" Expect Syntax Error: "language/statements/async-function/early-errors-declaration-arguments-in-formal-parameters.js" -Expect Syntax Error: "language/statements/async-function/early-errors-declaration-await-in-formals.js" Expect Syntax Error: "language/statements/async-function/early-errors-declaration-binding-identifier-arguments.js" Expect Syntax Error: "language/statements/async-function/early-errors-declaration-binding-identifier-eval.js" Expect Syntax Error: "language/statements/async-function/early-errors-declaration-duplicate-parameters.js" @@ -408,8 +364,6 @@ Expect Syntax Error: "language/statements/async-function/early-errors-declaratio Expect Syntax Error: "language/statements/async-function/object-destructuring-param-strict-body.js" Expect Syntax Error: "language/statements/async-function/rest-param-strict-body.js" Expect Syntax Error: "language/statements/async-generator/array-destructuring-param-strict-body.js" -Expect Syntax Error: "language/statements/async-generator/await-as-binding-identifier-escaped.js" -Expect Syntax Error: "language/statements/async-generator/await-as-binding-identifier.js" Expect Syntax Error: "language/statements/async-generator/dflt-params-duplicates.js" Expect Syntax Error: "language/statements/async-generator/dflt-params-rest.js" Expect Syntax Error: "language/statements/async-generator/dstr/ary-ptrn-rest-init-ary.js" @@ -421,29 +375,21 @@ Expect Syntax Error: "language/statements/async-generator/dstr/dflt-ary-ptrn-res Expect Syntax Error: "language/statements/async-generator/object-destructuring-param-strict-body.js" Expect Syntax Error: "language/statements/async-generator/rest-param-strict-body.js" Expect Syntax Error: "language/statements/class/async-gen-method-static/array-destructuring-param-strict-body.js" -Expect Syntax Error: "language/statements/class/async-gen-method-static/await-as-binding-identifier-escaped.js" -Expect Syntax Error: "language/statements/class/async-gen-method-static/await-as-binding-identifier.js" Expect Syntax Error: "language/statements/class/async-gen-method-static/dflt-params-duplicates.js" Expect Syntax Error: "language/statements/class/async-gen-method-static/dflt-params-rest.js" Expect Syntax Error: "language/statements/class/async-gen-method-static/object-destructuring-param-strict-body.js" Expect Syntax Error: "language/statements/class/async-gen-method-static/rest-param-strict-body.js" Expect Syntax Error: "language/statements/class/async-gen-method/array-destructuring-param-strict-body.js" -Expect Syntax Error: "language/statements/class/async-gen-method/await-as-binding-identifier-escaped.js" -Expect Syntax Error: "language/statements/class/async-gen-method/await-as-binding-identifier.js" Expect Syntax Error: "language/statements/class/async-gen-method/dflt-params-duplicates.js" Expect Syntax Error: "language/statements/class/async-gen-method/dflt-params-rest.js" Expect Syntax Error: "language/statements/class/async-gen-method/object-destructuring-param-strict-body.js" Expect Syntax Error: "language/statements/class/async-gen-method/rest-param-strict-body.js" Expect Syntax Error: "language/statements/class/async-method-static/array-destructuring-param-strict-body.js" -Expect Syntax Error: "language/statements/class/async-method-static/await-as-binding-identifier-escaped.js" -Expect Syntax Error: "language/statements/class/async-method-static/await-as-binding-identifier.js" Expect Syntax Error: "language/statements/class/async-method-static/dflt-params-duplicates.js" Expect Syntax Error: "language/statements/class/async-method-static/dflt-params-rest.js" Expect Syntax Error: "language/statements/class/async-method-static/object-destructuring-param-strict-body.js" Expect Syntax Error: "language/statements/class/async-method-static/rest-param-strict-body.js" Expect Syntax Error: "language/statements/class/async-method/array-destructuring-param-strict-body.js" -Expect Syntax Error: "language/statements/class/async-method/await-as-binding-identifier-escaped.js" -Expect Syntax Error: "language/statements/class/async-method/await-as-binding-identifier.js" Expect Syntax Error: "language/statements/class/async-method/dflt-params-duplicates.js" Expect Syntax Error: "language/statements/class/async-method/dflt-params-rest.js" Expect Syntax Error: "language/statements/class/async-method/object-destructuring-param-strict-body.js" @@ -451,7 +397,6 @@ Expect Syntax Error: "language/statements/class/async-method/rest-param-strict-b Expect Syntax Error: "language/statements/class/definition/early-errors-class-async-method-duplicate-parameters.js" Expect Syntax Error: "language/statements/class/definition/early-errors-class-method-NSPL-with-USD.js" Expect Syntax Error: "language/statements/class/definition/early-errors-class-method-arguments-in-formal-parameters.js" -Expect Syntax Error: "language/statements/class/definition/early-errors-class-method-await-in-formals.js" Expect Syntax Error: "language/statements/class/definition/early-errors-class-method-duplicate-parameters.js" Expect Syntax Error: "language/statements/class/definition/early-errors-class-method-eval-in-formal-parameters.js" Expect Syntax Error: "language/statements/class/dstr/async-gen-meth-ary-ptrn-rest-init-ary.js" @@ -526,14 +471,6 @@ Expect Syntax Error: "language/statements/class/dstr/private-meth-static-ary-ptr Expect Syntax Error: "language/statements/class/dstr/private-meth-static-dflt-ary-ptrn-rest-init-ary.js" Expect Syntax Error: "language/statements/class/dstr/private-meth-static-dflt-ary-ptrn-rest-init-id.js" Expect Syntax Error: "language/statements/class/dstr/private-meth-static-dflt-ary-ptrn-rest-init-obj.js" -Expect Syntax Error: "language/statements/class/elements/async-gen-private-method-static/await-as-binding-identifier-escaped.js" -Expect Syntax Error: "language/statements/class/elements/async-gen-private-method-static/await-as-binding-identifier.js" -Expect Syntax Error: "language/statements/class/elements/async-gen-private-method/await-as-binding-identifier-escaped.js" -Expect Syntax Error: "language/statements/class/elements/async-gen-private-method/await-as-binding-identifier.js" -Expect Syntax Error: "language/statements/class/elements/async-private-method-static/await-as-binding-identifier-escaped.js" -Expect Syntax Error: "language/statements/class/elements/async-private-method-static/await-as-binding-identifier.js" -Expect Syntax Error: "language/statements/class/elements/async-private-method/await-as-binding-identifier-escaped.js" -Expect Syntax Error: "language/statements/class/elements/async-private-method/await-as-binding-identifier.js" Expect Syntax Error: "language/statements/class/gen-method-param-dflt-yield.js" Expect Syntax Error: "language/statements/class/gen-method-static/array-destructuring-param-strict-body.js" Expect Syntax Error: "language/statements/class/gen-method-static/dflt-params-duplicates.js" @@ -556,13 +493,11 @@ Expect Syntax Error: "language/statements/class/method/dflt-params-rest.js" Expect Syntax Error: "language/statements/class/method/object-destructuring-param-strict-body.js" Expect Syntax Error: "language/statements/class/method/rest-param-strict-body.js" Expect Syntax Error: "language/statements/class/static-gen-method-param-dflt-yield.js" -Expect Syntax Error: "language/statements/class/static-init-await-binding-invalid.js" Expect Syntax Error: "language/statements/class/static-init-invalid-await.js" Expect Syntax Error: "language/statements/class/static-init-invalid-return.js" Expect Syntax Error: "language/statements/const/dstr/ary-ptrn-rest-init-ary.js" Expect Syntax Error: "language/statements/const/dstr/ary-ptrn-rest-init-id.js" Expect Syntax Error: "language/statements/const/dstr/ary-ptrn-rest-init-obj.js" -Expect Syntax Error: "language/statements/const/static-init-await-binding-invalid.js" Expect Syntax Error: "language/statements/do-while/decl-fun.js" Expect Syntax Error: "language/statements/do-while/labelled-fn-stmt.js" Expect Syntax Error: "language/statements/for-await-of/async-func-dstr-const-ary-ptrn-rest-init-ary.js" @@ -602,7 +537,6 @@ Expect Syntax Error: "language/statements/for-await-of/async-gen-dstr-var-async- Expect Syntax Error: "language/statements/for-await-of/async-gen-dstr-var-async-ary-ptrn-rest-init-id.js" Expect Syntax Error: "language/statements/for-await-of/async-gen-dstr-var-async-ary-ptrn-rest-init-obj.js" Expect Syntax Error: "language/statements/for-in/decl-fun.js" -Expect Syntax Error: "language/statements/for-in/dstr/obj-id-identifier-yield-expr.js" Expect Syntax Error: "language/statements/for-in/labelled-fn-stmt-const.js" Expect Syntax Error: "language/statements/for-in/labelled-fn-stmt-let.js" Expect Syntax Error: "language/statements/for-in/labelled-fn-stmt-lhs.js" @@ -617,7 +551,6 @@ Expect Syntax Error: "language/statements/for-of/dstr/const-ary-ptrn-rest-init-o Expect Syntax Error: "language/statements/for-of/dstr/let-ary-ptrn-rest-init-ary.js" Expect Syntax Error: "language/statements/for-of/dstr/let-ary-ptrn-rest-init-id.js" Expect Syntax Error: "language/statements/for-of/dstr/let-ary-ptrn-rest-init-obj.js" -Expect Syntax Error: "language/statements/for-of/dstr/obj-id-identifier-yield-expr.js" Expect Syntax Error: "language/statements/for-of/dstr/var-ary-ptrn-rest-init-ary.js" Expect Syntax Error: "language/statements/for-of/dstr/var-ary-ptrn-rest-init-id.js" Expect Syntax Error: "language/statements/for-of/dstr/var-ary-ptrn-rest-init-obj.js" @@ -701,7 +634,6 @@ Expect Syntax Error: "language/statements/labeled/decl-fun-strict.js" Expect Syntax Error: "language/statements/let/dstr/ary-ptrn-rest-init-ary.js" Expect Syntax Error: "language/statements/let/dstr/ary-ptrn-rest-init-id.js" Expect Syntax Error: "language/statements/let/dstr/ary-ptrn-rest-init-obj.js" -Expect Syntax Error: "language/statements/let/static-init-await-binding-invalid.js" Expect Syntax Error: "language/statements/return/S12.9_A1_T1.js" Expect Syntax Error: "language/statements/return/S12.9_A1_T10.js" Expect Syntax Error: "language/statements/return/S12.9_A1_T2.js" @@ -717,7 +649,6 @@ Expect Syntax Error: "language/statements/try/catch-parameter-boundnames-restric Expect Syntax Error: "language/statements/try/dstr/ary-ptrn-rest-init-ary.js" Expect Syntax Error: "language/statements/try/dstr/ary-ptrn-rest-init-id.js" Expect Syntax Error: "language/statements/try/dstr/ary-ptrn-rest-init-obj.js" -Expect Syntax Error: "language/statements/try/static-init-await-binding-invalid.js" Expect Syntax Error: "language/statements/variable/12.2.1-1gs.js" Expect Syntax Error: "language/statements/variable/12.2.1-4gs.js" Expect Syntax Error: "language/statements/variable/arguments-fn-strict-list-final-init.js" @@ -738,7 +669,6 @@ Expect Syntax Error: "language/statements/variable/arguments-strict-list-middle. Expect Syntax Error: "language/statements/variable/arguments-strict-list-repeated.js" Expect Syntax Error: "language/statements/variable/arguments-strict-single-init.js" Expect Syntax Error: "language/statements/variable/arguments-strict-single.js" -Expect Syntax Error: "language/statements/variable/dstr/ary-ptrn-elem-id-static-init-await-invalid.js" Expect Syntax Error: "language/statements/variable/dstr/ary-ptrn-rest-init-ary.js" Expect Syntax Error: "language/statements/variable/dstr/ary-ptrn-rest-init-id.js" Expect Syntax Error: "language/statements/variable/dstr/ary-ptrn-rest-init-obj.js" @@ -754,7 +684,6 @@ Expect Syntax Error: "language/statements/variable/eval-strict-single-init.js" Expect Syntax Error: "language/statements/variable/eval-strict-single.js" Expect Syntax Error: "language/statements/variable/id-arguments-strict.js" Expect Syntax Error: "language/statements/variable/id-eval-strict.js" -Expect Syntax Error: "language/statements/variable/static-init-await-binding-invalid.js" Expect Syntax Error: "language/statements/while/decl-fun.js" Expect Syntax Error: "language/statements/while/labelled-fn-stmt.js" Expect Syntax Error: "language/statements/with/decl-fun.js" @@ -2915,6 +2844,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" 55 │ ╰──── + × Cannot use `await` as an identifier in an async context + ╭─[language/expressions/arrow-function/static-init-await-binding.js:15:1] + 15 │ static { + 16 │ (await => 0); + · ───── + 17 │ } + ╰──── + × Unexpected token ╭─[language/expressions/arrow-function/static-init-await-reference.js:15:1] 15 │ static { @@ -3134,6 +3071,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" · ───── ╰──── + × Cannot use `yield` as an identifier in a generator context + ╭─[language/expressions/assignment/dstr/obj-id-identifier-yield-expr.js:23:1] + 23 │ + 24 │ 0, { yield } = {}; + · ───── + 25 │ + ╰──── + × The keyword 'yield' is reserved ╭─[language/expressions/assignment/dstr/obj-id-identifier-yield-ident-invalid.js:22:1] 22 │ @@ -6061,6 +6006,22 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" · ╰── Cannot assign to this expression ╰──── + × Cannot use `await` as an identifier in an async context + ╭─[language/expressions/async-arrow-function/await-as-binding-identifier-escaped.js:32:1] + 32 │ async () => { + 33 │ var \u0061wait; + · ────────── + 34 │ } + ╰──── + + × Cannot use `await` as an identifier in an async context + ╭─[language/expressions/async-arrow-function/await-as-binding-identifier.js:32:1] + 32 │ async () => { + 33 │ var await; + · ───── + 34 │ } + ╰──── + × Keywords cannot contain escape characters ╭─[language/expressions/async-arrow-function/await-as-identifier-reference-escaped.js:32:1] 32 │ async () => { @@ -6111,6 +6072,27 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" 34 │ } ╰──── + × Cannot use `await` as an identifier in an async context + ╭─[language/expressions/async-arrow-function/await-as-param-ident-nested-arrow-parameter-position.js:15:1] + 15 │ + 16 │ async(a = await => {}) => {}; + · ───── + ╰──── + + × Cannot use `await` as an identifier in an async context + ╭─[language/expressions/async-arrow-function/await-as-param-nested-arrow-parameter-position.js:15:1] + 15 │ + 16 │ async(a = (await) => {}) => {}; + · ───── + ╰──── + + × Cannot use `await` as an identifier in an async context + ╭─[language/expressions/async-arrow-function/await-as-param-rest-nested-arrow-parameter-position.js:15:1] + 15 │ + 16 │ async(a = (...await) => {}) => {}; + · ───── + ╰──── + × Automatic Semicolon Insertion ╭─[language/expressions/async-arrow-function/early-errors-arrow-await-in-formals-default.js:13:1] 13 │ $DONOTEVALUATE(); @@ -6120,6 +6102,13 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" ╰──── help: Try insert a semicolon here + × Cannot use `await` as an identifier in an async context + ╭─[language/expressions/async-arrow-function/early-errors-arrow-await-in-formals.js:13:1] + 13 │ $DONOTEVALUATE(); + 14 │ async(await) => { } + · ───── + ╰──── + × Super calls are not permitted outside constructors or in nested functions inside constructors. │ ╭─[language/expressions/async-arrow-function/early-errors-arrow-body-contains-super-call.js:14:1] @@ -6187,6 +6176,22 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" 47 │ ╰──── + × Cannot use `await` as an identifier in an async context + ╭─[language/expressions/async-function/await-as-binding-identifier-escaped.js:28:1] + 28 │ var asyncFn = async function () { + 29 │ var \u0061wait; + · ────────── + 30 │ }; + ╰──── + + × Cannot use `await` as an identifier in an async context + ╭─[language/expressions/async-function/await-as-binding-identifier.js:28:1] + 28 │ var asyncFn = async function () { + 29 │ var await; + · ───── + 30 │ }; + ╰──── + × Keywords cannot contain escape characters ╭─[language/expressions/async-function/await-as-identifier-reference-escaped.js:28:1] 28 │ var asyncFn = async function () { @@ -6295,6 +6300,22 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" · ╰── keyword cannot contain escape characters ╰──── + × Cannot use `await` as an identifier in an async context + ╭─[language/expressions/async-function/named-await-as-binding-identifier-escaped.js:28:1] + 28 │ var asyncFn = async function asyncFn() { + 29 │ var \u0061wait; + · ────────── + 30 │ }; + ╰──── + + × Cannot use `await` as an identifier in an async context + ╭─[language/expressions/async-function/named-await-as-binding-identifier.js:28:1] + 28 │ var asyncFn = async function asyncFn() { + 29 │ var await; + · ───── + 30 │ }; + ╰──── + × Keywords cannot contain escape characters ╭─[language/expressions/async-function/named-await-as-identifier-reference-escaped.js:28:1] 28 │ var asyncFn = async function asyncFn() { @@ -6363,6 +6384,22 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" 34 │ ╰──── + × Cannot use `await` as an identifier in an async context + ╭─[language/expressions/async-generator/await-as-binding-identifier-escaped.js:29:1] + 29 │ var gen = async function *() { + 30 │ var \u0061wait; + · ────────── + 31 │ }; + ╰──── + + × Cannot use `await` as an identifier in an async context + ╭─[language/expressions/async-generator/await-as-binding-identifier.js:29:1] + 29 │ var gen = async function *() { + 30 │ var await; + · ───── + 31 │ }; + ╰──── + × Keywords cannot contain escape characters ╭─[language/expressions/async-generator/await-as-identifier-reference-escaped.js:29:1] 29 │ var gen = async function *() { @@ -6555,6 +6592,13 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" · ╰── `a` has already been declared here ╰──── + × Cannot use `await` as an identifier in an async context + ╭─[language/expressions/async-generator/early-errors-expression-formals-contains-await.js:17:1] + 17 │ + 18 │ (async function*(await) { }); + · ───── + ╰──── + × Super calls are not permitted outside constructors or in nested functions inside constructors. │ ╭─[language/expressions/async-generator/early-errors-expression-formals-contains-super-call.js:16:1] @@ -6574,6 +6618,13 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/expressions/async-generator/early-errors-expression-formals-contains-yield.js:17:1] 17 │ + 18 │ (async function*(yield) { }); + · ───── + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/expressions/async-generator/early-errors-expression-formals-contains-yield.js:17:1] + 17 │ 18 │ (async function*(yield) { }); · ───── ╰──── @@ -6627,6 +6678,22 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" · ╰── keyword cannot contain escape characters ╰──── + × Cannot use `await` as an identifier in an async context + ╭─[language/expressions/async-generator/named-await-as-binding-identifier-escaped.js:29:1] + 29 │ var gen = async function *g() { + 30 │ var \u0061wait; + · ────────── + 31 │ }; + ╰──── + + × Cannot use `await` as an identifier in an async context + ╭─[language/expressions/async-generator/named-await-as-binding-identifier.js:29:1] + 29 │ var gen = async function *g() { + 30 │ var await; + · ───── + 31 │ }; + ╰──── + × Keywords cannot contain escape characters ╭─[language/expressions/async-generator/named-await-as-identifier-reference-escaped.js:29:1] 29 │ var gen = async function *g() { @@ -6689,6 +6756,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/expressions/async-generator/named-yield-as-binding-identifier-escaped.js:29:1] 29 │ var gen = async function *g() { + 30 │ var yi\u0065ld; + · ────────── + 31 │ }; + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/expressions/async-generator/named-yield-as-binding-identifier-escaped.js:29:1] + 29 │ var gen = async function *g() { 30 │ var yi\u0065ld; · ────────── 31 │ }; @@ -6697,6 +6772,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/expressions/async-generator/named-yield-as-binding-identifier.js:29:1] 29 │ var gen = async function *g() { + 30 │ var yield; + · ───── + 31 │ }; + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/expressions/async-generator/named-yield-as-binding-identifier.js:29:1] + 29 │ var gen = async function *g() { 30 │ var yield; · ───── 31 │ }; @@ -6705,6 +6788,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/expressions/async-generator/named-yield-as-identifier-reference-escaped.js:29:1] 29 │ var gen = async function *g() { + 30 │ void yi\u0065ld; + · ────────── + 31 │ }; + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/expressions/async-generator/named-yield-as-identifier-reference-escaped.js:29:1] + 29 │ var gen = async function *g() { 30 │ void yi\u0065ld; · ────────── 31 │ }; @@ -6713,6 +6804,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/expressions/async-generator/named-yield-as-identifier-reference.js:29:1] 29 │ var gen = async function *g() { + 30 │ void yield; + · ───── + 31 │ }; + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/expressions/async-generator/named-yield-as-identifier-reference.js:29:1] + 29 │ var gen = async function *g() { 30 │ void yield; · ───── 31 │ }; @@ -6775,6 +6874,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/expressions/async-generator/yield-as-binding-identifier-escaped.js:29:1] 29 │ var gen = async function *() { + 30 │ var yi\u0065ld; + · ────────── + 31 │ }; + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/expressions/async-generator/yield-as-binding-identifier-escaped.js:29:1] + 29 │ var gen = async function *() { 30 │ var yi\u0065ld; · ────────── 31 │ }; @@ -6783,6 +6890,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/expressions/async-generator/yield-as-binding-identifier.js:29:1] 29 │ var gen = async function *() { + 30 │ var yield; + · ───── + 31 │ }; + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/expressions/async-generator/yield-as-binding-identifier.js:29:1] + 29 │ var gen = async function *() { 30 │ var yield; · ───── 31 │ }; @@ -6791,6 +6906,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/expressions/async-generator/yield-as-identifier-reference-escaped.js:29:1] 29 │ var gen = async function *() { + 30 │ void yi\u0065ld; + · ────────── + 31 │ }; + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/expressions/async-generator/yield-as-identifier-reference-escaped.js:29:1] + 29 │ var gen = async function *() { 30 │ void yi\u0065ld; · ────────── 31 │ }; @@ -6799,6 +6922,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/expressions/async-generator/yield-as-identifier-reference.js:29:1] 29 │ var gen = async function *() { + 30 │ void yield; + · ───── + 31 │ }; + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/expressions/async-generator/yield-as-identifier-reference.js:29:1] + 29 │ var gen = async function *() { 30 │ void yield; · ───── 31 │ }; @@ -6873,6 +7004,22 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" · ─ ╰──── + × Cannot use `await` as an identifier in an async context + ╭─[language/expressions/class/async-gen-method-static/await-as-binding-identifier-escaped.js:34:1] + 34 │ var C = class { static async *gen() { + 35 │ var \u0061wait; + · ────────── + 36 │ }}; + ╰──── + + × Cannot use `await` as an identifier in an async context + ╭─[language/expressions/class/async-gen-method-static/await-as-binding-identifier.js:34:1] + 34 │ var C = class { static async *gen() { + 35 │ var await; + · ───── + 36 │ }}; + ╰──── + × Keywords cannot contain escape characters ╭─[language/expressions/class/async-gen-method-static/await-as-identifier-reference-escaped.js:34:1] 34 │ var C = class { static async *gen() { @@ -6935,6 +7082,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/expressions/class/async-gen-method-static/yield-as-binding-identifier-escaped.js:34:1] 34 │ var C = class { static async *gen() { + 35 │ var yi\u0065ld; + · ────────── + 36 │ }}; + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/expressions/class/async-gen-method-static/yield-as-binding-identifier-escaped.js:34:1] + 34 │ var C = class { static async *gen() { 35 │ var yi\u0065ld; · ────────── 36 │ }}; @@ -6943,6 +7098,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/expressions/class/async-gen-method-static/yield-as-binding-identifier.js:34:1] 34 │ var C = class { static async *gen() { + 35 │ var yield; + · ───── + 36 │ }}; + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/expressions/class/async-gen-method-static/yield-as-binding-identifier.js:34:1] + 34 │ var C = class { static async *gen() { 35 │ var yield; · ───── 36 │ }}; @@ -6951,6 +7114,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/expressions/class/async-gen-method-static/yield-as-identifier-reference-escaped.js:34:1] 34 │ var C = class { static async *gen() { + 35 │ void yi\u0065ld; + · ────────── + 36 │ }}; + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/expressions/class/async-gen-method-static/yield-as-identifier-reference-escaped.js:34:1] + 34 │ var C = class { static async *gen() { 35 │ void yi\u0065ld; · ────────── 36 │ }}; @@ -6959,6 +7130,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/expressions/class/async-gen-method-static/yield-as-identifier-reference.js:34:1] 34 │ var C = class { static async *gen() { + 35 │ void yield; + · ───── + 36 │ }}; + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/expressions/class/async-gen-method-static/yield-as-identifier-reference.js:34:1] + 34 │ var C = class { static async *gen() { 35 │ void yield; · ───── 36 │ }}; @@ -7009,6 +7188,22 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" 34 │ throw new Test262Error(); ╰──── + × Cannot use `await` as an identifier in an async context + ╭─[language/expressions/class/async-gen-method/await-as-binding-identifier-escaped.js:34:1] + 34 │ var C = class { async *gen() { + 35 │ var \u0061wait; + · ────────── + 36 │ }}; + ╰──── + + × Cannot use `await` as an identifier in an async context + ╭─[language/expressions/class/async-gen-method/await-as-binding-identifier.js:34:1] + 34 │ var C = class { async *gen() { + 35 │ var await; + · ───── + 36 │ }}; + ╰──── + × Keywords cannot contain escape characters ╭─[language/expressions/class/async-gen-method/await-as-identifier-reference-escaped.js:34:1] 34 │ var C = class { async *gen() { @@ -7071,6 +7266,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/expressions/class/async-gen-method/yield-as-binding-identifier-escaped.js:34:1] 34 │ var C = class { async *gen() { + 35 │ var yi\u0065ld; + · ────────── + 36 │ }}; + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/expressions/class/async-gen-method/yield-as-binding-identifier-escaped.js:34:1] + 34 │ var C = class { async *gen() { 35 │ var yi\u0065ld; · ────────── 36 │ }}; @@ -7079,6 +7282,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/expressions/class/async-gen-method/yield-as-binding-identifier.js:34:1] 34 │ var C = class { async *gen() { + 35 │ var yield; + · ───── + 36 │ }}; + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/expressions/class/async-gen-method/yield-as-binding-identifier.js:34:1] + 34 │ var C = class { async *gen() { 35 │ var yield; · ───── 36 │ }}; @@ -7087,6 +7298,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/expressions/class/async-gen-method/yield-as-identifier-reference-escaped.js:34:1] 34 │ var C = class { async *gen() { + 35 │ void yi\u0065ld; + · ────────── + 36 │ }}; + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/expressions/class/async-gen-method/yield-as-identifier-reference-escaped.js:34:1] + 34 │ var C = class { async *gen() { 35 │ void yi\u0065ld; · ────────── 36 │ }}; @@ -7095,6 +7314,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/expressions/class/async-gen-method/yield-as-identifier-reference.js:34:1] 34 │ var C = class { async *gen() { + 35 │ void yield; + · ───── + 36 │ }}; + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/expressions/class/async-gen-method/yield-as-identifier-reference.js:34:1] + 34 │ var C = class { async *gen() { 35 │ void yield; · ───── 36 │ }}; @@ -7145,6 +7372,22 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" 34 │ throw new Test262Error(); ╰──── + × Cannot use `await` as an identifier in an async context + ╭─[language/expressions/class/async-method-static/await-as-binding-identifier-escaped.js:35:1] + 35 │ static async method() { + 36 │ var \u0061wait; + · ────────── + 37 │ } + ╰──── + + × Cannot use `await` as an identifier in an async context + ╭─[language/expressions/class/async-method-static/await-as-binding-identifier.js:35:1] + 35 │ static async method() { + 36 │ var await; + · ───── + 37 │ } + ╰──── + × Keywords cannot contain escape characters ╭─[language/expressions/class/async-method-static/await-as-identifier-reference-escaped.js:35:1] 35 │ static async method() { @@ -7204,6 +7447,22 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" 58 │ ╰──── + × Cannot use `await` as an identifier in an async context + ╭─[language/expressions/class/async-method/await-as-binding-identifier-escaped.js:35:1] + 35 │ async method() { + 36 │ var \u0061wait; + · ────────── + 37 │ } + ╰──── + + × Cannot use `await` as an identifier in an async context + ╭─[language/expressions/class/async-method/await-as-binding-identifier.js:35:1] + 35 │ async method() { + 36 │ var await; + · ───── + 37 │ } + ╰──── + × Keywords cannot contain escape characters ╭─[language/expressions/class/async-method/await-as-identifier-reference-escaped.js:35:1] 35 │ async method() { @@ -7266,6 +7525,13 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'await' is reserved ╭─[language/expressions/class/class-name-ident-await-escaped-module.js:22:1] 22 │ + 23 │ var C = class aw\u0061it {}; + · ────────── + ╰──── + + × Cannot use `await` as an identifier in an async context + ╭─[language/expressions/class/class-name-ident-await-escaped-module.js:22:1] + 22 │ 23 │ var C = class aw\u0061it {}; · ────────── ╰──── @@ -7273,6 +7539,13 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'await' is reserved ╭─[language/expressions/class/class-name-ident-await-module.js:21:1] 21 │ + 22 │ var C = class await {}; + · ───── + ╰──── + + × Cannot use `await` as an identifier in an async context + ╭─[language/expressions/class/class-name-ident-await-module.js:21:1] + 21 │ 22 │ var C = class await {}; · ───── ╰──── @@ -7984,6 +8257,22 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" 27 │ } ╰──── + × Cannot use `await` as an identifier in an async context + ╭─[language/expressions/class/elements/async-gen-private-method-static/await-as-binding-identifier-escaped.js:34:1] + 34 │ var C = class { static async *#gen() { + 35 │ var \u0061wait; + · ────────── + 36 │ }}; + ╰──── + + × Cannot use `await` as an identifier in an async context + ╭─[language/expressions/class/elements/async-gen-private-method-static/await-as-binding-identifier.js:34:1] + 34 │ var C = class { static async *#gen() { + 35 │ var await; + · ───── + 36 │ }}; + ╰──── + × Keywords cannot contain escape characters ╭─[language/expressions/class/elements/async-gen-private-method-static/await-as-identifier-reference-escaped.js:34:1] 34 │ var C = class { static async *#gen() { @@ -8037,6 +8326,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/expressions/class/elements/async-gen-private-method-static/yield-as-binding-identifier-escaped.js:34:1] 34 │ var C = class { static async *#gen() { + 35 │ var yi\u0065ld; + · ────────── + 36 │ }}; + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/expressions/class/elements/async-gen-private-method-static/yield-as-binding-identifier-escaped.js:34:1] + 34 │ var C = class { static async *#gen() { 35 │ var yi\u0065ld; · ────────── 36 │ }}; @@ -8045,6 +8342,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/expressions/class/elements/async-gen-private-method-static/yield-as-binding-identifier.js:34:1] 34 │ var C = class { static async *#gen() { + 35 │ var yield; + · ───── + 36 │ }}; + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/expressions/class/elements/async-gen-private-method-static/yield-as-binding-identifier.js:34:1] + 34 │ var C = class { static async *#gen() { 35 │ var yield; · ───── 36 │ }}; @@ -8053,6 +8358,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/expressions/class/elements/async-gen-private-method-static/yield-as-identifier-reference-escaped.js:34:1] 34 │ var C = class { static async *#gen() { + 35 │ void yi\u0065ld; + · ────────── + 36 │ }}; + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/expressions/class/elements/async-gen-private-method-static/yield-as-identifier-reference-escaped.js:34:1] + 34 │ var C = class { static async *#gen() { 35 │ void yi\u0065ld; · ────────── 36 │ }}; @@ -8061,6 +8374,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/expressions/class/elements/async-gen-private-method-static/yield-as-identifier-reference.js:34:1] 34 │ var C = class { static async *#gen() { + 35 │ void yield; + · ───── + 36 │ }}; + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/expressions/class/elements/async-gen-private-method-static/yield-as-identifier-reference.js:34:1] + 34 │ var C = class { static async *#gen() { 35 │ void yield; · ───── 36 │ }}; @@ -8111,6 +8432,22 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" 35 │ throw new Test262Error(); ╰──── + × Cannot use `await` as an identifier in an async context + ╭─[language/expressions/class/elements/async-gen-private-method/await-as-binding-identifier-escaped.js:34:1] + 34 │ var C = class { async *#gen() { + 35 │ var \u0061wait; + · ────────── + 36 │ }}; + ╰──── + + × Cannot use `await` as an identifier in an async context + ╭─[language/expressions/class/elements/async-gen-private-method/await-as-binding-identifier.js:34:1] + 34 │ var C = class { async *#gen() { + 35 │ var await; + · ───── + 36 │ }}; + ╰──── + × Keywords cannot contain escape characters ╭─[language/expressions/class/elements/async-gen-private-method/await-as-identifier-reference-escaped.js:34:1] 34 │ var C = class { async *#gen() { @@ -8164,6 +8501,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/expressions/class/elements/async-gen-private-method/yield-as-binding-identifier-escaped.js:34:1] 34 │ var C = class { async *#gen() { + 35 │ var yi\u0065ld; + · ────────── + 36 │ }}; + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/expressions/class/elements/async-gen-private-method/yield-as-binding-identifier-escaped.js:34:1] + 34 │ var C = class { async *#gen() { 35 │ var yi\u0065ld; · ────────── 36 │ }}; @@ -8172,6 +8517,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/expressions/class/elements/async-gen-private-method/yield-as-binding-identifier.js:34:1] 34 │ var C = class { async *#gen() { + 35 │ var yield; + · ───── + 36 │ }}; + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/expressions/class/elements/async-gen-private-method/yield-as-binding-identifier.js:34:1] + 34 │ var C = class { async *#gen() { 35 │ var yield; · ───── 36 │ }}; @@ -8180,6 +8533,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/expressions/class/elements/async-gen-private-method/yield-as-identifier-reference-escaped.js:34:1] 34 │ var C = class { async *#gen() { + 35 │ void yi\u0065ld; + · ────────── + 36 │ }}; + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/expressions/class/elements/async-gen-private-method/yield-as-identifier-reference-escaped.js:34:1] + 34 │ var C = class { async *#gen() { 35 │ void yi\u0065ld; · ────────── 36 │ }}; @@ -8188,6 +8549,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/expressions/class/elements/async-gen-private-method/yield-as-identifier-reference.js:34:1] 34 │ var C = class { async *#gen() { + 35 │ void yield; + · ───── + 36 │ }}; + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/expressions/class/elements/async-gen-private-method/yield-as-identifier-reference.js:34:1] + 34 │ var C = class { async *#gen() { 35 │ void yield; · ───── 36 │ }}; @@ -8238,6 +8607,22 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" 35 │ throw new Test262Error(); ╰──── + × Cannot use `await` as an identifier in an async context + ╭─[language/expressions/class/elements/async-private-method-static/await-as-binding-identifier-escaped.js:35:1] + 35 │ static async #method() { + 36 │ var \u0061wait; + · ────────── + 37 │ } + ╰──── + + × Cannot use `await` as an identifier in an async context + ╭─[language/expressions/class/elements/async-private-method-static/await-as-binding-identifier.js:35:1] + 35 │ static async #method() { + 36 │ var await; + · ───── + 37 │ } + ╰──── + × Keywords cannot contain escape characters ╭─[language/expressions/class/elements/async-private-method-static/await-as-identifier-reference-escaped.js:35:1] 35 │ static async #method() { @@ -8288,6 +8673,22 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" 37 │ } ╰──── + × Cannot use `await` as an identifier in an async context + ╭─[language/expressions/class/elements/async-private-method/await-as-binding-identifier-escaped.js:35:1] + 35 │ async #method() { + 36 │ var \u0061wait; + · ────────── + 37 │ } + ╰──── + + × Cannot use `await` as an identifier in an async context + ╭─[language/expressions/class/elements/async-private-method/await-as-binding-identifier.js:35:1] + 35 │ async #method() { + 36 │ var await; + · ───── + 37 │ } + ╰──── + × Keywords cannot contain escape characters ╭─[language/expressions/class/elements/async-private-method/await-as-identifier-reference-escaped.js:35:1] 35 │ async #method() { @@ -8481,6 +8882,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/expressions/class/elements/gen-private-method-static/yield-as-binding-identifier-escaped.js:33:1] 33 │ var C = class { static *#gen() { + 34 │ var yi\u0065ld; + · ────────── + 35 │ }}; + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/expressions/class/elements/gen-private-method-static/yield-as-binding-identifier-escaped.js:33:1] + 33 │ var C = class { static *#gen() { 34 │ var yi\u0065ld; · ────────── 35 │ }}; @@ -8489,6 +8898,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/expressions/class/elements/gen-private-method-static/yield-as-binding-identifier.js:33:1] 33 │ var C = class { static *#gen() { + 34 │ var yield; + · ───── + 35 │ }}; + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/expressions/class/elements/gen-private-method-static/yield-as-binding-identifier.js:33:1] + 33 │ var C = class { static *#gen() { 34 │ var yield; · ───── 35 │ }}; @@ -8497,6 +8914,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/expressions/class/elements/gen-private-method-static/yield-as-identifier-reference-escaped.js:33:1] 33 │ var C = class { static *#gen() { + 34 │ void yi\u0065ld; + · ────────── + 35 │ }}; + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/expressions/class/elements/gen-private-method-static/yield-as-identifier-reference-escaped.js:33:1] + 33 │ var C = class { static *#gen() { 34 │ void yi\u0065ld; · ────────── 35 │ }}; @@ -8505,6 +8930,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/expressions/class/elements/gen-private-method-static/yield-as-identifier-reference.js:33:1] 33 │ var C = class { static *#gen() { + 34 │ void yield; + · ───── + 35 │ }}; + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/expressions/class/elements/gen-private-method-static/yield-as-identifier-reference.js:33:1] + 33 │ var C = class { static *#gen() { 34 │ void yield; · ───── 35 │ }}; @@ -8558,6 +8991,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/expressions/class/elements/gen-private-method/yield-as-binding-identifier-escaped.js:33:1] 33 │ var C = class {*#gen() { + 34 │ var yi\u0065ld; + · ────────── + 35 │ }}; + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/expressions/class/elements/gen-private-method/yield-as-binding-identifier-escaped.js:33:1] + 33 │ var C = class {*#gen() { 34 │ var yi\u0065ld; · ────────── 35 │ }}; @@ -8566,6 +9007,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/expressions/class/elements/gen-private-method/yield-as-binding-identifier.js:33:1] 33 │ var C = class {*#gen() { + 34 │ var yield; + · ───── + 35 │ }}; + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/expressions/class/elements/gen-private-method/yield-as-binding-identifier.js:33:1] + 33 │ var C = class {*#gen() { 34 │ var yield; · ───── 35 │ }}; @@ -8574,6 +9023,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/expressions/class/elements/gen-private-method/yield-as-identifier-reference-escaped.js:33:1] 33 │ var C = class {*#gen() { + 34 │ void yi\u0065ld; + · ────────── + 35 │ }}; + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/expressions/class/elements/gen-private-method/yield-as-identifier-reference-escaped.js:33:1] + 33 │ var C = class {*#gen() { 34 │ void yi\u0065ld; · ────────── 35 │ }}; @@ -8582,6 +9039,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/expressions/class/elements/gen-private-method/yield-as-identifier-reference.js:33:1] 33 │ var C = class {*#gen() { + 34 │ void yield; + · ───── + 35 │ }}; + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/expressions/class/elements/gen-private-method/yield-as-identifier-reference.js:33:1] + 33 │ var C = class {*#gen() { 34 │ void yield; · ───── 35 │ }}; @@ -11680,6 +12145,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/expressions/class/gen-method-static/yield-as-binding-identifier-escaped.js:33:1] 33 │ var C = class { static *gen() { + 34 │ var yi\u0065ld; + · ────────── + 35 │ }}; + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/expressions/class/gen-method-static/yield-as-binding-identifier-escaped.js:33:1] + 33 │ var C = class { static *gen() { 34 │ var yi\u0065ld; · ────────── 35 │ }}; @@ -11688,6 +12161,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/expressions/class/gen-method-static/yield-as-binding-identifier.js:33:1] 33 │ var C = class { static *gen() { + 34 │ var yield; + · ───── + 35 │ }}; + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/expressions/class/gen-method-static/yield-as-binding-identifier.js:33:1] + 33 │ var C = class { static *gen() { 34 │ var yield; · ───── 35 │ }}; @@ -11696,6 +12177,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/expressions/class/gen-method-static/yield-as-identifier-reference-escaped.js:33:1] 33 │ var C = class { static *gen() { + 34 │ void yi\u0065ld; + · ────────── + 35 │ }}; + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/expressions/class/gen-method-static/yield-as-identifier-reference-escaped.js:33:1] + 33 │ var C = class { static *gen() { 34 │ void yi\u0065ld; · ────────── 35 │ }}; @@ -11704,6 +12193,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/expressions/class/gen-method-static/yield-as-identifier-reference.js:33:1] 33 │ var C = class { static *gen() { + 34 │ void yield; + · ───── + 35 │ }}; + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/expressions/class/gen-method-static/yield-as-identifier-reference.js:33:1] + 33 │ var C = class { static *gen() { 34 │ void yield; · ───── 35 │ }}; @@ -11766,6 +12263,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/expressions/class/gen-method/yield-as-binding-identifier-escaped.js:33:1] 33 │ var C = class {*gen() { + 34 │ var yi\u0065ld; + · ────────── + 35 │ }}; + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/expressions/class/gen-method/yield-as-binding-identifier-escaped.js:33:1] + 33 │ var C = class {*gen() { 34 │ var yi\u0065ld; · ────────── 35 │ }}; @@ -11774,6 +12279,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/expressions/class/gen-method/yield-as-binding-identifier.js:33:1] 33 │ var C = class {*gen() { + 34 │ var yield; + · ───── + 35 │ }}; + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/expressions/class/gen-method/yield-as-binding-identifier.js:33:1] + 33 │ var C = class {*gen() { 34 │ var yield; · ───── 35 │ }}; @@ -11782,6 +12295,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/expressions/class/gen-method/yield-as-identifier-reference-escaped.js:33:1] 33 │ var C = class {*gen() { + 34 │ void yi\u0065ld; + · ────────── + 35 │ }}; + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/expressions/class/gen-method/yield-as-identifier-reference-escaped.js:33:1] + 33 │ var C = class {*gen() { 34 │ void yi\u0065ld; · ────────── 35 │ }}; @@ -11790,6 +12311,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/expressions/class/gen-method/yield-as-identifier-reference.js:33:1] 33 │ var C = class {*gen() { + 34 │ void yield; + · ───── + 35 │ }}; + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/expressions/class/gen-method/yield-as-identifier-reference.js:33:1] + 33 │ var C = class {*gen() { 34 │ void yield; · ───── 35 │ }}; @@ -11874,6 +12403,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" 77 │ ╰──── + × Cannot use `await` as an identifier in an async context + ╭─[language/expressions/class/static-init-await-binding.js:20:1] + 20 │ static { + 21 │ (class await {}); + · ───── + 22 │ } + ╰──── + × The keyword 'yield' is reserved ╭─[language/expressions/class/static-method-param-dflt-yield.js:20:1] 20 │ 0, class { @@ -13284,6 +13821,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/expressions/generators/named-yield-as-binding-identifier-escaped.js:27:1] 27 │ var gen = function *g() { + 28 │ var yi\u0065ld; + · ────────── + 29 │ }; + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/expressions/generators/named-yield-as-binding-identifier-escaped.js:27:1] + 27 │ var gen = function *g() { 28 │ var yi\u0065ld; · ────────── 29 │ }; @@ -13292,6 +13837,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/expressions/generators/named-yield-as-binding-identifier.js:27:1] 27 │ var gen = function *g() { + 28 │ var yield; + · ───── + 29 │ }; + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/expressions/generators/named-yield-as-binding-identifier.js:27:1] + 27 │ var gen = function *g() { 28 │ var yield; · ───── 29 │ }; @@ -13300,6 +13853,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/expressions/generators/named-yield-as-identifier-reference-escaped.js:27:1] 27 │ var gen = function *g() { + 28 │ void yi\u0065ld; + · ────────── + 29 │ }; + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/expressions/generators/named-yield-as-identifier-reference-escaped.js:27:1] + 27 │ var gen = function *g() { 28 │ void yi\u0065ld; · ────────── 29 │ }; @@ -13308,6 +13869,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/expressions/generators/named-yield-as-identifier-reference.js:27:1] 27 │ var gen = function *g() { + 28 │ void yield; + · ───── + 29 │ }; + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/expressions/generators/named-yield-as-identifier-reference.js:27:1] + 27 │ var gen = function *g() { 28 │ void yield; · ───── 29 │ }; @@ -13370,6 +13939,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/expressions/generators/yield-as-binding-identifier-escaped.js:27:1] 27 │ var gen = function *() { + 28 │ var yi\u0065ld; + · ────────── + 29 │ }; + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/expressions/generators/yield-as-binding-identifier-escaped.js:27:1] + 27 │ var gen = function *() { 28 │ var yi\u0065ld; · ────────── 29 │ }; @@ -13378,6 +13955,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/expressions/generators/yield-as-binding-identifier.js:27:1] 27 │ var gen = function *() { + 28 │ var yield; + · ───── + 29 │ }; + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/expressions/generators/yield-as-binding-identifier.js:27:1] + 27 │ var gen = function *() { 28 │ var yield; · ───── 29 │ }; @@ -13386,6 +13971,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/expressions/generators/yield-as-identifier-reference-escaped.js:27:1] 27 │ var gen = function *() { + 28 │ void yi\u0065ld; + · ────────── + 29 │ }; + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/expressions/generators/yield-as-identifier-reference-escaped.js:27:1] + 27 │ var gen = function *() { 28 │ void yi\u0065ld; · ────────── 29 │ }; @@ -13394,6 +13987,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/expressions/generators/yield-as-identifier-reference.js:27:1] 27 │ var gen = function *() { + 28 │ void yield; + · ───── + 29 │ }; + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/expressions/generators/yield-as-identifier-reference.js:27:1] + 27 │ var gen = function *() { 28 │ void yield; · ───── 29 │ }; @@ -13439,6 +14040,13 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/expressions/generators/yield-as-parameter.js:16:1] 16 │ + 17 │ var g = function*(yield) {}; + · ───── + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/expressions/generators/yield-as-parameter.js:16:1] + 16 │ 17 │ var g = function*(yield) {}; · ───── ╰──── @@ -13467,6 +14075,13 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" 19 │ }; ╰──── + × Cannot use `yield` as an identifier in a generator context + ╭─[language/expressions/generators/yield-weak-binding.js:15:1] + 15 │ + 16 │ var g = function*() { yield 3 + yield 4; }; + · ───── + ╰──── + × Automatic Semicolon Insertion ╭─[language/expressions/generators/yield-weak-binding.js:15:1] 15 │ @@ -13965,6 +14580,30 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" · ─ ╰──── + × Cannot use `await` as an identifier in an async context + ╭─[language/expressions/object/identifier-shorthand-static-init-await-invalid.js:22:1] + 22 │ static { + 23 │ ({ await }); + · ───── + 24 │ } + ╰──── + + × Cannot use `await` as an identifier in an async context + ╭─[language/expressions/object/method-definition/async-await-as-binding-identifier-escaped.js:29:1] + 29 │ async method() { + 30 │ var \u0061wait; + · ────────── + 31 │ } + ╰──── + + × Cannot use `await` as an identifier in an async context + ╭─[language/expressions/object/method-definition/async-await-as-binding-identifier.js:29:1] + 29 │ async method() { + 30 │ var await; + · ───── + 31 │ } + ╰──── + × Keywords cannot contain escape characters ╭─[language/expressions/object/method-definition/async-await-as-identifier-reference-escaped.js:29:1] 29 │ async method() { @@ -14015,6 +14654,22 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" 31 │ } ╰──── + × Cannot use `await` as an identifier in an async context + ╭─[language/expressions/object/method-definition/async-gen-await-as-binding-identifier-escaped.js:28:1] + 28 │ async *method() { + 29 │ var \u0061wait; + · ────────── + 30 │ } + ╰──── + + × Cannot use `await` as an identifier in an async context + ╭─[language/expressions/object/method-definition/async-gen-await-as-binding-identifier.js:28:1] + 28 │ async *method() { + 29 │ var await; + · ───── + 30 │ } + ╰──── + × Keywords cannot contain escape characters ╭─[language/expressions/object/method-definition/async-gen-await-as-identifier-reference-escaped.js:28:1] 28 │ async *method() { @@ -14086,6 +14741,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/expressions/object/method-definition/async-gen-yield-as-binding-identifier-escaped.js:28:1] 28 │ async *method() { + 29 │ var yi\u0065ld; + · ────────── + 30 │ } + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/expressions/object/method-definition/async-gen-yield-as-binding-identifier-escaped.js:28:1] + 28 │ async *method() { 29 │ var yi\u0065ld; · ────────── 30 │ } @@ -14094,6 +14757,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/expressions/object/method-definition/async-gen-yield-as-binding-identifier.js:28:1] 28 │ async *method() { + 29 │ var yield; + · ───── + 30 │ } + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/expressions/object/method-definition/async-gen-yield-as-binding-identifier.js:28:1] + 28 │ async *method() { 29 │ var yield; · ───── 30 │ } @@ -14102,6 +14773,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/expressions/object/method-definition/async-gen-yield-as-identifier-reference-escaped.js:28:1] 28 │ async *method() { + 29 │ void yi\u0065ld; + · ────────── + 30 │ } + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/expressions/object/method-definition/async-gen-yield-as-identifier-reference-escaped.js:28:1] + 28 │ async *method() { 29 │ void yi\u0065ld; · ────────── 30 │ } @@ -14110,6 +14789,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/expressions/object/method-definition/async-gen-yield-as-identifier-reference.js:28:1] 28 │ async *method() { + 29 │ void yield; + · ───── + 30 │ } + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/expressions/object/method-definition/async-gen-yield-as-identifier-reference.js:28:1] + 28 │ async *method() { 29 │ void yield; · ───── 30 │ } @@ -14195,6 +14882,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" 17 │ }) ╰──── + × Cannot use `await` as an identifier in an async context + ╭─[language/expressions/object/method-definition/early-errors-object-method-await-in-formals.js:15:1] + 15 │ ({ + 16 │ async foo (await) { } + · ───── + 17 │ }) + ╰──── + × Super calls are not permitted outside constructors or in nested functions inside constructors. │ ╭─[language/expressions/object/method-definition/early-errors-object-method-body-contains-super-call.js:15:1] @@ -14306,6 +15001,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/expressions/object/method-definition/gen-yield-as-binding-identifier-escaped.js:28:1] 28 │ *method() { + 29 │ var yi\u0065ld; + · ────────── + 30 │ } + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/expressions/object/method-definition/gen-yield-as-binding-identifier-escaped.js:28:1] + 28 │ *method() { 29 │ var yi\u0065ld; · ────────── 30 │ } @@ -14314,6 +15017,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/expressions/object/method-definition/gen-yield-as-binding-identifier.js:28:1] 28 │ *method() { + 29 │ var yield; + · ───── + 30 │ } + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/expressions/object/method-definition/gen-yield-as-binding-identifier.js:28:1] + 28 │ *method() { 29 │ var yield; · ───── 30 │ } @@ -14322,6 +15033,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/expressions/object/method-definition/gen-yield-as-identifier-reference-escaped.js:28:1] 28 │ *method() { + 29 │ void yi\u0065ld; + · ────────── + 30 │ } + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/expressions/object/method-definition/gen-yield-as-identifier-reference-escaped.js:28:1] + 28 │ *method() { 29 │ void yi\u0065ld; · ────────── 30 │ } @@ -14330,6 +15049,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/expressions/object/method-definition/gen-yield-as-identifier-reference.js:28:1] 28 │ *method() { + 29 │ void yield; + · ───── + 30 │ } + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/expressions/object/method-definition/gen-yield-as-identifier-reference.js:28:1] + 28 │ *method() { 29 │ void yield; · ───── 30 │ } @@ -14380,6 +15107,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" 28 │ throw new Test262Error(); ╰──── + × Cannot use `yield` as an identifier in a generator context + ╭─[language/expressions/object/method-definition/generator-param-id-yield.js:18:1] + 18 │ ({ + 19 │ *method(yield) {} + · ───── + 20 │ }); + ╰──── + × Identifier `a` has already been declared ╭─[language/expressions/object/method-definition/generator-param-redecl-const.js:19:1] 19 │ var obj = { @@ -14568,6 +15303,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/expressions/object/method-definition/yield-as-parameter.js:17:1] 17 │ var obj = { + 18 │ *g(yield) {} + · ───── + 19 │ }; + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/expressions/object/method-definition/yield-as-parameter.js:17:1] + 17 │ var obj = { 18 │ *g(yield) {} · ───── 19 │ }; @@ -14581,6 +15324,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" 20 │ } ╰──── + × Cannot use `yield` as an identifier in a generator context + ╭─[language/expressions/object/method-definition/yield-weak-binding.js:16:1] + 16 │ var obj = { + 17 │ *g() { yield 3 + yield 4; } + · ───── + 18 │ }; + ╰──── + × Automatic Semicolon Insertion ╭─[language/expressions/object/method-definition/yield-weak-binding.js:16:1] 16 │ var obj = { @@ -18778,6 +19529,13 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'await' is reserved ╭─[language/module-code/top-level-await/new-await.js:16:1] 16 │ + 17 │ new await; + · ───── + ╰──── + + × Cannot use `await` as an identifier in an async context + ╭─[language/module-code/top-level-await/new-await.js:16:1] + 16 │ 17 │ new await; · ───── ╰──── @@ -18949,6 +19707,13 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'await' is reserved ╭─[language/reserved-words/await-module.js:14:1] 14 │ + 15 │ var await; + · ───── + ╰──── + + × Cannot use `await` as an identifier in an async context + ╭─[language/reserved-words/await-module.js:14:1] + 14 │ 15 │ var await; · ───── ╰──── @@ -19108,6 +19873,22 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" · ╰── Rest element must be last element ╰──── + × Cannot use `await` as an identifier in an async context + ╭─[language/statements/async-function/await-as-binding-identifier-escaped.js:28:1] + 28 │ async function asyncFn() { + 29 │ var \u0061wait; + · ────────── + 30 │ } + ╰──── + + × Cannot use `await` as an identifier in an async context + ╭─[language/statements/async-function/await-as-binding-identifier.js:28:1] + 28 │ async function asyncFn() { + 29 │ var await; + · ───── + 30 │ } + ╰──── + × Keywords cannot contain escape characters ╭─[language/statements/async-function/await-as-identifier-reference-escaped.js:28:1] 28 │ async function asyncFn() { @@ -19165,6 +19946,13 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" · ─ ╰──── + × Cannot use `await` as an identifier in an async context + ╭─[language/statements/async-function/early-errors-declaration-await-in-formals.js:13:1] + 13 │ $DONOTEVALUATE(); + 14 │ async function foo (await) { } + · ───── + ╰──── + × Super calls are not permitted outside constructors or in nested functions inside constructors. │ ╭─[language/statements/async-function/early-errors-declaration-body-contains-super-call.js:14:1] @@ -19214,6 +20002,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" · ╰── keyword cannot contain escape characters ╰──── + × Cannot use `await` as an identifier in an async context + ╭─[language/statements/async-function/let-newline-await-in-async-function.js:22:1] + 22 │ let + 23 │ await 0; + · ───── + 24 │ } + ╰──── + × Automatic Semicolon Insertion ╭─[language/statements/async-function/let-newline-await-in-async-function.js:22:1] 22 │ let @@ -19233,6 +20029,22 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" 34 │ ╰──── + × Cannot use `await` as an identifier in an async context + ╭─[language/statements/async-generator/await-as-binding-identifier-escaped.js:29:1] + 29 │ async function *gen() { + 30 │ var \u0061wait; + · ────────── + 31 │ } + ╰──── + + × Cannot use `await` as an identifier in an async context + ╭─[language/statements/async-generator/await-as-binding-identifier.js:29:1] + 29 │ async function *gen() { + 30 │ var await; + · ───── + 31 │ } + ╰──── + × Keywords cannot contain escape characters ╭─[language/statements/async-generator/await-as-identifier-reference-escaped.js:29:1] 29 │ async function *gen() { @@ -19357,6 +20169,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/statements/async-generator/yield-as-binding-identifier-escaped.js:29:1] 29 │ async function *gen() { + 30 │ var yi\u0065ld; + · ────────── + 31 │ } + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/statements/async-generator/yield-as-binding-identifier-escaped.js:29:1] + 29 │ async function *gen() { 30 │ var yi\u0065ld; · ────────── 31 │ } @@ -19365,6 +20185,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/statements/async-generator/yield-as-binding-identifier.js:29:1] 29 │ async function *gen() { + 30 │ var yield; + · ───── + 31 │ } + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/statements/async-generator/yield-as-binding-identifier.js:29:1] + 29 │ async function *gen() { 30 │ var yield; · ───── 31 │ } @@ -19373,6 +20201,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/statements/async-generator/yield-as-identifier-reference-escaped.js:29:1] 29 │ async function *gen() { + 30 │ void yi\u0065ld; + · ────────── + 31 │ } + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/statements/async-generator/yield-as-identifier-reference-escaped.js:29:1] + 29 │ async function *gen() { 30 │ void yi\u0065ld; · ────────── 31 │ } @@ -19381,6 +20217,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/statements/async-generator/yield-as-identifier-reference.js:29:1] 29 │ async function *gen() { + 30 │ void yield; + · ───── + 31 │ } + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/statements/async-generator/yield-as-identifier-reference.js:29:1] + 29 │ async function *gen() { 30 │ void yield; · ───── 31 │ } @@ -19671,6 +20515,22 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" 26 │ }; ╰──── + × Cannot use `await` as an identifier in an async context + ╭─[language/statements/class/async-gen-method-static/await-as-binding-identifier-escaped.js:34:1] + 34 │ class C { static async *gen() { + 35 │ var \u0061wait; + · ────────── + 36 │ }} + ╰──── + + × Cannot use `await` as an identifier in an async context + ╭─[language/statements/class/async-gen-method-static/await-as-binding-identifier.js:34:1] + 34 │ class C { static async *gen() { + 35 │ var await; + · ───── + 36 │ }} + ╰──── + × Keywords cannot contain escape characters ╭─[language/statements/class/async-gen-method-static/await-as-identifier-reference-escaped.js:34:1] 34 │ class C { static async *gen() { @@ -19733,6 +20593,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/statements/class/async-gen-method-static/yield-as-binding-identifier-escaped.js:34:1] 34 │ class C { static async *gen() { + 35 │ var yi\u0065ld; + · ────────── + 36 │ }} + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/statements/class/async-gen-method-static/yield-as-binding-identifier-escaped.js:34:1] + 34 │ class C { static async *gen() { 35 │ var yi\u0065ld; · ────────── 36 │ }} @@ -19741,6 +20609,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/statements/class/async-gen-method-static/yield-as-binding-identifier.js:34:1] 34 │ class C { static async *gen() { + 35 │ var yield; + · ───── + 36 │ }} + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/statements/class/async-gen-method-static/yield-as-binding-identifier.js:34:1] + 34 │ class C { static async *gen() { 35 │ var yield; · ───── 36 │ }} @@ -19749,6 +20625,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/statements/class/async-gen-method-static/yield-as-identifier-reference-escaped.js:34:1] 34 │ class C { static async *gen() { + 35 │ void yi\u0065ld; + · ────────── + 36 │ }} + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/statements/class/async-gen-method-static/yield-as-identifier-reference-escaped.js:34:1] + 34 │ class C { static async *gen() { 35 │ void yi\u0065ld; · ────────── 36 │ }} @@ -19757,6 +20641,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/statements/class/async-gen-method-static/yield-as-identifier-reference.js:34:1] 34 │ class C { static async *gen() { + 35 │ void yield; + · ───── + 36 │ }} + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/statements/class/async-gen-method-static/yield-as-identifier-reference.js:34:1] + 34 │ class C { static async *gen() { 35 │ void yield; · ───── 36 │ }} @@ -19807,6 +20699,22 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" 34 │ throw new Test262Error(); ╰──── + × Cannot use `await` as an identifier in an async context + ╭─[language/statements/class/async-gen-method/await-as-binding-identifier-escaped.js:34:1] + 34 │ class C { async *gen() { + 35 │ var \u0061wait; + · ────────── + 36 │ }} + ╰──── + + × Cannot use `await` as an identifier in an async context + ╭─[language/statements/class/async-gen-method/await-as-binding-identifier.js:34:1] + 34 │ class C { async *gen() { + 35 │ var await; + · ───── + 36 │ }} + ╰──── + × Keywords cannot contain escape characters ╭─[language/statements/class/async-gen-method/await-as-identifier-reference-escaped.js:34:1] 34 │ class C { async *gen() { @@ -19869,6 +20777,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/statements/class/async-gen-method/yield-as-binding-identifier-escaped.js:34:1] 34 │ class C { async *gen() { + 35 │ var yi\u0065ld; + · ────────── + 36 │ }} + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/statements/class/async-gen-method/yield-as-binding-identifier-escaped.js:34:1] + 34 │ class C { async *gen() { 35 │ var yi\u0065ld; · ────────── 36 │ }} @@ -19877,6 +20793,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/statements/class/async-gen-method/yield-as-binding-identifier.js:34:1] 34 │ class C { async *gen() { + 35 │ var yield; + · ───── + 36 │ }} + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/statements/class/async-gen-method/yield-as-binding-identifier.js:34:1] + 34 │ class C { async *gen() { 35 │ var yield; · ───── 36 │ }} @@ -19885,6 +20809,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/statements/class/async-gen-method/yield-as-identifier-reference-escaped.js:34:1] 34 │ class C { async *gen() { + 35 │ void yi\u0065ld; + · ────────── + 36 │ }} + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/statements/class/async-gen-method/yield-as-identifier-reference-escaped.js:34:1] + 34 │ class C { async *gen() { 35 │ void yi\u0065ld; · ────────── 36 │ }} @@ -19893,6 +20825,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/statements/class/async-gen-method/yield-as-identifier-reference.js:34:1] 34 │ class C { async *gen() { + 35 │ void yield; + · ───── + 36 │ }} + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/statements/class/async-gen-method/yield-as-identifier-reference.js:34:1] + 34 │ class C { async *gen() { 35 │ void yield; · ───── 36 │ }} @@ -19952,6 +20892,22 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" 26 │ }; ╰──── + × Cannot use `await` as an identifier in an async context + ╭─[language/statements/class/async-method-static/await-as-binding-identifier-escaped.js:35:1] + 35 │ static async method() { + 36 │ var \u0061wait; + · ────────── + 37 │ } + ╰──── + + × Cannot use `await` as an identifier in an async context + ╭─[language/statements/class/async-method-static/await-as-binding-identifier.js:35:1] + 35 │ static async method() { + 36 │ var await; + · ───── + 37 │ } + ╰──── + × Keywords cannot contain escape characters ╭─[language/statements/class/async-method-static/await-as-identifier-reference-escaped.js:35:1] 35 │ static async method() { @@ -20011,6 +20967,22 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" 57 │ ╰──── + × Cannot use `await` as an identifier in an async context + ╭─[language/statements/class/async-method/await-as-binding-identifier-escaped.js:35:1] + 35 │ async method() { + 36 │ var \u0061wait; + · ────────── + 37 │ } + ╰──── + + × Cannot use `await` as an identifier in an async context + ╭─[language/statements/class/async-method/await-as-binding-identifier.js:35:1] + 35 │ async method() { + 36 │ var await; + · ───── + 37 │ } + ╰──── + × Keywords cannot contain escape characters ╭─[language/statements/class/async-method/await-as-identifier-reference-escaped.js:35:1] 35 │ async method() { @@ -20073,6 +21045,13 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'await' is reserved ╭─[language/statements/class/class-name-ident-await-escaped-module.js:22:1] 22 │ + 23 │ class aw\u0061it {} + · ────────── + ╰──── + + × Cannot use `await` as an identifier in an async context + ╭─[language/statements/class/class-name-ident-await-escaped-module.js:22:1] + 22 │ 23 │ class aw\u0061it {} · ────────── ╰──── @@ -20080,6 +21059,13 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'await' is reserved ╭─[language/statements/class/class-name-ident-await-module.js:21:1] 21 │ + 22 │ class await {} + · ───── + ╰──── + + × Cannot use `await` as an identifier in an async context + ╭─[language/statements/class/class-name-ident-await-module.js:21:1] + 21 │ 22 │ class await {} · ───── ╰──── @@ -20134,6 +21120,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" 16 │ } ╰──── + × Cannot use `await` as an identifier in an async context + ╭─[language/statements/class/definition/early-errors-class-method-await-in-formals.js:14:1] + 14 │ class Foo { + 15 │ async foo (await) { } + · ───── + 16 │ } + ╰──── + × Super calls are not permitted outside constructors or in nested functions inside constructors. │ ╭─[language/statements/class/definition/early-errors-class-method-body-contains-super-call.js:14:1] @@ -20188,6 +21182,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/statements/class/definition/methods-gen-yield-as-parameter.js:17:1] 17 │ class A { + 18 │ *g(yield) {} + · ───── + 19 │ } + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/statements/class/definition/methods-gen-yield-as-parameter.js:17:1] + 17 │ class A { 18 │ *g(yield) {} · ───── 19 │ } @@ -20201,6 +21203,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" 20 │ } ╰──── + × Cannot use `yield` as an identifier in a generator context + ╭─[language/statements/class/definition/methods-gen-yield-weak-binding.js:16:1] + 16 │ class A { + 17 │ *g() { yield 3 + yield 4; } + · ───── + 18 │ } + ╰──── + × Automatic Semicolon Insertion ╭─[language/statements/class/definition/methods-gen-yield-weak-binding.js:16:1] 16 │ class A { @@ -20876,6 +21886,22 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" 27 │ } ╰──── + × Cannot use `await` as an identifier in an async context + ╭─[language/statements/class/elements/async-gen-private-method-static/await-as-binding-identifier-escaped.js:34:1] + 34 │ class C { static async *#gen() { + 35 │ var \u0061wait; + · ────────── + 36 │ }} + ╰──── + + × Cannot use `await` as an identifier in an async context + ╭─[language/statements/class/elements/async-gen-private-method-static/await-as-binding-identifier.js:34:1] + 34 │ class C { static async *#gen() { + 35 │ var await; + · ───── + 36 │ }} + ╰──── + × Keywords cannot contain escape characters ╭─[language/statements/class/elements/async-gen-private-method-static/await-as-identifier-reference-escaped.js:34:1] 34 │ class C { static async *#gen() { @@ -20929,6 +21955,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/statements/class/elements/async-gen-private-method-static/yield-as-binding-identifier-escaped.js:34:1] 34 │ class C { static async *#gen() { + 35 │ var yi\u0065ld; + · ────────── + 36 │ }} + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/statements/class/elements/async-gen-private-method-static/yield-as-binding-identifier-escaped.js:34:1] + 34 │ class C { static async *#gen() { 35 │ var yi\u0065ld; · ────────── 36 │ }} @@ -20937,6 +21971,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/statements/class/elements/async-gen-private-method-static/yield-as-binding-identifier.js:34:1] 34 │ class C { static async *#gen() { + 35 │ var yield; + · ───── + 36 │ }} + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/statements/class/elements/async-gen-private-method-static/yield-as-binding-identifier.js:34:1] + 34 │ class C { static async *#gen() { 35 │ var yield; · ───── 36 │ }} @@ -20945,6 +21987,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/statements/class/elements/async-gen-private-method-static/yield-as-identifier-reference-escaped.js:34:1] 34 │ class C { static async *#gen() { + 35 │ void yi\u0065ld; + · ────────── + 36 │ }} + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/statements/class/elements/async-gen-private-method-static/yield-as-identifier-reference-escaped.js:34:1] + 34 │ class C { static async *#gen() { 35 │ void yi\u0065ld; · ────────── 36 │ }} @@ -20953,6 +22003,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/statements/class/elements/async-gen-private-method-static/yield-as-identifier-reference.js:34:1] 34 │ class C { static async *#gen() { + 35 │ void yield; + · ───── + 36 │ }} + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/statements/class/elements/async-gen-private-method-static/yield-as-identifier-reference.js:34:1] + 34 │ class C { static async *#gen() { 35 │ void yield; · ───── 36 │ }} @@ -21003,6 +22061,22 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" 35 │ throw new Test262Error(); ╰──── + × Cannot use `await` as an identifier in an async context + ╭─[language/statements/class/elements/async-gen-private-method/await-as-binding-identifier-escaped.js:34:1] + 34 │ class C { async *#gen() { + 35 │ var \u0061wait; + · ────────── + 36 │ }} + ╰──── + + × Cannot use `await` as an identifier in an async context + ╭─[language/statements/class/elements/async-gen-private-method/await-as-binding-identifier.js:34:1] + 34 │ class C { async *#gen() { + 35 │ var await; + · ───── + 36 │ }} + ╰──── + × Keywords cannot contain escape characters ╭─[language/statements/class/elements/async-gen-private-method/await-as-identifier-reference-escaped.js:34:1] 34 │ class C { async *#gen() { @@ -21056,6 +22130,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/statements/class/elements/async-gen-private-method/yield-as-binding-identifier-escaped.js:34:1] 34 │ class C { async *#gen() { + 35 │ var yi\u0065ld; + · ────────── + 36 │ }} + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/statements/class/elements/async-gen-private-method/yield-as-binding-identifier-escaped.js:34:1] + 34 │ class C { async *#gen() { 35 │ var yi\u0065ld; · ────────── 36 │ }} @@ -21064,6 +22146,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/statements/class/elements/async-gen-private-method/yield-as-binding-identifier.js:34:1] 34 │ class C { async *#gen() { + 35 │ var yield; + · ───── + 36 │ }} + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/statements/class/elements/async-gen-private-method/yield-as-binding-identifier.js:34:1] + 34 │ class C { async *#gen() { 35 │ var yield; · ───── 36 │ }} @@ -21072,6 +22162,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/statements/class/elements/async-gen-private-method/yield-as-identifier-reference-escaped.js:34:1] 34 │ class C { async *#gen() { + 35 │ void yi\u0065ld; + · ────────── + 36 │ }} + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/statements/class/elements/async-gen-private-method/yield-as-identifier-reference-escaped.js:34:1] + 34 │ class C { async *#gen() { 35 │ void yi\u0065ld; · ────────── 36 │ }} @@ -21080,6 +22178,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/statements/class/elements/async-gen-private-method/yield-as-identifier-reference.js:34:1] 34 │ class C { async *#gen() { + 35 │ void yield; + · ───── + 36 │ }} + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/statements/class/elements/async-gen-private-method/yield-as-identifier-reference.js:34:1] + 34 │ class C { async *#gen() { 35 │ void yield; · ───── 36 │ }} @@ -21130,6 +22236,22 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" 35 │ throw new Test262Error(); ╰──── + × Cannot use `await` as an identifier in an async context + ╭─[language/statements/class/elements/async-private-method-static/await-as-binding-identifier-escaped.js:35:1] + 35 │ static async #method() { + 36 │ var \u0061wait; + · ────────── + 37 │ } + ╰──── + + × Cannot use `await` as an identifier in an async context + ╭─[language/statements/class/elements/async-private-method-static/await-as-binding-identifier.js:35:1] + 35 │ static async #method() { + 36 │ var await; + · ───── + 37 │ } + ╰──── + × Keywords cannot contain escape characters ╭─[language/statements/class/elements/async-private-method-static/await-as-identifier-reference-escaped.js:35:1] 35 │ static async #method() { @@ -21180,6 +22302,22 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" 37 │ } ╰──── + × Cannot use `await` as an identifier in an async context + ╭─[language/statements/class/elements/async-private-method/await-as-binding-identifier-escaped.js:35:1] + 35 │ async #method() { + 36 │ var \u0061wait; + · ────────── + 37 │ } + ╰──── + + × Cannot use `await` as an identifier in an async context + ╭─[language/statements/class/elements/async-private-method/await-as-binding-identifier.js:35:1] + 35 │ async #method() { + 36 │ var await; + · ───── + 37 │ } + ╰──── + × Keywords cannot contain escape characters ╭─[language/statements/class/elements/async-private-method/await-as-identifier-reference-escaped.js:35:1] 35 │ async #method() { @@ -21373,6 +22511,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/statements/class/elements/gen-private-method-static/yield-as-binding-identifier-escaped.js:33:1] 33 │ class C {static *#gen() { + 34 │ var yi\u0065ld; + · ────────── + 35 │ }} + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/statements/class/elements/gen-private-method-static/yield-as-binding-identifier-escaped.js:33:1] + 33 │ class C {static *#gen() { 34 │ var yi\u0065ld; · ────────── 35 │ }} @@ -21381,6 +22527,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/statements/class/elements/gen-private-method-static/yield-as-binding-identifier.js:33:1] 33 │ class C {static *#gen() { + 34 │ var yield; + · ───── + 35 │ }} + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/statements/class/elements/gen-private-method-static/yield-as-binding-identifier.js:33:1] + 33 │ class C {static *#gen() { 34 │ var yield; · ───── 35 │ }} @@ -21389,6 +22543,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/statements/class/elements/gen-private-method-static/yield-as-identifier-reference-escaped.js:33:1] 33 │ class C {static *#gen() { + 34 │ void yi\u0065ld; + · ────────── + 35 │ }} + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/statements/class/elements/gen-private-method-static/yield-as-identifier-reference-escaped.js:33:1] + 33 │ class C {static *#gen() { 34 │ void yi\u0065ld; · ────────── 35 │ }} @@ -21397,6 +22559,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/statements/class/elements/gen-private-method-static/yield-as-identifier-reference.js:33:1] 33 │ class C {static *#gen() { + 34 │ void yield; + · ───── + 35 │ }} + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/statements/class/elements/gen-private-method-static/yield-as-identifier-reference.js:33:1] + 33 │ class C {static *#gen() { 34 │ void yield; · ───── 35 │ }} @@ -21450,6 +22620,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/statements/class/elements/gen-private-method/yield-as-binding-identifier-escaped.js:33:1] 33 │ class C { *#gen() { + 34 │ var yi\u0065ld; + · ────────── + 35 │ }} + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/statements/class/elements/gen-private-method/yield-as-binding-identifier-escaped.js:33:1] + 33 │ class C { *#gen() { 34 │ var yi\u0065ld; · ────────── 35 │ }} @@ -21458,6 +22636,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/statements/class/elements/gen-private-method/yield-as-binding-identifier.js:33:1] 33 │ class C { *#gen() { + 34 │ var yield; + · ───── + 35 │ }} + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/statements/class/elements/gen-private-method/yield-as-binding-identifier.js:33:1] + 33 │ class C { *#gen() { 34 │ var yield; · ───── 35 │ }} @@ -21466,6 +22652,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/statements/class/elements/gen-private-method/yield-as-identifier-reference-escaped.js:33:1] 33 │ class C { *#gen() { + 34 │ void yi\u0065ld; + · ────────── + 35 │ }} + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/statements/class/elements/gen-private-method/yield-as-identifier-reference-escaped.js:33:1] + 33 │ class C { *#gen() { 34 │ void yi\u0065ld; · ────────── 35 │ }} @@ -21474,6 +22668,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/statements/class/elements/gen-private-method/yield-as-identifier-reference.js:33:1] 33 │ class C { *#gen() { + 34 │ void yield; + · ───── + 35 │ }} + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/statements/class/elements/gen-private-method/yield-as-identifier-reference.js:33:1] + 33 │ class C { *#gen() { 34 │ void yield; · ───── 35 │ }} @@ -24633,6 +25835,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/statements/class/gen-method-static/yield-as-binding-identifier-escaped.js:33:1] 33 │ class C {static *gen() { + 34 │ var yi\u0065ld; + · ────────── + 35 │ }} + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/statements/class/gen-method-static/yield-as-binding-identifier-escaped.js:33:1] + 33 │ class C {static *gen() { 34 │ var yi\u0065ld; · ────────── 35 │ }} @@ -24641,6 +25851,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/statements/class/gen-method-static/yield-as-binding-identifier.js:33:1] 33 │ class C {static *gen() { + 34 │ var yield; + · ───── + 35 │ }} + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/statements/class/gen-method-static/yield-as-binding-identifier.js:33:1] + 33 │ class C {static *gen() { 34 │ var yield; · ───── 35 │ }} @@ -24649,6 +25867,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/statements/class/gen-method-static/yield-as-identifier-reference-escaped.js:33:1] 33 │ class C {static *gen() { + 34 │ void yi\u0065ld; + · ────────── + 35 │ }} + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/statements/class/gen-method-static/yield-as-identifier-reference-escaped.js:33:1] + 33 │ class C {static *gen() { 34 │ void yi\u0065ld; · ────────── 35 │ }} @@ -24657,6 +25883,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/statements/class/gen-method-static/yield-as-identifier-reference.js:33:1] 33 │ class C {static *gen() { + 34 │ void yield; + · ───── + 35 │ }} + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/statements/class/gen-method-static/yield-as-identifier-reference.js:33:1] + 33 │ class C {static *gen() { 34 │ void yield; · ───── 35 │ }} @@ -24719,6 +25953,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/statements/class/gen-method/yield-as-binding-identifier-escaped.js:33:1] 33 │ class C { *gen() { + 34 │ var yi\u0065ld; + · ────────── + 35 │ }} + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/statements/class/gen-method/yield-as-binding-identifier-escaped.js:33:1] + 33 │ class C { *gen() { 34 │ var yi\u0065ld; · ────────── 35 │ }} @@ -24727,6 +25969,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/statements/class/gen-method/yield-as-binding-identifier.js:33:1] 33 │ class C { *gen() { + 34 │ var yield; + · ───── + 35 │ }} + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/statements/class/gen-method/yield-as-binding-identifier.js:33:1] + 33 │ class C { *gen() { 34 │ var yield; · ───── 35 │ }} @@ -24735,6 +25985,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/statements/class/gen-method/yield-as-identifier-reference-escaped.js:33:1] 33 │ class C { *gen() { + 34 │ void yi\u0065ld; + · ────────── + 35 │ }} + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/statements/class/gen-method/yield-as-identifier-reference-escaped.js:33:1] + 33 │ class C { *gen() { 34 │ void yi\u0065ld; · ────────── 35 │ }} @@ -24743,6 +26001,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/statements/class/gen-method/yield-as-identifier-reference.js:33:1] 33 │ class C { *gen() { + 34 │ void yield; + · ───── + 35 │ }} + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/statements/class/gen-method/yield-as-identifier-reference.js:33:1] + 33 │ class C { *gen() { 34 │ void yield; · ───── 35 │ }} @@ -24875,6 +26141,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" 18 │ } ╰──── + × Cannot use `await` as an identifier in an async context + ╭─[language/statements/class/static-init-await-binding-invalid.js:23:1] + 23 │ static { + 24 │ class await {} + · ───── + 25 │ } + ╰──── + × 'arguments' is not allowed in static initialization block ╭─[language/statements/class/static-init-invalid-arguments.js:20:1] 20 │ static { @@ -25035,6 +26309,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" 15 │ ╰──── + × Cannot use `await` as an identifier in an async context + ╭─[language/statements/const/static-init-await-binding-invalid.js:23:1] + 23 │ static { + 24 │ const await = 0; + · ───── + 25 │ } + ╰──── + × Missing initializer in const declaration ╭─[language/statements/const/syntax/block-scope-syntax-const-declarations-mixed-with-without-initialiser.js:12:1] 12 │ $DONOTEVALUATE(); @@ -26164,6 +27446,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" · ───── ╰──── + × Cannot use `yield` as an identifier in a generator context + ╭─[language/statements/for-in/dstr/obj-id-identifier-yield-expr.js:32:1] + 32 │ + 33 │ for ({ yield } in [{}]) ; + · ───── + 34 │ + ╰──── + × The keyword 'yield' is reserved ╭─[language/statements/for-in/dstr/obj-id-identifier-yield-ident-invalid.js:31:1] 31 │ @@ -26648,6 +27938,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" · ─────────── ╰──── + × Cannot use `yield` as an identifier in a generator context + ╭─[language/statements/for-of/dstr/obj-id-identifier-yield-expr.js:32:1] + 32 │ + 33 │ for ({ yield } of [{}]) ; + · ───── + 34 │ + ╰──── + × The keyword 'yield' is reserved ╭─[language/statements/for-of/dstr/obj-id-identifier-yield-ident-invalid.js:31:1] 31 │ @@ -27556,6 +28854,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/statements/generators/yield-as-binding-identifier-escaped.js:27:1] 27 │ function *gen() { + 28 │ var yi\u0065ld; + · ────────── + 29 │ } + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/statements/generators/yield-as-binding-identifier-escaped.js:27:1] + 27 │ function *gen() { 28 │ var yi\u0065ld; · ────────── 29 │ } @@ -27564,6 +28870,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/statements/generators/yield-as-binding-identifier.js:27:1] 27 │ function *gen() { + 28 │ var yield; + · ───── + 29 │ } + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/statements/generators/yield-as-binding-identifier.js:27:1] + 27 │ function *gen() { 28 │ var yield; · ───── 29 │ } @@ -27572,6 +28886,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/statements/generators/yield-as-identifier-reference-escaped.js:27:1] 27 │ function *gen() { + 28 │ void yi\u0065ld; + · ────────── + 29 │ } + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/statements/generators/yield-as-identifier-reference-escaped.js:27:1] + 27 │ function *gen() { 28 │ void yi\u0065ld; · ────────── 29 │ } @@ -27580,6 +28902,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/statements/generators/yield-as-identifier-reference.js:27:1] 27 │ function *gen() { + 28 │ void yield; + · ───── + 29 │ } + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/statements/generators/yield-as-identifier-reference.js:27:1] + 27 │ function *gen() { 28 │ void yield; · ───── 29 │ } @@ -27625,6 +28955,13 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" × The keyword 'yield' is reserved ╭─[language/statements/generators/yield-as-parameter.js:16:1] 16 │ + 17 │ function* g(yield) {} + · ───── + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[language/statements/generators/yield-as-parameter.js:16:1] + 16 │ 17 │ function* g(yield) {} · ───── ╰──── @@ -27653,6 +28990,13 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" 19 │ } ╰──── + × Cannot use `yield` as an identifier in a generator context + ╭─[language/statements/generators/yield-weak-binding.js:15:1] + 15 │ + 16 │ function* g() { yield 3 + yield 4; } + · ───── + ╰──── + × Automatic Semicolon Insertion ╭─[language/statements/generators/yield-weak-binding.js:15:1] 15 │ @@ -28099,6 +29443,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" 15 │ ╰──── + × Cannot use `await` as an identifier in an async context + ╭─[language/statements/let/static-init-await-binding-invalid.js:23:1] + 23 │ static { + 24 │ let await; + · ───── + 25 │ } + ╰──── + × The keyword 'let' is reserved ╭─[language/statements/let/syntax/identifier-let-allowed-as-lefthandside-expression-strict.js:15:1] 15 │ var o = { a: 1 }; @@ -28139,6 +29491,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" ╰──── help: Try insert a semicolon here + × Cannot use `yield` as an identifier in a generator context + ╭─[language/statements/let/syntax/let-newline-yield-in-generator-function.js:23:1] + 23 │ let + 24 │ yield 0; + · ───── + 25 │ } + ╰──── + × Automatic Semicolon Insertion ╭─[language/statements/let/syntax/let-newline-yield-in-generator-function.js:23:1] 23 │ let @@ -29071,6 +30431,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" 21 │ ╰──── + × Cannot use `await` as an identifier in an async context + ╭─[language/statements/try/static-init-await-binding-invalid.js:23:1] + 23 │ static { + 24 │ try {} catch (await) {} + · ───── + 25 │ } + ╰──── + × Automatic Semicolon Insertion ╭─[language/statements/variable/S12.2_A8_T1.js:16:1] 16 │ //CHECK#1 @@ -29149,6 +30517,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" ╰──── help: Try insert a semicolon here + × Cannot use `await` as an identifier in an async context + ╭─[language/statements/variable/dstr/ary-ptrn-elem-id-static-init-await-invalid.js:23:1] + 23 │ static { + 24 │ var [await] = []; + · ───── + 25 │ } + ╰──── + × Rest element must be last element ╭─[language/statements/variable/dstr/ary-ptrn-rest-not-final-ary.js:28:1] 28 │ @@ -29176,6 +30552,14 @@ Expect to Parse: "language/statements/function/S14_A5_T2.js" 30 │ ╰──── + × Cannot use `await` as an identifier in an async context + ╭─[language/statements/variable/static-init-await-binding-invalid.js:23:1] + 23 │ static { + 24 │ var await; + · ───── + 25 │ } + ╰──── + × Unexpected token ╭─[language/statements/while/S12.6.2_A15.js:16:1] 16 │ //CHECK# diff --git a/tasks/coverage/typescript.snap b/tasks/coverage/typescript.snap index cd41df777..a2d4fe5a3 100644 --- a/tasks/coverage/typescript.snap +++ b/tasks/coverage/typescript.snap @@ -1,7 +1,7 @@ TypeScript Summary: AST Parsed : 2305/2338 (98.59%) Positive Passed: 2305/2338 (98.59%) -Negative Passed: 620/2532 (24.49%) +Negative Passed: 635/2532 (25.08%) Expect Syntax Error: "Symbols/ES5SymbolProperty2.ts" Expect Syntax Error: "Symbols/ES5SymbolProperty6.ts" Expect Syntax Error: "additionalChecks/noPropertyAccessFromIndexSignature1.ts" @@ -11,24 +11,18 @@ Expect Syntax Error: "ambient/ambientExternalModuleInsideNonAmbient.ts" Expect Syntax Error: "ambient/ambientExternalModuleInsideNonAmbientExternalModule.ts" Expect Syntax Error: "async/es2017/asyncArrowFunction/asyncArrowFunction10_es2017.ts" Expect Syntax Error: "async/es2017/asyncArrowFunction/asyncArrowFunction3_es2017.ts" -Expect Syntax Error: "async/es2017/asyncArrowFunction/asyncArrowFunction5_es2017.ts" -Expect Syntax Error: "async/es2017/asyncArrowFunction/asyncArrowFunction9_es2017.ts" Expect Syntax Error: "async/es2017/asyncArrowFunction/asyncArrowFunction_allowJs.ts" Expect Syntax Error: "async/es2017/asyncAwaitIsolatedModules_es2017.ts" Expect Syntax Error: "async/es2017/await_incorrectThisType.ts" Expect Syntax Error: "async/es2017/await_unaryExpression_es2017_1.ts" Expect Syntax Error: "async/es2017/await_unaryExpression_es2017_2.ts" -Expect Syntax Error: "async/es2017/functionDeclarations/asyncFunctionDeclaration10_es2017.ts" Expect Syntax Error: "async/es2017/functionDeclarations/asyncFunctionDeclaration12_es2017.ts" Expect Syntax Error: "async/es2017/functionDeclarations/asyncFunctionDeclaration13_es2017.ts" Expect Syntax Error: "async/es2017/functionDeclarations/asyncFunctionDeclaration3_es2017.ts" -Expect Syntax Error: "async/es2017/functionDeclarations/asyncFunctionDeclaration5_es2017.ts" Expect Syntax Error: "async/es2017/functionDeclarations/asyncFunctionDeclaration8_es2017.ts" Expect Syntax Error: "async/es5/asyncAliasReturnType_es5.ts" Expect Syntax Error: "async/es5/asyncArrowFunction/asyncArrowFunction10_es5.ts" Expect Syntax Error: "async/es5/asyncArrowFunction/asyncArrowFunction3_es5.ts" -Expect Syntax Error: "async/es5/asyncArrowFunction/asyncArrowFunction5_es5.ts" -Expect Syntax Error: "async/es5/asyncArrowFunction/asyncArrowFunction9_es5.ts" Expect Syntax Error: "async/es5/asyncArrowFunction/asyncArrowFunctionCapturesArguments_es5.ts" Expect Syntax Error: "async/es5/asyncAwaitIsolatedModules_es5.ts" Expect Syntax Error: "async/es5/asyncClass_es5.ts" @@ -36,18 +30,14 @@ Expect Syntax Error: "async/es5/asyncDeclare_es5.ts" Expect Syntax Error: "async/es5/asyncEnum_es5.ts" Expect Syntax Error: "async/es5/asyncInterface_es5.ts" Expect Syntax Error: "async/es5/asyncModule_es5.ts" -Expect Syntax Error: "async/es5/functionDeclarations/asyncFunctionDeclaration10_es5.ts" Expect Syntax Error: "async/es5/functionDeclarations/asyncFunctionDeclaration12_es5.ts" Expect Syntax Error: "async/es5/functionDeclarations/asyncFunctionDeclaration13_es5.ts" Expect Syntax Error: "async/es5/functionDeclarations/asyncFunctionDeclaration15_es5.ts" Expect Syntax Error: "async/es5/functionDeclarations/asyncFunctionDeclaration3_es5.ts" -Expect Syntax Error: "async/es5/functionDeclarations/asyncFunctionDeclaration5_es5.ts" Expect Syntax Error: "async/es5/functionDeclarations/asyncFunctionDeclaration8_es5.ts" Expect Syntax Error: "async/es5/functionDeclarations/asyncFunctionDeclarationCapturesArguments_es5.ts" Expect Syntax Error: "async/es6/asyncArrowFunction/asyncArrowFunction10_es6.ts" Expect Syntax Error: "async/es6/asyncArrowFunction/asyncArrowFunction3_es6.ts" -Expect Syntax Error: "async/es6/asyncArrowFunction/asyncArrowFunction5_es6.ts" -Expect Syntax Error: "async/es6/asyncArrowFunction/asyncArrowFunction9_es6.ts" Expect Syntax Error: "async/es6/asyncAwaitIsolatedModules_es6.ts" Expect Syntax Error: "async/es6/asyncClass_es6.ts" Expect Syntax Error: "async/es6/asyncDeclare_es6.ts" @@ -57,14 +47,11 @@ Expect Syntax Error: "async/es6/asyncModule_es6.ts" Expect Syntax Error: "async/es6/asyncQualifiedReturnType_es6.ts" Expect Syntax Error: "async/es6/await_unaryExpression_es6_1.ts" Expect Syntax Error: "async/es6/await_unaryExpression_es6_2.ts" -Expect Syntax Error: "async/es6/functionDeclarations/asyncFunctionDeclaration10_es6.ts" Expect Syntax Error: "async/es6/functionDeclarations/asyncFunctionDeclaration12_es6.ts" Expect Syntax Error: "async/es6/functionDeclarations/asyncFunctionDeclaration13_es6.ts" Expect Syntax Error: "async/es6/functionDeclarations/asyncFunctionDeclaration15_es6.ts" Expect Syntax Error: "async/es6/functionDeclarations/asyncFunctionDeclaration3_es6.ts" -Expect Syntax Error: "async/es6/functionDeclarations/asyncFunctionDeclaration5_es6.ts" Expect Syntax Error: "async/es6/functionDeclarations/asyncFunctionDeclaration8_es6.ts" -Expect Syntax Error: "async/es6/functionDeclarations/asyncOrYieldAsBindingIdentifier1.ts" Expect Syntax Error: "classes/awaitAndYieldInProperty.ts" Expect Syntax Error: "classes/classDeclarations/classAbstractKeyword/classAbstractAccessor.ts" Expect Syntax Error: "classes/classDeclarations/classAbstractKeyword/classAbstractAssignabilityConstructorFunction.ts" @@ -562,11 +549,9 @@ Expect Syntax Error: "es6/for-ofStatements/for-of48.ts" Expect Syntax Error: "es6/for-ofStatements/for-of55.ts" Expect Syntax Error: "es6/for-ofStatements/for-of6.ts" Expect Syntax Error: "es6/for-ofStatements/for-of7.ts" -Expect Syntax Error: "es6/functionDeclarations/FunctionDeclaration10_es6.ts" Expect Syntax Error: "es6/functionDeclarations/FunctionDeclaration12_es6.ts" Expect Syntax Error: "es6/functionDeclarations/FunctionDeclaration13_es6.ts" Expect Syntax Error: "es6/functionDeclarations/FunctionDeclaration3_es6.ts" -Expect Syntax Error: "es6/functionDeclarations/FunctionDeclaration5_es6.ts" Expect Syntax Error: "es6/functionDeclarations/FunctionDeclaration6_es6.ts" Expect Syntax Error: "es6/functionDeclarations/FunctionDeclaration7_es6.ts" Expect Syntax Error: "es6/functionDeclarations/FunctionDeclaration8_es6.ts" @@ -2178,6 +2163,13 @@ Expect to Parse: "externalModules/topLevelAwait.2.ts" × The keyword 'await' is reserved ╭─[externalModules/topLevelAwait.2.ts:6:1] 6 │ // await allowed in import=namespace when not a module + 7 │ import await = foo.await; + · ───── + ╰──── + + × Cannot use `await` as an identifier in an async context + ╭─[externalModules/topLevelAwait.2.ts:6:1] + 6 │ // await allowed in import=namespace when not a module 7 │ import await = foo.await; · ───── ╰──── @@ -2258,6 +2250,14 @@ Expect to Parse: "salsa/privateIdentifierExpando.ts" · ──── ╰──── + × Cannot use `await` as an identifier in an async context + ╭─[async/es2017/asyncArrowFunction/asyncArrowFunction5_es2017.ts:3:1] + 3 │ + 4 │ var foo = async (await): Promise => { + · ───── + 5 │ } + ╰──── + × Automatic Semicolon Insertion ╭─[async/es2017/asyncArrowFunction/asyncArrowFunction6_es2017.ts:3:1] 3 │ @@ -2284,6 +2284,14 @@ Expect to Parse: "salsa/privateIdentifierExpando.ts" 6 │ } ╰──── + × Cannot use `await` as an identifier in an async context + ╭─[async/es2017/asyncArrowFunction/asyncArrowFunction9_es2017.ts:2:1] + 2 │ // @noEmitHelpers: true + 3 │ var foo = async (a = await => await): Promise => { + · ───── + 4 │ } + ╰──── + × Invalid assignment ╭─[async/es2017/await_unaryExpression_es2017_3.ts:3:1] 3 │ async function bar1() { @@ -2293,6 +2301,22 @@ Expect to Parse: "salsa/privateIdentifierExpando.ts" 5 │ } ╰──── + × Cannot use `await` as an identifier in an async context + ╭─[async/es2017/functionDeclarations/asyncFunctionDeclaration10_es2017.ts:2:1] + 2 │ // @noEmitHelpers: true + 3 │ async function foo(a = await => await): Promise { + · ───── + 4 │ } + ╰──── + + × Cannot use `await` as an identifier in an async context + ╭─[async/es2017/functionDeclarations/asyncFunctionDeclaration5_es2017.ts:2:1] + 2 │ // @noEmitHelpers: true + 3 │ async function foo(await): Promise { + · ───── + 4 │ } + ╰──── + × Unexpected token ╭─[async/es2017/functionDeclarations/asyncFunctionDeclaration6_es2017.ts:2:1] 2 │ // @noEmitHelpers: true @@ -2317,6 +2341,14 @@ Expect to Parse: "salsa/privateIdentifierExpando.ts" 5 │ } ╰──── + × Cannot use `await` as an identifier in an async context + ╭─[async/es5/asyncArrowFunction/asyncArrowFunction5_es5.ts:4:1] + 4 │ + 5 │ var foo = async (await): Promise => { + · ───── + 6 │ } + ╰──── + × Automatic Semicolon Insertion ╭─[async/es5/asyncArrowFunction/asyncArrowFunction6_es5.ts:4:1] 4 │ @@ -2343,6 +2375,14 @@ Expect to Parse: "salsa/privateIdentifierExpando.ts" 7 │ } ╰──── + × Cannot use `await` as an identifier in an async context + ╭─[async/es5/asyncArrowFunction/asyncArrowFunction9_es5.ts:3:1] + 3 │ // @noEmitHelpers: true + 4 │ var foo = async (a = await => await): Promise => { + · ───── + 5 │ } + ╰──── + × Constructor can't be an async method ╭─[async/es5/asyncConstructor_es5.ts:4:1] 4 │ class C { @@ -2370,6 +2410,22 @@ Expect to Parse: "salsa/privateIdentifierExpando.ts" 6 │ } ╰──── + × Cannot use `await` as an identifier in an async context + ╭─[async/es5/functionDeclarations/asyncFunctionDeclaration10_es5.ts:3:1] + 3 │ // @noEmitHelpers: true + 4 │ async function foo(a = await => await): Promise { + · ───── + 5 │ } + ╰──── + + × Cannot use `await` as an identifier in an async context + ╭─[async/es5/functionDeclarations/asyncFunctionDeclaration5_es5.ts:3:1] + 3 │ // @noEmitHelpers: true + 4 │ async function foo(await): Promise { + · ───── + 5 │ } + ╰──── + × Unexpected token ╭─[async/es5/functionDeclarations/asyncFunctionDeclaration6_es5.ts:3:1] 3 │ // @noEmitHelpers: true @@ -2394,6 +2450,14 @@ Expect to Parse: "salsa/privateIdentifierExpando.ts" 6 │ } ╰──── + × Cannot use `await` as an identifier in an async context + ╭─[async/es6/asyncArrowFunction/asyncArrowFunction5_es6.ts:3:1] + 3 │ + 4 │ var foo = async (await): Promise => { + · ───── + 5 │ } + ╰──── + × Automatic Semicolon Insertion ╭─[async/es6/asyncArrowFunction/asyncArrowFunction6_es6.ts:3:1] 3 │ @@ -2420,6 +2484,14 @@ Expect to Parse: "salsa/privateIdentifierExpando.ts" 6 │ } ╰──── + × Cannot use `await` as an identifier in an async context + ╭─[async/es6/asyncArrowFunction/asyncArrowFunction9_es6.ts:2:1] + 2 │ // @noEmitHelpers: true + 3 │ var foo = async (a = await => await): Promise => { + · ───── + 4 │ } + ╰──── + × Constructor can't be an async method ╭─[async/es6/asyncConstructor_es6.ts:3:1] 3 │ class C { @@ -2456,6 +2528,22 @@ Expect to Parse: "salsa/privateIdentifierExpando.ts" 5 │ } ╰──── + × Cannot use `await` as an identifier in an async context + ╭─[async/es6/functionDeclarations/asyncFunctionDeclaration10_es6.ts:2:1] + 2 │ // @noEmitHelpers: true + 3 │ async function foo(a = await => await): Promise { + · ───── + 4 │ } + ╰──── + + × Cannot use `await` as an identifier in an async context + ╭─[async/es6/functionDeclarations/asyncFunctionDeclaration5_es6.ts:2:1] + 2 │ // @noEmitHelpers: true + 3 │ async function foo(await): Promise { + · ───── + 4 │ } + ╰──── + × Unexpected token ╭─[async/es6/functionDeclarations/asyncFunctionDeclaration6_es6.ts:2:1] 2 │ // @noEmitHelpers: true @@ -2480,6 +2568,54 @@ Expect to Parse: "salsa/privateIdentifierExpando.ts" 5 │ } ╰──── + × Cannot use `await` as an identifier in an async context + ╭─[async/es6/functionDeclarations/asyncOrYieldAsBindingIdentifier1.ts:15:1] + 15 │ async function f2_let () { + 16 │ let await = 1 + · ───── + 17 │ } + ╰──── + + × Cannot use `await` as an identifier in an async context + ╭─[async/es6/functionDeclarations/asyncOrYieldAsBindingIdentifier1.ts:19:1] + 19 │ async function f2_var () { + 20 │ var await = 1 + · ───── + 21 │ } + ╰──── + + × Cannot use `await` as an identifier in an async context + ╭─[async/es6/functionDeclarations/asyncOrYieldAsBindingIdentifier1.ts:23:1] + 23 │ async function f2_const () { + 24 │ const await = 1 + · ───── + 25 │ } + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[async/es6/functionDeclarations/asyncOrYieldAsBindingIdentifier1.ts:39:1] + 39 │ function * f4_let () { + 40 │ let yield = 2; + · ───── + 41 │ } + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[async/es6/functionDeclarations/asyncOrYieldAsBindingIdentifier1.ts:43:1] + 43 │ function * f4_var () { + 44 │ var yield = 2; + · ───── + 45 │ } + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[async/es6/functionDeclarations/asyncOrYieldAsBindingIdentifier1.ts:47:1] + 47 │ function * f4_const () { + 48 │ const yield = 2; + · ───── + 49 │ } + ╰──── + × Unexpected token ╭─[classes/classDeclarations/classAbstractKeyword/classAbstractCrashedOnce.ts:7:1] 7 │ this. @@ -2639,6 +2775,30 @@ Expect to Parse: "salsa/privateIdentifierExpando.ts" 3 │ // something ╰──── + × Cannot use `await` as an identifier in an async context + ╭─[classes/classStaticBlock/classStaticBlock22.ts:5:1] + 5 │ static { + 6 │ let await: any; // illegal, cannot declare a new binding for await + · ───── + 7 │ } + ╰──── + + × Cannot use `await` as an identifier in an async context + ╭─[classes/classStaticBlock/classStaticBlock22.ts:14:1] + 14 │ static { + 15 │ let await; // illegal, cannot declare a new binding for await + · ───── + 16 │ } + ╰──── + + × Cannot use `await` as an identifier in an async context + ╭─[classes/classStaticBlock/classStaticBlock22.ts:20:1] + 20 │ static { + 21 │ class await { }; // illegal + · ───── + 22 │ } + ╰──── + × Unexpected token ╭─[classes/classStaticBlock/classStaticBlock22.ts:26:1] 26 │ await = 1; // legal @@ -2655,6 +2815,14 @@ Expect to Parse: "salsa/privateIdentifierExpando.ts" 6 │ } ╰──── + × Cannot use `await` as an identifier in an async context + ╭─[classes/classStaticBlock/classStaticBlock6.ts:6:1] + 6 │ static { + 7 │ let await = 1; + · ───── + 8 │ let arguments = 1; + ╰──── + × Unexpected token ╭─[classes/classStaticBlock/classStaticBlock6.ts:12:1] 12 │ static { @@ -4919,6 +5087,22 @@ Expect to Parse: "salsa/privateIdentifierExpando.ts" 4 │ } ╰──── + × Cannot use `yield` as an identifier in a generator context + ╭─[es6/functionDeclarations/FunctionDeclaration10_es6.ts:1:1] + 1 │ // @target: es6 + 2 │ function * foo(a = yield => yield) { + · ───── + 3 │ } + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[es6/functionDeclarations/FunctionDeclaration5_es6.ts:1:1] + 1 │ // @target: es6 + 2 │ function*foo(yield) { + · ───── + 3 │ } + ╰──── + × Unexpected token ╭─[es6/functionPropertyAssignments/FunctionPropertyAssignments2_es6.ts:1:1] 1 │ // @target: es6 @@ -7810,6 +7994,13 @@ Expect to Parse: "salsa/privateIdentifierExpando.ts" × The keyword 'await' is reserved ╭─[externalModules/topLevelAwaitErrors.12.ts:7:1] 7 │ // await disallowed in import=namespace when in a module + 8 │ import await = foo.await; + · ───── + ╰──── + + × Cannot use `await` as an identifier in an async context + ╭─[externalModules/topLevelAwaitErrors.12.ts:7:1] + 7 │ // await disallowed in import=namespace when in a module 8 │ import await = foo.await; · ───── ╰──── @@ -7817,6 +8008,13 @@ Expect to Parse: "salsa/privateIdentifierExpando.ts" × The keyword 'await' is reserved ╭─[externalModules/topLevelAwaitErrors.2.ts:6:1] 6 │ // reparse variable name as await should fail + 7 │ var await = 1; + · ───── + ╰──── + + × Cannot use `await` as an identifier in an async context + ╭─[externalModules/topLevelAwaitErrors.2.ts:6:1] + 6 │ // reparse variable name as await should fail 7 │ var await = 1; · ───── ╰──── @@ -7831,6 +8029,13 @@ Expect to Parse: "salsa/privateIdentifierExpando.ts" × The keyword 'await' is reserved ╭─[externalModules/topLevelAwaitErrors.4.ts:6:1] 6 │ // reparse binding pattern as await should fail + 7 │ var [await] = [1]; + · ───── + ╰──── + + × Cannot use `await` as an identifier in an async context + ╭─[externalModules/topLevelAwaitErrors.4.ts:6:1] + 6 │ // reparse binding pattern as await should fail 7 │ var [await] = [1]; · ───── ╰──── @@ -7838,6 +8043,14 @@ Expect to Parse: "salsa/privateIdentifierExpando.ts" × The keyword 'await' is reserved ╭─[externalModules/topLevelAwaitErrors.5.ts:4:1] 4 │ // await in exported class name should fail + 5 │ export class await { + · ───── + 6 │ } + ╰──── + + × Cannot use `await` as an identifier in an async context + ╭─[externalModules/topLevelAwaitErrors.5.ts:4:1] + 4 │ // await in exported class name should fail 5 │ export class await { · ───── 6 │ } @@ -10241,6 +10454,22 @@ Expect to Parse: "salsa/privateIdentifierExpando.ts" 39 │ } ╰──── + × Cannot use `await` as an identifier in an async context + ╭─[salsa/plainJSBinderErrors.ts:9:1] + 9 │ async function f() { + 10 │ const await = 3 + · ───── + 11 │ } + ╰──── + + × Cannot use `yield` as an identifier in a generator context + ╭─[salsa/plainJSBinderErrors.ts:12:1] + 12 │ function* g() { + 13 │ const yield = 4 + · ───── + 14 │ } + ╰──── + × Classes can't have an element named '#constructor' ╭─[salsa/plainJSBinderErrors.ts:15:1] 15 │ class C {