mirror of
				https://github.com/tc39/test262.git
				synced 2025-10-31 19:53:50 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			58 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			58 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| // This file was procedurally generated from the following sources:
 | |
| // - src/statementList/arrow-function-functionbody.case
 | |
| // - src/statementList/default/eval-block.template
 | |
| /*---
 | |
| description: Arrow Function with a Function Body (Eval production of StatementList starting with a BlockStatement)
 | |
| esid: prod-StatementList
 | |
| features: [arrow-function]
 | |
| flags: [generated]
 | |
| info: |
 | |
|     StatementList:
 | |
|       StatementListItem
 | |
|       StatementList StatementListItem
 | |
| 
 | |
|     StatementListItem:
 | |
|       Statement
 | |
|       Declaration
 | |
| 
 | |
|     Statement:
 | |
|       BlockStatement
 | |
| 
 | |
|     BlockStatement:
 | |
|       Block
 | |
| 
 | |
|     Block:
 | |
|       { StatementList_opt }
 | |
| 
 | |
|     Statement:
 | |
|       BlockStatement
 | |
|       VariableStatement
 | |
|       EmptyStatement
 | |
|       ExpressionStatement
 | |
|       ...
 | |
| 
 | |
|     ExpressionStatement:
 | |
|       [lookahead ∉ { {, function, async [no LineTerminator here] function, class, let [ }]
 | |
|         Expression ;
 | |
| 
 | |
|     ...
 | |
| 
 | |
|     AssignmentExpression:
 | |
|       ConditionalExpression
 | |
|       [+Yield]YieldExpression
 | |
|       ArrowFunction
 | |
| 
 | |
|     ArrowFunction:
 | |
|       ArrowParameters [no LineTerminator here] => ConciseBody
 | |
| 
 | |
|     ConciseBody:
 | |
|       [lookahead ≠ {] AssignmentExpression
 | |
|       { FunctionBody }
 | |
| 
 | |
| ---*/
 | |
| 
 | |
| 
 | |
| var result = eval('{}() => { return 42; };');
 | |
| 
 | |
| assert.sameValue(result(), 42);
 |