Source code

Revision control

Copy as Markdown

Other Tools

// This file was procedurally generated from the following sources:
// - src/statementList/array-literal-with-item.case
// - src/statementList/default/eval-function-declaration.template
/*---
description: Array Literal with items (Eval production of StatementList starting with a Function Declaration)
esid: prod-StatementList
flags: [generated]
info: |
StatementList:
StatementListItem
StatementList StatementListItem
StatementListItem:
Statement
Declaration
Declaration:
HoistableDeclaration
FunctionDeclaration:
function BindingIdentifier ( FormalParameters ) { FunctionBody }
Statement:
BlockStatement
VariableStatement
EmptyStatement
ExpressionStatement
...
ExpressionStatement:
[lookahead ∉ { {, function, async [no LineTerminator here] function, class, let [ }]
Expression ;
ArrayLiteral[Yield, Await]:
[ Elision_opt ]
[ ElementList ]
[ ElementList , Elision_opt ]
---*/
var result = eval('function fn() {}[42];');
assert.sameValue(Object.getPrototypeOf(result), Array.prototype);
assert.sameValue(result.length, 1);
assert.sameValue(result[0], 42);
reportCompare(0, 0);