eval-fn-block-with-labels.js (1105B)
1 // This file was procedurally generated from the following sources: 2 // - src/statementList/block-with-labels.case 3 // - src/statementList/default/eval-function-declaration.template 4 /*--- 5 description: Block with a label (Eval production of StatementList starting with a Function Declaration) 6 esid: prod-StatementList 7 flags: [generated] 8 info: | 9 StatementList: 10 StatementListItem 11 StatementList StatementListItem 12 13 StatementListItem: 14 Statement 15 Declaration 16 17 Declaration: 18 HoistableDeclaration 19 20 FunctionDeclaration: 21 function BindingIdentifier ( FormalParameters ) { FunctionBody } 22 23 Statement: 24 BlockStatement 25 VariableStatement 26 EmptyStatement 27 ExpressionStatement 28 ... 29 30 // lookahead here prevents capturing an Object literal 31 ExpressionStatement: 32 [lookahead ∉ { {, function, async [no LineTerminator here] function, class, let [ }] 33 Expression ; 34 ---*/ 35 36 37 var result = eval('function fn() {}{x: 42};'); 38 39 assert.sameValue(result, 42, 'it does not evaluate to an Object with the property x'); 40 41 reportCompare(0, 0);