diff options
Diffstat (limited to '')
-rw-r--r-- | js/src/tests/test262/language/module-code/top-level-await/syntax/export-class-decl-await-expr-nested.js | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/js/src/tests/test262/language/module-code/top-level-await/syntax/export-class-decl-await-expr-nested.js b/js/src/tests/test262/language/module-code/top-level-await/syntax/export-class-decl-await-expr-nested.js new file mode 100644 index 0000000000..3ee6da673e --- /dev/null +++ b/js/src/tests/test262/language/module-code/top-level-await/syntax/export-class-decl-await-expr-nested.js @@ -0,0 +1,67 @@ +// |reftest| module +// This file was procedurally generated from the following sources: +// - src/top-level-await/await-expr-nested.case +// - src/top-level-await/syntax/export-class-decl.template +/*--- +description: Nested AwaitExpressions (Valid syntax for top level await in export ClassDeclaration) +esid: prod-AwaitExpression +features: [top-level-await, class] +flags: [generated, module] +info: | + ModuleItem: + StatementListItem[~Yield, +Await, ~Return] + + ... + + UnaryExpression[Yield, Await] + [+Await]AwaitExpression[?Yield] + + AwaitExpression[Yield]: + await UnaryExpression[?Yield, +Await] + + ... + + ExportDeclaration: + export * FromClause ; + export ExportClause FromClause ; + export ExportClause ; + export VariableStatement[~Yield, +Await] + export Declaration[~Yield, +Await] + export defaultHoistableDeclaration[~Yield, +Await, +Default] + export defaultClassDeclaration[~Yield, +Await, +Default] + export default[lookahead ∉ { function, async [no LineTerminator here] function, class }]AssignmentExpression[+In, ~Yield, ~Await]; + + Declaration[Yield, Await]: + HoistableDeclaration[?Yield, ?Await, ~Default] + ClassDeclaration[?Yield, ?Await, ~Default] + LexicalDeclaration[+In, ?Yield, ?Await] + + ClassDeclaration[Yield, Await, Default]: + classBindingIdentifier[?Yield, ?Await] ClassTail[?Yield, ?Await] + [+Default] class ClassTail[?Yield, ?Await] + + ClassTail[Yield, Await]: + ClassHeritage[?Yield, ?Await]_opt { ClassBody[?Yield, ?Await]_opt } + + + TryStatement[Yield, Await, Return]: + try Block[?Yield, ?Await, ?Return] Catch[?Yield, ?Await, ?Return] + try Block[?Yield, ?Await, ?Return] Finally[?Yield, ?Await, ?Return] + try Block[?Yield, ?Await, ?Return] Catch[?Yield, ?Await, ?Return] Finally[?Yield, ?Await, ?Return] + + ... + + ExpressionStatement[Yield, Await]: + [lookahead ∉ { {, function, async [no LineTerminator here] function, class, let [ }] + Expression[+In, ?Yield, ?Await]; + +---*/ + + +function fn() { + return function() {}; +} +// extends CallExpression with arguments +export class C extends fn(await await await await await await await await await await await await await await await 'await') {}; + +reportCompare(0, 0); |