mirror of https://github.com/tc39/test262.git
62 lines
1.3 KiB
JavaScript
62 lines
1.3 KiB
JavaScript
|
// This file was procedurally generated from the following sources:
|
||
|
// - src/statementList/arrow-function-functionbody.case
|
||
|
// - src/statementList/default/eval-block-with-statement.template
|
||
|
/*---
|
||
|
description: Arrow Function with a Function Body (Evaluate produciton 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 }
|
||
|
|
||
|
---*/
|
||
|
|
||
|
|
||
|
// length is a label!
|
||
|
var result = eval('{length: 3000}() => { return 42; };;');
|
||
|
|
||
|
// Reuse this value for items with empty completions
|
||
|
var expected = 3000;
|
||
|
|
||
|
|