Generate tests

This commit is contained in:
Leo Balter 2019-07-16 17:51:25 -04:00 committed by Rick Waldron
parent c509173032
commit a1f7142b89
80 changed files with 3661 additions and 0 deletions

View File

@ -0,0 +1,44 @@
// This file was procedurally generated from the following sources:
// - src/statementList/array-literal-with-item.case
// - src/statementList/default/block.template
/*---
description: Array Literal with items (Valid syntax of StatementList starting with a BlockStatement)
esid: prod-StatementList
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 ;
ArrayLiteral[Yield, Await]:
[ Elision_opt ]
[ ElementList ]
[ ElementList , Elision_opt ]
---*/
{}[42];;

View File

@ -0,0 +1,44 @@
// This file was procedurally generated from the following sources:
// - src/statementList/array-literal.case
// - src/statementList/default/block.template
/*---
description: Array Literal (Valid syntax of StatementList starting with a BlockStatement)
esid: prod-StatementList
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 ;
ArrayLiteral[Yield, Await]:
[ Elision_opt ]
[ ElementList ]
[ ElementList , Elision_opt ]
---*/
{}[];;

View File

@ -0,0 +1,55 @@
// This file was procedurally generated from the following sources:
// - src/statementList/arrow-function-assignment-expr.case
// - src/statementList/default/block.template
/*---
description: Arrow Function with an AssignmentExpression (Valid syntax 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 }
---*/
{}() => 42;;

View File

@ -0,0 +1,55 @@
// This file was procedurally generated from the following sources:
// - src/statementList/arrow-function-functionbody.case
// - src/statementList/default/block.template
/*---
description: Arrow Function with a Function Body (Valid syntax 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 }
---*/
{}() => { return 42; };;

View File

@ -0,0 +1,40 @@
// This file was procedurally generated from the following sources:
// - src/statementList/block-with-labels.case
// - src/statementList/default/block.template
/*---
description: Block with a label (Valid syntax of StatementList starting with a BlockStatement)
esid: prod-StatementList
flags: [generated]
info: |
StatementList:
StatementListItem
StatementList StatementListItem
StatementListItem:
Statement
Declaration
Statement:
BlockStatement
BlockStatement:
Block
Block:
{ StatementList_opt }
Statement:
BlockStatement
VariableStatement
EmptyStatement
ExpressionStatement
...
// lookahead here prevents capturing an Object literal
ExpressionStatement:
[lookahead { {, function, async [no LineTerminator here] function, class, let [ }]
Expression ;
---*/
{}{x: 42};;

View File

@ -0,0 +1,40 @@
// This file was procedurally generated from the following sources:
// - src/statementList/block.case
// - src/statementList/default/block.template
/*---
description: Block (Valid syntax of StatementList starting with a BlockStatement)
esid: prod-StatementList
flags: [generated]
info: |
StatementList:
StatementListItem
StatementList StatementListItem
StatementListItem:
Statement
Declaration
Statement:
BlockStatement
BlockStatement:
Block
Block:
{ StatementList_opt }
Statement:
BlockStatement
VariableStatement
EmptyStatement
ExpressionStatement
...
// lookahead here prevents capturing an Object literal
ExpressionStatement:
[lookahead { {, function, async [no LineTerminator here] function, class, let [ }]
Expression ;
---*/
{}{};

View File

@ -0,0 +1,57 @@
// This file was procedurally generated from the following sources:
// - src/statementList/expr-arrow-function-boolean-literal.case
// - src/statementList/default/block.template
/*---
description: Expression with an Arrow Function and Boolean literal (Valid syntax 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 ;
Expression:
AssignmentExpression
Expression , AssignmentExpression
AssignmentExpression:
ConditionalExpression
[+Yield]YieldExpression
ArrowFunction
ArrowFunction:
ArrowParameters [no LineTerminator here] => ConciseBody
ConciseBody:
[lookahead {] AssignmentExpression
{ FunctionBody }
---*/
{}() => 1, 42;;

View File

@ -0,0 +1,38 @@
// This file was procedurally generated from the following sources:
// - src/statementList/let-declaration.case
// - src/statementList/default/block.template
/*---
description: LexicalDeclaration using Let (Valid syntax of StatementList starting with a BlockStatement)
esid: prod-StatementList
flags: [generated]
info: |
StatementList:
StatementListItem
StatementList StatementListItem
StatementListItem:
Statement
Declaration
Statement:
BlockStatement
BlockStatement:
Block
Block:
{ StatementList_opt }
Declaration:
LexicalDeclaration
LexicalDeclaration:
LetOrConst BindingList ;
BindingList:
LexicalBinding
BindingList , LexicalBinding
---*/
{}let a, b = 42, c;b;;

View File

@ -0,0 +1,42 @@
// This file was procedurally generated from the following sources:
// - src/statementList/regexp-literal-flags.case
// - src/statementList/default/block.template
/*---
description: Regular Expression Literal with Flags (Valid syntax of StatementList starting with a BlockStatement)
esid: prod-StatementList
flags: [generated]
info: |
StatementList:
StatementListItem
StatementList StatementListItem
StatementListItem:
Statement
Declaration
Statement:
BlockStatement
BlockStatement:
Block
Block:
{ StatementList_opt }
Statement:
BlockStatement
VariableStatement
EmptyStatement
ExpressionStatement
...
ExpressionStatement[Yield, Await]:
[lookahead { {, function, async [no LineTerminator here] function, class, let [ }]
Expression ;
RegularExpressionLiteral ::
/ RegularExpressionBody / RegularExpressionFlags
---*/
{}/1/g;;

View File

@ -0,0 +1,42 @@
// This file was procedurally generated from the following sources:
// - src/statementList/regexp-literal.case
// - src/statementList/default/block.template
/*---
description: Regular Expression Literal (Valid syntax of StatementList starting with a BlockStatement)
esid: prod-StatementList
flags: [generated]
info: |
StatementList:
StatementListItem
StatementList StatementListItem
StatementListItem:
Statement
Declaration
Statement:
BlockStatement
BlockStatement:
Block
Block:
{ StatementList_opt }
Statement:
BlockStatement
VariableStatement
EmptyStatement
ExpressionStatement
...
ExpressionStatement[Yield, Await]:
[lookahead { {, function, async [no LineTerminator here] function, class, let [ }]
Expression ;
RegularExpressionLiteral ::
/ RegularExpressionBody / RegularExpressionFlags
---*/
{}/1/;;

View File

@ -0,0 +1,45 @@
// This file was procedurally generated from the following sources:
// - src/statementList/array-literal-with-item.case
// - src/statementList/default/block-with-statement.template
/*---
description: Array Literal with items (Valid syntax of StatementList starting with a BlockStatement)
esid: prod-StatementList
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 ;
ArrayLiteral[Yield, Await]:
[ Elision_opt ]
[ ElementList ]
[ ElementList , Elision_opt ]
---*/
// length is a label!
{length: 3000}[42];;

View File

@ -0,0 +1,45 @@
// This file was procedurally generated from the following sources:
// - src/statementList/array-literal.case
// - src/statementList/default/block-with-statement.template
/*---
description: Array Literal (Valid syntax of StatementList starting with a BlockStatement)
esid: prod-StatementList
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 ;
ArrayLiteral[Yield, Await]:
[ Elision_opt ]
[ ElementList ]
[ ElementList , Elision_opt ]
---*/
// length is a label!
{length: 3000}[];;

View File

@ -0,0 +1,56 @@
// This file was procedurally generated from the following sources:
// - src/statementList/arrow-function-assignment-expr.case
// - src/statementList/default/block-with-statement.template
/*---
description: Arrow Function with an AssignmentExpression (Valid syntax 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!
{length: 3000}() => 42;;

View File

@ -0,0 +1,56 @@
// This file was procedurally generated from the following sources:
// - src/statementList/arrow-function-functionbody.case
// - src/statementList/default/block-with-statement.template
/*---
description: Arrow Function with a Function Body (Valid syntax 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!
{length: 3000}() => { return 42; };;

View File

@ -0,0 +1,41 @@
// This file was procedurally generated from the following sources:
// - src/statementList/block-with-labels.case
// - src/statementList/default/block-with-statement.template
/*---
description: Block with a label (Valid syntax of StatementList starting with a BlockStatement)
esid: prod-StatementList
flags: [generated]
info: |
StatementList:
StatementListItem
StatementList StatementListItem
StatementListItem:
Statement
Declaration
Statement:
BlockStatement
BlockStatement:
Block
Block:
{ StatementList_opt }
Statement:
BlockStatement
VariableStatement
EmptyStatement
ExpressionStatement
...
// lookahead here prevents capturing an Object literal
ExpressionStatement:
[lookahead { {, function, async [no LineTerminator here] function, class, let [ }]
Expression ;
---*/
// length is a label!
{length: 3000}{x: 42};;

View File

@ -0,0 +1,41 @@
// This file was procedurally generated from the following sources:
// - src/statementList/block.case
// - src/statementList/default/block-with-statement.template
/*---
description: Block (Valid syntax of StatementList starting with a BlockStatement)
esid: prod-StatementList
flags: [generated]
info: |
StatementList:
StatementListItem
StatementList StatementListItem
StatementListItem:
Statement
Declaration
Statement:
BlockStatement
BlockStatement:
Block
Block:
{ StatementList_opt }
Statement:
BlockStatement
VariableStatement
EmptyStatement
ExpressionStatement
...
// lookahead here prevents capturing an Object literal
ExpressionStatement:
[lookahead { {, function, async [no LineTerminator here] function, class, let [ }]
Expression ;
---*/
// length is a label!
{length: 3000}{};

View File

@ -0,0 +1,58 @@
// This file was procedurally generated from the following sources:
// - src/statementList/expr-arrow-function-boolean-literal.case
// - src/statementList/default/block-with-statement.template
/*---
description: Expression with an Arrow Function and Boolean literal (Valid syntax 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 ;
Expression:
AssignmentExpression
Expression , AssignmentExpression
AssignmentExpression:
ConditionalExpression
[+Yield]YieldExpression
ArrowFunction
ArrowFunction:
ArrowParameters [no LineTerminator here] => ConciseBody
ConciseBody:
[lookahead {] AssignmentExpression
{ FunctionBody }
---*/
// length is a label!
{length: 3000}() => 1, 42;;

View File

@ -0,0 +1,39 @@
// This file was procedurally generated from the following sources:
// - src/statementList/let-declaration.case
// - src/statementList/default/block-with-statement.template
/*---
description: LexicalDeclaration using Let (Valid syntax of StatementList starting with a BlockStatement)
esid: prod-StatementList
flags: [generated]
info: |
StatementList:
StatementListItem
StatementList StatementListItem
StatementListItem:
Statement
Declaration
Statement:
BlockStatement
BlockStatement:
Block
Block:
{ StatementList_opt }
Declaration:
LexicalDeclaration
LexicalDeclaration:
LetOrConst BindingList ;
BindingList:
LexicalBinding
BindingList , LexicalBinding
---*/
// length is a label!
{length: 3000}let a, b = 42, c;b;;

View File

@ -0,0 +1,43 @@
// This file was procedurally generated from the following sources:
// - src/statementList/regexp-literal-flags.case
// - src/statementList/default/block-with-statement.template
/*---
description: Regular Expression Literal with Flags (Valid syntax of StatementList starting with a BlockStatement)
esid: prod-StatementList
flags: [generated]
info: |
StatementList:
StatementListItem
StatementList StatementListItem
StatementListItem:
Statement
Declaration
Statement:
BlockStatement
BlockStatement:
Block
Block:
{ StatementList_opt }
Statement:
BlockStatement
VariableStatement
EmptyStatement
ExpressionStatement
...
ExpressionStatement[Yield, Await]:
[lookahead { {, function, async [no LineTerminator here] function, class, let [ }]
Expression ;
RegularExpressionLiteral ::
/ RegularExpressionBody / RegularExpressionFlags
---*/
// length is a label!
{length: 3000}/1/g;;

View File

@ -0,0 +1,43 @@
// This file was procedurally generated from the following sources:
// - src/statementList/regexp-literal.case
// - src/statementList/default/block-with-statement.template
/*---
description: Regular Expression Literal (Valid syntax of StatementList starting with a BlockStatement)
esid: prod-StatementList
flags: [generated]
info: |
StatementList:
StatementListItem
StatementList StatementListItem
StatementListItem:
Statement
Declaration
Statement:
BlockStatement
BlockStatement:
Block
Block:
{ StatementList_opt }
Statement:
BlockStatement
VariableStatement
EmptyStatement
ExpressionStatement
...
ExpressionStatement[Yield, Await]:
[lookahead { {, function, async [no LineTerminator here] function, class, let [ }]
Expression ;
RegularExpressionLiteral ::
/ RegularExpressionBody / RegularExpressionFlags
---*/
// length is a label!
{length: 3000}/1/;;

View File

@ -0,0 +1,40 @@
// This file was procedurally generated from the following sources:
// - src/statementList/array-literal-with-item.case
// - src/statementList/default/class-declaration.template
/*---
description: Array Literal with items (Valid syntax of StatementList starting with a Class Declaration)
esid: prod-StatementList
features: [class]
flags: [generated]
info: |
StatementList:
StatementListItem
StatementList StatementListItem
StatementListItem:
Statement
Declaration
Declaration:
ClassDeclaration
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 ]
---*/
class C {}[42];;

View File

@ -0,0 +1,40 @@
// This file was procedurally generated from the following sources:
// - src/statementList/array-literal.case
// - src/statementList/default/class-declaration.template
/*---
description: Array Literal (Valid syntax of StatementList starting with a Class Declaration)
esid: prod-StatementList
features: [class]
flags: [generated]
info: |
StatementList:
StatementListItem
StatementList StatementListItem
StatementListItem:
Statement
Declaration
Declaration:
ClassDeclaration
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 ]
---*/
class C {}[];;

View File

@ -0,0 +1,50 @@
// This file was procedurally generated from the following sources:
// - src/statementList/arrow-function-assignment-expr.case
// - src/statementList/default/class-declaration.template
/*---
description: Arrow Function with an AssignmentExpression (Valid syntax of StatementList starting with a Class Declaration)
esid: prod-StatementList
features: [arrow-function, class]
flags: [generated]
info: |
StatementList:
StatementListItem
StatementList StatementListItem
StatementListItem:
Statement
Declaration
Declaration:
ClassDeclaration
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 }
---*/
class C {}() => 42;;

View File

@ -0,0 +1,50 @@
// This file was procedurally generated from the following sources:
// - src/statementList/arrow-function-functionbody.case
// - src/statementList/default/class-declaration.template
/*---
description: Arrow Function with a Function Body (Valid syntax of StatementList starting with a Class Declaration)
esid: prod-StatementList
features: [arrow-function, class]
flags: [generated]
info: |
StatementList:
StatementListItem
StatementList StatementListItem
StatementListItem:
Statement
Declaration
Declaration:
ClassDeclaration
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 }
---*/
class C {}() => { return 42; };;

View File

@ -0,0 +1,36 @@
// This file was procedurally generated from the following sources:
// - src/statementList/block-with-labels.case
// - src/statementList/default/class-declaration.template
/*---
description: Block with a label (Valid syntax of StatementList starting with a Class Declaration)
esid: prod-StatementList
features: [class]
flags: [generated]
info: |
StatementList:
StatementListItem
StatementList StatementListItem
StatementListItem:
Statement
Declaration
Declaration:
ClassDeclaration
Statement:
BlockStatement
VariableStatement
EmptyStatement
ExpressionStatement
...
// lookahead here prevents capturing an Object literal
ExpressionStatement:
[lookahead { {, function, async [no LineTerminator here] function, class, let [ }]
Expression ;
---*/
class C {}{x: 42};;

View File

@ -0,0 +1,36 @@
// This file was procedurally generated from the following sources:
// - src/statementList/block.case
// - src/statementList/default/class-declaration.template
/*---
description: Block (Valid syntax of StatementList starting with a Class Declaration)
esid: prod-StatementList
features: [class]
flags: [generated]
info: |
StatementList:
StatementListItem
StatementList StatementListItem
StatementListItem:
Statement
Declaration
Declaration:
ClassDeclaration
Statement:
BlockStatement
VariableStatement
EmptyStatement
ExpressionStatement
...
// lookahead here prevents capturing an Object literal
ExpressionStatement:
[lookahead { {, function, async [no LineTerminator here] function, class, let [ }]
Expression ;
---*/
class C {}{};

View File

@ -0,0 +1,52 @@
// This file was procedurally generated from the following sources:
// - src/statementList/expr-arrow-function-boolean-literal.case
// - src/statementList/default/class-declaration.template
/*---
description: Expression with an Arrow Function and Boolean literal (Valid syntax of StatementList starting with a Class Declaration)
esid: prod-StatementList
features: [arrow-function, class]
flags: [generated]
info: |
StatementList:
StatementListItem
StatementList StatementListItem
StatementListItem:
Statement
Declaration
Declaration:
ClassDeclaration
Statement:
BlockStatement
VariableStatement
EmptyStatement
ExpressionStatement
...
ExpressionStatement:
[lookahead { {, function, async [no LineTerminator here] function, class, let [ }]
Expression ;
Expression:
AssignmentExpression
Expression , AssignmentExpression
AssignmentExpression:
ConditionalExpression
[+Yield]YieldExpression
ArrowFunction
ArrowFunction:
ArrowParameters [no LineTerminator here] => ConciseBody
ConciseBody:
[lookahead {] AssignmentExpression
{ FunctionBody }
---*/
class C {}() => 1, 42;;

View File

@ -0,0 +1,34 @@
// This file was procedurally generated from the following sources:
// - src/statementList/let-declaration.case
// - src/statementList/default/class-declaration.template
/*---
description: LexicalDeclaration using Let (Valid syntax of StatementList starting with a Class Declaration)
esid: prod-StatementList
features: [class]
flags: [generated]
info: |
StatementList:
StatementListItem
StatementList StatementListItem
StatementListItem:
Statement
Declaration
Declaration:
ClassDeclaration
Declaration:
LexicalDeclaration
LexicalDeclaration:
LetOrConst BindingList ;
BindingList:
LexicalBinding
BindingList , LexicalBinding
---*/
class C {}let a, b = 42, c;b;;

View File

@ -0,0 +1,38 @@
// This file was procedurally generated from the following sources:
// - src/statementList/regexp-literal-flags.case
// - src/statementList/default/class-declaration.template
/*---
description: Regular Expression Literal with Flags (Valid syntax of StatementList starting with a Class Declaration)
esid: prod-StatementList
features: [class]
flags: [generated]
info: |
StatementList:
StatementListItem
StatementList StatementListItem
StatementListItem:
Statement
Declaration
Declaration:
ClassDeclaration
Statement:
BlockStatement
VariableStatement
EmptyStatement
ExpressionStatement
...
ExpressionStatement[Yield, Await]:
[lookahead { {, function, async [no LineTerminator here] function, class, let [ }]
Expression ;
RegularExpressionLiteral ::
/ RegularExpressionBody / RegularExpressionFlags
---*/
class C {}/1/g;;

View File

@ -0,0 +1,38 @@
// This file was procedurally generated from the following sources:
// - src/statementList/regexp-literal.case
// - src/statementList/default/class-declaration.template
/*---
description: Regular Expression Literal (Valid syntax of StatementList starting with a Class Declaration)
esid: prod-StatementList
features: [class]
flags: [generated]
info: |
StatementList:
StatementListItem
StatementList StatementListItem
StatementListItem:
Statement
Declaration
Declaration:
ClassDeclaration
Statement:
BlockStatement
VariableStatement
EmptyStatement
ExpressionStatement
...
ExpressionStatement[Yield, Await]:
[lookahead { {, function, async [no LineTerminator here] function, class, let [ }]
Expression ;
RegularExpressionLiteral ::
/ RegularExpressionBody / RegularExpressionFlags
---*/
class C {}/1/;;

View File

@ -0,0 +1,48 @@
// This file was procedurally generated from the following sources:
// - src/statementList/array-literal-with-item.case
// - src/statementList/default/eval-block.template
/*---
description: Array Literal with items (Eval production of StatementList starting with a BlockStatement)
esid: prod-StatementList
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 ;
ArrayLiteral[Yield, Await]:
[ Elision_opt ]
[ ElementList ]
[ ElementList , Elision_opt ]
---*/
var result = eval('{}[42];');
assert.sameValue(Object.getPrototypeOf(result), Array.prototype);
assert.sameValue(result.length, 1);
assert.sameValue(result[0], 42);

View File

@ -0,0 +1,47 @@
// This file was procedurally generated from the following sources:
// - src/statementList/array-literal.case
// - src/statementList/default/eval-block.template
/*---
description: Array Literal (Eval production of StatementList starting with a BlockStatement)
esid: prod-StatementList
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 ;
ArrayLiteral[Yield, Await]:
[ Elision_opt ]
[ ElementList ]
[ ElementList , Elision_opt ]
---*/
var result = eval('{}[];');
assert.sameValue(Object.getPrototypeOf(result), Array.prototype);
assert.sameValue(result.length, 0);

View File

@ -0,0 +1,57 @@
// This file was procedurally generated from the following sources:
// - src/statementList/arrow-function-assignment-expr.case
// - src/statementList/default/eval-block.template
/*---
description: Arrow Function with an AssignmentExpression (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('{}() => 42;');
assert.sameValue(result(), 42);

View File

@ -0,0 +1,57 @@
// 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);

View File

@ -0,0 +1,42 @@
// This file was procedurally generated from the following sources:
// - src/statementList/block-with-labels.case
// - src/statementList/default/eval-block.template
/*---
description: Block with a label (Eval production of StatementList starting with a BlockStatement)
esid: prod-StatementList
flags: [generated]
info: |
StatementList:
StatementListItem
StatementList StatementListItem
StatementListItem:
Statement
Declaration
Statement:
BlockStatement
BlockStatement:
Block
Block:
{ StatementList_opt }
Statement:
BlockStatement
VariableStatement
EmptyStatement
ExpressionStatement
...
// lookahead here prevents capturing an Object literal
ExpressionStatement:
[lookahead { {, function, async [no LineTerminator here] function, class, let [ }]
Expression ;
---*/
var result = eval('{}{x: 42};');
assert.sameValue(result, 42, 'it does not evaluate to an Object with the property x');

View File

@ -0,0 +1,42 @@
// This file was procedurally generated from the following sources:
// - src/statementList/block.case
// - src/statementList/default/eval-block.template
/*---
description: Block (Eval production of StatementList starting with a BlockStatement)
esid: prod-StatementList
flags: [generated]
info: |
StatementList:
StatementListItem
StatementList StatementListItem
StatementListItem:
Statement
Declaration
Statement:
BlockStatement
BlockStatement:
Block
Block:
{ StatementList_opt }
Statement:
BlockStatement
VariableStatement
EmptyStatement
ExpressionStatement
...
// lookahead here prevents capturing an Object literal
ExpressionStatement:
[lookahead { {, function, async [no LineTerminator here] function, class, let [ }]
Expression ;
---*/
var result = eval('{}{}');
assert.sameValue(result, undefined);

View File

@ -0,0 +1,59 @@
// This file was procedurally generated from the following sources:
// - src/statementList/expr-arrow-function-boolean-literal.case
// - src/statementList/default/eval-block.template
/*---
description: Expression with an Arrow Function and Boolean literal (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 ;
Expression:
AssignmentExpression
Expression , AssignmentExpression
AssignmentExpression:
ConditionalExpression
[+Yield]YieldExpression
ArrowFunction
ArrowFunction:
ArrowParameters [no LineTerminator here] => ConciseBody
ConciseBody:
[lookahead {] AssignmentExpression
{ FunctionBody }
---*/
var result = eval('{}() => 1, 42;');
assert.sameValue(result, 42);

View File

@ -0,0 +1,40 @@
// This file was procedurally generated from the following sources:
// - src/statementList/let-declaration.case
// - src/statementList/default/eval-block.template
/*---
description: LexicalDeclaration using Let (Eval production of StatementList starting with a BlockStatement)
esid: prod-StatementList
flags: [generated]
info: |
StatementList:
StatementListItem
StatementList StatementListItem
StatementListItem:
Statement
Declaration
Statement:
BlockStatement
BlockStatement:
Block
Block:
{ StatementList_opt }
Declaration:
LexicalDeclaration
LexicalDeclaration:
LetOrConst BindingList ;
BindingList:
LexicalBinding
BindingList , LexicalBinding
---*/
var result = eval('{}let a, b = 42, c;b;');
assert.sameValue(result, 42);

View File

@ -0,0 +1,46 @@
// This file was procedurally generated from the following sources:
// - src/statementList/regexp-literal-flags.case
// - src/statementList/default/eval-block.template
/*---
description: Regular Expression Literal with Flags (Eval production of StatementList starting with a BlockStatement)
esid: prod-StatementList
flags: [generated]
info: |
StatementList:
StatementListItem
StatementList StatementListItem
StatementListItem:
Statement
Declaration
Statement:
BlockStatement
BlockStatement:
Block
Block:
{ StatementList_opt }
Statement:
BlockStatement
VariableStatement
EmptyStatement
ExpressionStatement
...
ExpressionStatement[Yield, Await]:
[lookahead { {, function, async [no LineTerminator here] function, class, let [ }]
Expression ;
RegularExpressionLiteral ::
/ RegularExpressionBody / RegularExpressionFlags
---*/
var result = eval('{}/1/g;');
assert.sameValue(Object.getPrototypeOf(result), RegExp.prototype);
assert.sameValue(result.flags, 'g');
assert.sameValue(result.toString(), '/1/g');

View File

@ -0,0 +1,46 @@
// This file was procedurally generated from the following sources:
// - src/statementList/regexp-literal.case
// - src/statementList/default/eval-block.template
/*---
description: Regular Expression Literal (Eval production of StatementList starting with a BlockStatement)
esid: prod-StatementList
flags: [generated]
info: |
StatementList:
StatementListItem
StatementList StatementListItem
StatementListItem:
Statement
Declaration
Statement:
BlockStatement
BlockStatement:
Block
Block:
{ StatementList_opt }
Statement:
BlockStatement
VariableStatement
EmptyStatement
ExpressionStatement
...
ExpressionStatement[Yield, Await]:
[lookahead { {, function, async [no LineTerminator here] function, class, let [ }]
Expression ;
RegularExpressionLiteral ::
/ RegularExpressionBody / RegularExpressionFlags
---*/
var result = eval('{}/1/;');
assert.sameValue(Object.getPrototypeOf(result), RegExp.prototype);
assert.sameValue(result.flags, '');
assert.sameValue(result.toString(), '/1/');

View File

@ -0,0 +1,50 @@
// This file was procedurally generated from the following sources:
// - src/statementList/array-literal-with-item.case
// - src/statementList/default/eval-block-with-statement.template
/*---
description: Array Literal with items (Evaluate produciton of StatementList starting with a BlockStatement)
esid: prod-StatementList
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 ;
ArrayLiteral[Yield, Await]:
[ Elision_opt ]
[ ElementList ]
[ ElementList , Elision_opt ]
---*/
// length is a label!
var result = eval('{length: 3000}[42];;');
// Reuse this value for items with empty completions
var expected = 3000;

View File

@ -0,0 +1,50 @@
// This file was procedurally generated from the following sources:
// - src/statementList/array-literal.case
// - src/statementList/default/eval-block-with-statement.template
/*---
description: Array Literal (Evaluate produciton of StatementList starting with a BlockStatement)
esid: prod-StatementList
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 ;
ArrayLiteral[Yield, Await]:
[ Elision_opt ]
[ ElementList ]
[ ElementList , Elision_opt ]
---*/
// length is a label!
var result = eval('{length: 3000}[];;');
// Reuse this value for items with empty completions
var expected = 3000;

View File

@ -0,0 +1,61 @@
// This file was procedurally generated from the following sources:
// - src/statementList/arrow-function-assignment-expr.case
// - src/statementList/default/eval-block-with-statement.template
/*---
description: Arrow Function with an AssignmentExpression (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}() => 42;;');
// Reuse this value for items with empty completions
var expected = 3000;

View File

@ -0,0 +1,61 @@
// 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;

View File

@ -0,0 +1,46 @@
// This file was procedurally generated from the following sources:
// - src/statementList/block-with-labels.case
// - src/statementList/default/eval-block-with-statement.template
/*---
description: Block with a label (Evaluate produciton of StatementList starting with a BlockStatement)
esid: prod-StatementList
flags: [generated]
info: |
StatementList:
StatementListItem
StatementList StatementListItem
StatementListItem:
Statement
Declaration
Statement:
BlockStatement
BlockStatement:
Block
Block:
{ StatementList_opt }
Statement:
BlockStatement
VariableStatement
EmptyStatement
ExpressionStatement
...
// lookahead here prevents capturing an Object literal
ExpressionStatement:
[lookahead { {, function, async [no LineTerminator here] function, class, let [ }]
Expression ;
---*/
// length is a label!
var result = eval('{length: 3000}{x: 42};;');
// Reuse this value for items with empty completions
var expected = 3000;

View File

@ -0,0 +1,46 @@
// This file was procedurally generated from the following sources:
// - src/statementList/block.case
// - src/statementList/default/eval-block-with-statement.template
/*---
description: Block (Evaluate produciton of StatementList starting with a BlockStatement)
esid: prod-StatementList
flags: [generated]
info: |
StatementList:
StatementListItem
StatementList StatementListItem
StatementListItem:
Statement
Declaration
Statement:
BlockStatement
BlockStatement:
Block
Block:
{ StatementList_opt }
Statement:
BlockStatement
VariableStatement
EmptyStatement
ExpressionStatement
...
// lookahead here prevents capturing an Object literal
ExpressionStatement:
[lookahead { {, function, async [no LineTerminator here] function, class, let [ }]
Expression ;
---*/
// length is a label!
var result = eval('{length: 3000}{};');
// Reuse this value for items with empty completions
var expected = 3000;
assert.sameValue(result, expected);

View File

@ -0,0 +1,63 @@
// This file was procedurally generated from the following sources:
// - src/statementList/expr-arrow-function-boolean-literal.case
// - src/statementList/default/eval-block-with-statement.template
/*---
description: Expression with an Arrow Function and Boolean literal (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 ;
Expression:
AssignmentExpression
Expression , AssignmentExpression
AssignmentExpression:
ConditionalExpression
[+Yield]YieldExpression
ArrowFunction
ArrowFunction:
ArrowParameters [no LineTerminator here] => ConciseBody
ConciseBody:
[lookahead {] AssignmentExpression
{ FunctionBody }
---*/
// length is a label!
var result = eval('{length: 3000}() => 1, 42;;');
// Reuse this value for items with empty completions
var expected = 3000;

View File

@ -0,0 +1,44 @@
// This file was procedurally generated from the following sources:
// - src/statementList/let-declaration.case
// - src/statementList/default/eval-block-with-statement.template
/*---
description: LexicalDeclaration using Let (Evaluate produciton of StatementList starting with a BlockStatement)
esid: prod-StatementList
flags: [generated]
info: |
StatementList:
StatementListItem
StatementList StatementListItem
StatementListItem:
Statement
Declaration
Statement:
BlockStatement
BlockStatement:
Block
Block:
{ StatementList_opt }
Declaration:
LexicalDeclaration
LexicalDeclaration:
LetOrConst BindingList ;
BindingList:
LexicalBinding
BindingList , LexicalBinding
---*/
// length is a label!
var result = eval('{length: 3000}let a, b = 42, c;b;;');
// Reuse this value for items with empty completions
var expected = 3000;

View File

@ -0,0 +1,48 @@
// This file was procedurally generated from the following sources:
// - src/statementList/regexp-literal-flags.case
// - src/statementList/default/eval-block-with-statement.template
/*---
description: Regular Expression Literal with Flags (Evaluate produciton of StatementList starting with a BlockStatement)
esid: prod-StatementList
flags: [generated]
info: |
StatementList:
StatementListItem
StatementList StatementListItem
StatementListItem:
Statement
Declaration
Statement:
BlockStatement
BlockStatement:
Block
Block:
{ StatementList_opt }
Statement:
BlockStatement
VariableStatement
EmptyStatement
ExpressionStatement
...
ExpressionStatement[Yield, Await]:
[lookahead { {, function, async [no LineTerminator here] function, class, let [ }]
Expression ;
RegularExpressionLiteral ::
/ RegularExpressionBody / RegularExpressionFlags
---*/
// length is a label!
var result = eval('{length: 3000}/1/g;;');
// Reuse this value for items with empty completions
var expected = 3000;

View File

@ -0,0 +1,48 @@
// This file was procedurally generated from the following sources:
// - src/statementList/regexp-literal.case
// - src/statementList/default/eval-block-with-statement.template
/*---
description: Regular Expression Literal (Evaluate produciton of StatementList starting with a BlockStatement)
esid: prod-StatementList
flags: [generated]
info: |
StatementList:
StatementListItem
StatementList StatementListItem
StatementListItem:
Statement
Declaration
Statement:
BlockStatement
BlockStatement:
Block
Block:
{ StatementList_opt }
Statement:
BlockStatement
VariableStatement
EmptyStatement
ExpressionStatement
...
ExpressionStatement[Yield, Await]:
[lookahead { {, function, async [no LineTerminator here] function, class, let [ }]
Expression ;
RegularExpressionLiteral ::
/ RegularExpressionBody / RegularExpressionFlags
---*/
// length is a label!
var result = eval('{length: 3000}/1/;;');
// Reuse this value for items with empty completions
var expected = 3000;

View File

@ -0,0 +1,44 @@
// This file was procedurally generated from the following sources:
// - src/statementList/array-literal-with-item.case
// - src/statementList/default/eval-class-declaration.template
/*---
description: Array Literal with items (Valid syntax of StatementList starting with a Class Declaration)
esid: prod-StatementList
features: [class]
flags: [generated]
info: |
StatementList:
StatementListItem
StatementList StatementListItem
StatementListItem:
Statement
Declaration
Declaration:
ClassDeclaration
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('class C {}[42];;');
assert.sameValue(Object.getPrototypeOf(result), Array.prototype);
assert.sameValue(result.length, 1);
assert.sameValue(result[0], 42);

View File

@ -0,0 +1,43 @@
// This file was procedurally generated from the following sources:
// - src/statementList/array-literal.case
// - src/statementList/default/eval-class-declaration.template
/*---
description: Array Literal (Valid syntax of StatementList starting with a Class Declaration)
esid: prod-StatementList
features: [class]
flags: [generated]
info: |
StatementList:
StatementListItem
StatementList StatementListItem
StatementListItem:
Statement
Declaration
Declaration:
ClassDeclaration
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('class C {}[];;');
assert.sameValue(Object.getPrototypeOf(result), Array.prototype);
assert.sameValue(result.length, 0);

View File

@ -0,0 +1,52 @@
// This file was procedurally generated from the following sources:
// - src/statementList/arrow-function-assignment-expr.case
// - src/statementList/default/eval-class-declaration.template
/*---
description: Arrow Function with an AssignmentExpression (Valid syntax of StatementList starting with a Class Declaration)
esid: prod-StatementList
features: [arrow-function, class]
flags: [generated]
info: |
StatementList:
StatementListItem
StatementList StatementListItem
StatementListItem:
Statement
Declaration
Declaration:
ClassDeclaration
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('class C {}() => 42;;');
assert.sameValue(result(), 42);

View File

@ -0,0 +1,52 @@
// This file was procedurally generated from the following sources:
// - src/statementList/arrow-function-functionbody.case
// - src/statementList/default/eval-class-declaration.template
/*---
description: Arrow Function with a Function Body (Valid syntax of StatementList starting with a Class Declaration)
esid: prod-StatementList
features: [arrow-function, class]
flags: [generated]
info: |
StatementList:
StatementListItem
StatementList StatementListItem
StatementListItem:
Statement
Declaration
Declaration:
ClassDeclaration
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('class C {}() => { return 42; };;');
assert.sameValue(result(), 42);

View File

@ -0,0 +1,38 @@
// This file was procedurally generated from the following sources:
// - src/statementList/block-with-labels.case
// - src/statementList/default/eval-class-declaration.template
/*---
description: Block with a label (Valid syntax of StatementList starting with a Class Declaration)
esid: prod-StatementList
features: [class]
flags: [generated]
info: |
StatementList:
StatementListItem
StatementList StatementListItem
StatementListItem:
Statement
Declaration
Declaration:
ClassDeclaration
Statement:
BlockStatement
VariableStatement
EmptyStatement
ExpressionStatement
...
// lookahead here prevents capturing an Object literal
ExpressionStatement:
[lookahead { {, function, async [no LineTerminator here] function, class, let [ }]
Expression ;
---*/
var result = eval('class C {}{x: 42};;');
assert.sameValue(result, 42, 'it does not evaluate to an Object with the property x');

View File

@ -0,0 +1,38 @@
// This file was procedurally generated from the following sources:
// - src/statementList/block.case
// - src/statementList/default/eval-class-declaration.template
/*---
description: Block (Valid syntax of StatementList starting with a Class Declaration)
esid: prod-StatementList
features: [class]
flags: [generated]
info: |
StatementList:
StatementListItem
StatementList StatementListItem
StatementListItem:
Statement
Declaration
Declaration:
ClassDeclaration
Statement:
BlockStatement
VariableStatement
EmptyStatement
ExpressionStatement
...
// lookahead here prevents capturing an Object literal
ExpressionStatement:
[lookahead { {, function, async [no LineTerminator here] function, class, let [ }]
Expression ;
---*/
var result = eval('class C {}{};');
assert.sameValue(result, undefined);

View File

@ -0,0 +1,54 @@
// This file was procedurally generated from the following sources:
// - src/statementList/expr-arrow-function-boolean-literal.case
// - src/statementList/default/eval-class-declaration.template
/*---
description: Expression with an Arrow Function and Boolean literal (Valid syntax of StatementList starting with a Class Declaration)
esid: prod-StatementList
features: [arrow-function, class]
flags: [generated]
info: |
StatementList:
StatementListItem
StatementList StatementListItem
StatementListItem:
Statement
Declaration
Declaration:
ClassDeclaration
Statement:
BlockStatement
VariableStatement
EmptyStatement
ExpressionStatement
...
ExpressionStatement:
[lookahead { {, function, async [no LineTerminator here] function, class, let [ }]
Expression ;
Expression:
AssignmentExpression
Expression , AssignmentExpression
AssignmentExpression:
ConditionalExpression
[+Yield]YieldExpression
ArrowFunction
ArrowFunction:
ArrowParameters [no LineTerminator here] => ConciseBody
ConciseBody:
[lookahead {] AssignmentExpression
{ FunctionBody }
---*/
var result = eval('class C {}() => 1, 42;;');
assert.sameValue(result, 42);

View File

@ -0,0 +1,36 @@
// This file was procedurally generated from the following sources:
// - src/statementList/let-declaration.case
// - src/statementList/default/eval-class-declaration.template
/*---
description: LexicalDeclaration using Let (Valid syntax of StatementList starting with a Class Declaration)
esid: prod-StatementList
features: [class]
flags: [generated]
info: |
StatementList:
StatementListItem
StatementList StatementListItem
StatementListItem:
Statement
Declaration
Declaration:
ClassDeclaration
Declaration:
LexicalDeclaration
LexicalDeclaration:
LetOrConst BindingList ;
BindingList:
LexicalBinding
BindingList , LexicalBinding
---*/
var result = eval('class C {}let a, b = 42, c;b;;');
assert.sameValue(result, 42);

View File

@ -0,0 +1,42 @@
// This file was procedurally generated from the following sources:
// - src/statementList/regexp-literal-flags.case
// - src/statementList/default/eval-class-declaration.template
/*---
description: Regular Expression Literal with Flags (Valid syntax of StatementList starting with a Class Declaration)
esid: prod-StatementList
features: [class]
flags: [generated]
info: |
StatementList:
StatementListItem
StatementList StatementListItem
StatementListItem:
Statement
Declaration
Declaration:
ClassDeclaration
Statement:
BlockStatement
VariableStatement
EmptyStatement
ExpressionStatement
...
ExpressionStatement[Yield, Await]:
[lookahead { {, function, async [no LineTerminator here] function, class, let [ }]
Expression ;
RegularExpressionLiteral ::
/ RegularExpressionBody / RegularExpressionFlags
---*/
var result = eval('class C {}/1/g;;');
assert.sameValue(Object.getPrototypeOf(result), RegExp.prototype);
assert.sameValue(result.flags, 'g');
assert.sameValue(result.toString(), '/1/g');

View File

@ -0,0 +1,42 @@
// This file was procedurally generated from the following sources:
// - src/statementList/regexp-literal.case
// - src/statementList/default/eval-class-declaration.template
/*---
description: Regular Expression Literal (Valid syntax of StatementList starting with a Class Declaration)
esid: prod-StatementList
features: [class]
flags: [generated]
info: |
StatementList:
StatementListItem
StatementList StatementListItem
StatementListItem:
Statement
Declaration
Declaration:
ClassDeclaration
Statement:
BlockStatement
VariableStatement
EmptyStatement
ExpressionStatement
...
ExpressionStatement[Yield, Await]:
[lookahead { {, function, async [no LineTerminator here] function, class, let [ }]
Expression ;
RegularExpressionLiteral ::
/ RegularExpressionBody / RegularExpressionFlags
---*/
var result = eval('class C {}/1/;;');
assert.sameValue(Object.getPrototypeOf(result), RegExp.prototype);
assert.sameValue(result.flags, '');
assert.sameValue(result.toString(), '/1/');

View File

@ -0,0 +1,45 @@
// 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);

View File

@ -0,0 +1,44 @@
// This file was procedurally generated from the following sources:
// - src/statementList/array-literal.case
// - src/statementList/default/eval-function-declaration.template
/*---
description: Array Literal (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() {}[];;');
assert.sameValue(Object.getPrototypeOf(result), Array.prototype);
assert.sameValue(result.length, 0);

View File

@ -0,0 +1,54 @@
// This file was procedurally generated from the following sources:
// - src/statementList/arrow-function-assignment-expr.case
// - src/statementList/default/eval-function-declaration.template
/*---
description: Arrow Function with an AssignmentExpression (Eval production of StatementList starting with a Function Declaration)
esid: prod-StatementList
features: [arrow-function]
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 ;
...
AssignmentExpression:
ConditionalExpression
[+Yield]YieldExpression
ArrowFunction
ArrowFunction:
ArrowParameters [no LineTerminator here] => ConciseBody
ConciseBody:
[lookahead {] AssignmentExpression
{ FunctionBody }
---*/
var result = eval('function fn() {}() => 42;;');
assert.sameValue(result(), 42);

View File

@ -0,0 +1,54 @@
// This file was procedurally generated from the following sources:
// - src/statementList/arrow-function-functionbody.case
// - src/statementList/default/eval-function-declaration.template
/*---
description: Arrow Function with a Function Body (Eval production of StatementList starting with a Function Declaration)
esid: prod-StatementList
features: [arrow-function]
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 ;
...
AssignmentExpression:
ConditionalExpression
[+Yield]YieldExpression
ArrowFunction
ArrowFunction:
ArrowParameters [no LineTerminator here] => ConciseBody
ConciseBody:
[lookahead {] AssignmentExpression
{ FunctionBody }
---*/
var result = eval('function fn() {}() => { return 42; };;');
assert.sameValue(result(), 42);

View File

@ -0,0 +1,39 @@
// This file was procedurally generated from the following sources:
// - src/statementList/block-with-labels.case
// - src/statementList/default/eval-function-declaration.template
/*---
description: Block with a label (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
...
// lookahead here prevents capturing an Object literal
ExpressionStatement:
[lookahead { {, function, async [no LineTerminator here] function, class, let [ }]
Expression ;
---*/
var result = eval('function fn() {}{x: 42};;');
assert.sameValue(result, 42, 'it does not evaluate to an Object with the property x');

View File

@ -0,0 +1,39 @@
// This file was procedurally generated from the following sources:
// - src/statementList/block.case
// - src/statementList/default/eval-function-declaration.template
/*---
description: Block (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
...
// lookahead here prevents capturing an Object literal
ExpressionStatement:
[lookahead { {, function, async [no LineTerminator here] function, class, let [ }]
Expression ;
---*/
var result = eval('function fn() {}{};');
assert.sameValue(result, undefined);

View File

@ -0,0 +1,56 @@
// This file was procedurally generated from the following sources:
// - src/statementList/expr-arrow-function-boolean-literal.case
// - src/statementList/default/eval-function-declaration.template
/*---
description: Expression with an Arrow Function and Boolean literal (Eval production of StatementList starting with a Function Declaration)
esid: prod-StatementList
features: [arrow-function]
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 ;
Expression:
AssignmentExpression
Expression , AssignmentExpression
AssignmentExpression:
ConditionalExpression
[+Yield]YieldExpression
ArrowFunction
ArrowFunction:
ArrowParameters [no LineTerminator here] => ConciseBody
ConciseBody:
[lookahead {] AssignmentExpression
{ FunctionBody }
---*/
var result = eval('function fn() {}() => 1, 42;;');
assert.sameValue(result, 42);

View File

@ -0,0 +1,37 @@
// This file was procedurally generated from the following sources:
// - src/statementList/let-declaration.case
// - src/statementList/default/eval-function-declaration.template
/*---
description: LexicalDeclaration using Let (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 }
Declaration:
LexicalDeclaration
LexicalDeclaration:
LetOrConst BindingList ;
BindingList:
LexicalBinding
BindingList , LexicalBinding
---*/
var result = eval('function fn() {}let a, b = 42, c;b;;');
assert.sameValue(result, 42);

View File

@ -0,0 +1,43 @@
// This file was procedurally generated from the following sources:
// - src/statementList/regexp-literal-flags.case
// - src/statementList/default/eval-function-declaration.template
/*---
description: Regular Expression Literal with Flags (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[Yield, Await]:
[lookahead { {, function, async [no LineTerminator here] function, class, let [ }]
Expression ;
RegularExpressionLiteral ::
/ RegularExpressionBody / RegularExpressionFlags
---*/
var result = eval('function fn() {}/1/g;;');
assert.sameValue(Object.getPrototypeOf(result), RegExp.prototype);
assert.sameValue(result.flags, 'g');
assert.sameValue(result.toString(), '/1/g');

View File

@ -0,0 +1,43 @@
// This file was procedurally generated from the following sources:
// - src/statementList/regexp-literal.case
// - src/statementList/default/eval-function-declaration.template
/*---
description: Regular Expression Literal (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[Yield, Await]:
[lookahead { {, function, async [no LineTerminator here] function, class, let [ }]
Expression ;
RegularExpressionLiteral ::
/ RegularExpressionBody / RegularExpressionFlags
---*/
var result = eval('function fn() {}/1/;;');
assert.sameValue(Object.getPrototypeOf(result), RegExp.prototype);
assert.sameValue(result.flags, '');
assert.sameValue(result.toString(), '/1/');

View File

@ -0,0 +1,41 @@
// This file was procedurally generated from the following sources:
// - src/statementList/array-literal-with-item.case
// - src/statementList/default/function-declaration.template
/*---
description: Array Literal with items (Valid syntax 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 ]
---*/
function fn() {}[42];;

View File

@ -0,0 +1,41 @@
// This file was procedurally generated from the following sources:
// - src/statementList/array-literal.case
// - src/statementList/default/function-declaration.template
/*---
description: Array Literal (Valid syntax 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 ]
---*/
function fn() {}[];;

View File

@ -0,0 +1,52 @@
// This file was procedurally generated from the following sources:
// - src/statementList/arrow-function-assignment-expr.case
// - src/statementList/default/function-declaration.template
/*---
description: Arrow Function with an AssignmentExpression (Valid syntax of StatementList starting with a Function Declaration)
esid: prod-StatementList
features: [arrow-function]
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 ;
...
AssignmentExpression:
ConditionalExpression
[+Yield]YieldExpression
ArrowFunction
ArrowFunction:
ArrowParameters [no LineTerminator here] => ConciseBody
ConciseBody:
[lookahead {] AssignmentExpression
{ FunctionBody }
---*/
function fn() {}() => 42;;

View File

@ -0,0 +1,52 @@
// This file was procedurally generated from the following sources:
// - src/statementList/arrow-function-functionbody.case
// - src/statementList/default/function-declaration.template
/*---
description: Arrow Function with a Function Body (Valid syntax of StatementList starting with a Function Declaration)
esid: prod-StatementList
features: [arrow-function]
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 ;
...
AssignmentExpression:
ConditionalExpression
[+Yield]YieldExpression
ArrowFunction
ArrowFunction:
ArrowParameters [no LineTerminator here] => ConciseBody
ConciseBody:
[lookahead {] AssignmentExpression
{ FunctionBody }
---*/
function fn() {}() => { return 42; };;

View File

@ -0,0 +1,37 @@
// This file was procedurally generated from the following sources:
// - src/statementList/block-with-labels.case
// - src/statementList/default/function-declaration.template
/*---
description: Block with a label (Valid syntax 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
...
// lookahead here prevents capturing an Object literal
ExpressionStatement:
[lookahead { {, function, async [no LineTerminator here] function, class, let [ }]
Expression ;
---*/
function fn() {}{x: 42};;

View File

@ -0,0 +1,37 @@
// This file was procedurally generated from the following sources:
// - src/statementList/block.case
// - src/statementList/default/function-declaration.template
/*---
description: Block (Valid syntax 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
...
// lookahead here prevents capturing an Object literal
ExpressionStatement:
[lookahead { {, function, async [no LineTerminator here] function, class, let [ }]
Expression ;
---*/
function fn() {}{};

View File

@ -0,0 +1,54 @@
// This file was procedurally generated from the following sources:
// - src/statementList/expr-arrow-function-boolean-literal.case
// - src/statementList/default/function-declaration.template
/*---
description: Expression with an Arrow Function and Boolean literal (Valid syntax of StatementList starting with a Function Declaration)
esid: prod-StatementList
features: [arrow-function]
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 ;
Expression:
AssignmentExpression
Expression , AssignmentExpression
AssignmentExpression:
ConditionalExpression
[+Yield]YieldExpression
ArrowFunction
ArrowFunction:
ArrowParameters [no LineTerminator here] => ConciseBody
ConciseBody:
[lookahead {] AssignmentExpression
{ FunctionBody }
---*/
function fn() {}() => 1, 42;;

View File

@ -0,0 +1,35 @@
// This file was procedurally generated from the following sources:
// - src/statementList/let-declaration.case
// - src/statementList/default/function-declaration.template
/*---
description: LexicalDeclaration using Let (Valid syntax 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 }
Declaration:
LexicalDeclaration
LexicalDeclaration:
LetOrConst BindingList ;
BindingList:
LexicalBinding
BindingList , LexicalBinding
---*/
function fn() {}let a, b = 42, c;b;;

View File

@ -0,0 +1,39 @@
// This file was procedurally generated from the following sources:
// - src/statementList/regexp-literal-flags.case
// - src/statementList/default/function-declaration.template
/*---
description: Regular Expression Literal with Flags (Valid syntax 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[Yield, Await]:
[lookahead { {, function, async [no LineTerminator here] function, class, let [ }]
Expression ;
RegularExpressionLiteral ::
/ RegularExpressionBody / RegularExpressionFlags
---*/
function fn() {}/1/g;;

View File

@ -0,0 +1,39 @@
// This file was procedurally generated from the following sources:
// - src/statementList/regexp-literal.case
// - src/statementList/default/function-declaration.template
/*---
description: Regular Expression Literal (Valid syntax 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[Yield, Await]:
[lookahead { {, function, async [no LineTerminator here] function, class, let [ }]
Expression ;
RegularExpressionLiteral ::
/ RegularExpressionBody / RegularExpressionFlags
---*/
function fn() {}/1/;;