export-dft-class-decl-await-expr-array-literal.js (2214B)
1 // |reftest| module 2 // This file was procedurally generated from the following sources: 3 // - src/top-level-await/await-expr-array-literal.case 4 // - src/top-level-await/syntax/export-dflt-class-decl.template 5 /*--- 6 description: AwaitExpression ArrayLiteral (Valid syntax for top level await in export default 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 PrimaryExpression[Yield, Await]: 48 this 49 IdentifierReference[?Yield, ?Await] 50 Literal 51 ArrayLiteral[?Yield, ?Await] 52 ObjectLiteral[?Yield, ?Await] 53 FunctionExpression 54 ClassExpression[?Yield, ?Await] 55 GeneratorExpression 56 AsyncFunctionExpression 57 AsyncGeneratorExpression 58 RegularExpressionLiteral 59 TemplateLiteral[?Yield, ?Await, ~Tagged] 60 CoverParenthesizedExpressionAndArrowParameterList[?Yield, ?Await] 61 62 ---*/ 63 64 65 function fn() { 66 return function() {}; 67 } 68 // extends CallExpression with arguments 69 export default class extends fn(await []) {}; 70 71 reportCompare(0, 0);