export-class-decl-await-expr-func-expression.js (2392B)
1 // |reftest| module 2 // This file was procedurally generated from the following sources: 3 // - src/top-level-await/await-expr-func-expression.case 4 // - src/top-level-await/syntax/export-class-decl.template 5 /*--- 6 description: AwaitExpression StringLiteral (Valid syntax for top level await in export ClassDeclaration) 7 esid: prod-AwaitExpression 8 features: [top-level-await, class] 9 flags: [generated, module] 10 info: | 11 ModuleItem: 12 StatementListItem[~Yield, +Await, ~Return] 13 14 ... 15 16 UnaryExpression[Yield, Await] 17 [+Await]AwaitExpression[?Yield] 18 19 AwaitExpression[Yield]: 20 await UnaryExpression[?Yield, +Await] 21 22 ... 23 24 ExportDeclaration: 25 export * FromClause ; 26 export ExportClause FromClause ; 27 export ExportClause ; 28 export VariableStatement[~Yield, +Await] 29 export Declaration[~Yield, +Await] 30 export defaultHoistableDeclaration[~Yield, +Await, +Default] 31 export defaultClassDeclaration[~Yield, +Await, +Default] 32 export default[lookahead ∉ { function, async [no LineTerminator here] function, class }]AssignmentExpression[+In, ~Yield, ~Await]; 33 34 Declaration[Yield, Await]: 35 HoistableDeclaration[?Yield, ?Await, ~Default] 36 ClassDeclaration[?Yield, ?Await, ~Default] 37 LexicalDeclaration[+In, ?Yield, ?Await] 38 39 ClassDeclaration[Yield, Await, Default]: 40 classBindingIdentifier[?Yield, ?Await] ClassTail[?Yield, ?Await] 41 [+Default] class ClassTail[?Yield, ?Await] 42 43 ClassTail[Yield, Await]: 44 ClassHeritage[?Yield, ?Await]_opt { ClassBody[?Yield, ?Await]_opt } 45 46 47 ExpressionStatement[Yield, Await]: 48 [lookahead ∉ { {, function, async [no LineTerminator here] function, class, let [ }] 49 Expression[+In, ?Yield, ?Await]; 50 51 ... 52 53 PrimaryExpression[Yield, Await]: 54 this 55 IdentifierReference[?Yield, ?Await] 56 Literal 57 ArrayLiteral[?Yield, ?Await] 58 ObjectLiteral[?Yield, ?Await] 59 FunctionExpression 60 ClassExpression[?Yield, ?Await] 61 GeneratorExpression 62 AsyncFunctionExpression 63 AsyncGeneratorExpression 64 RegularExpressionLiteral 65 TemplateLiteral[?Yield, ?Await, ~Tagged] 66 CoverParenthesizedExpressionAndArrowParameterList[?Yield, ?Await] 67 68 ---*/ 69 70 71 function fn() { 72 return function() {}; 73 } 74 // extends CallExpression with arguments 75 export class C extends fn(await function() {}) {}; 76 77 reportCompare(0, 0);