eval-class-array-literal-with-item.js (1119B)
1 // This file was procedurally generated from the following sources: 2 // - src/statementList/array-literal-with-item.case 3 // - src/statementList/default/eval-class-declaration.template 4 /*--- 5 description: Array Literal with items (Valid syntax of StatementList starting with a Class Declaration) 6 esid: prod-StatementList 7 features: [class] 8 flags: [generated] 9 info: | 10 StatementList: 11 StatementListItem 12 StatementList StatementListItem 13 14 StatementListItem: 15 Statement 16 Declaration 17 18 Declaration: 19 ClassDeclaration 20 21 22 Statement: 23 BlockStatement 24 VariableStatement 25 EmptyStatement 26 ExpressionStatement 27 ... 28 29 ExpressionStatement: 30 [lookahead ∉ { {, function, async [no LineTerminator here] function, class, let [ }] 31 Expression ; 32 33 ArrayLiteral[Yield, Await]: 34 [ Elision_opt ] 35 [ ElementList ] 36 [ ElementList , Elision_opt ] 37 ---*/ 38 39 40 var result = eval('class C {}[42];'); 41 42 assert.sameValue(Object.getPrototypeOf(result), Array.prototype); 43 assert.sameValue(result.length, 1); 44 assert.sameValue(result[0], 42); 45 46 reportCompare(0, 0);