for-await-expr-new-expr.js (3472B)
1 // |reftest| module 2 // This file was procedurally generated from the following sources: 3 // - src/top-level-await/await-expr-new-expr.case 4 // - src/top-level-await/syntax/for-expr.template 5 /*--- 6 description: AwaitExpression new MemberExpression (Valid syntax for top level await in for statements.) 7 esid: prod-AwaitExpression 8 features: [top-level-await] 9 flags: [generated, module] 10 info: | 11 ModuleItem: 12 StatementListItem[~Yield, +Await, ~Return] 13 14 ... 15 16 IterationStatement[Yield, Await, Return]: 17 ... 18 for ( [ lookahead ≠ let [] Expression[~In, ?Yield, ?Await]opt ; Expression[+In, ?Yield, ?Await]opt ; Expression[+In, ?Yield, ?Await]opt ) Statement[?Yield, ?Await, ?Return] 19 for ( var VariableDeclarationList[~In, ?Yield, ?Await] ; Expression[+In, ?Yield, ?Await]opt ; Expression[+In, ?Yield, ?Await]opt ) Statement[?Yield, ?Await, ?Return] 20 for ( LexicalDeclaration[~In, ?Yield, ?Await] Expression[+In, ?Yield, ?Await]opt ; Expression[+In, ?Yield, ?Await]opt ) Statement[?Yield, ?Await, ?Return] 21 for ( [lookahead ≠ let [] LeftHandSideExpression[?Yield, ?Await] in Expression[+In, ?Yield, ?Await] ) Statement[?Yield, ?Await, ?Return] 22 for ( var ForBinding[?Yield, ?Await] in Expression[+In, ?Yield, ?Await] ) Statement[?Yield, ?Await, ?Return] 23 for ( ForDeclaration[?Yield, ?Await] in Expression[+In, ?Yield, ?Await] ) Statement[?Yield, ?Await, ?Return] 24 for ( [lookahead ≠ let] LeftHandSideExpression[?Yield, ?Await] of AssignmentExpression[+In, ?Yield, ?Await] ) Statement[?Yield, ?Await, ?Return] 25 for ( var ForBinding[?Yield, ?Await] of AssignmentExpression[+In, ?Yield, ?Await] ) Statement[?Yield, ?Await, ?Return] 26 for ( ForDeclaration[?Yield, ?Await] of AssignmentExpression[+In, ?Yield, ?Await] ) Statement[?Yield, ?Await, ?Return] 27 ... 28 29 ... 30 31 UnaryExpression[Yield, Await] 32 [+Await]AwaitExpression[?Yield] 33 34 AwaitExpression[Yield]: 35 await UnaryExpression[?Yield, +Await] 36 37 ... 38 39 40 LeftHandSideExpression[Yield, Await]: 41 NewExpression[?Yield, ?Await] 42 CallExpression[?Yield, ?Await] 43 44 NewExpression[Yield, Await]: 45 MemberExpression[?Yield, ?Await] 46 new NewExpression[?Yield, ?Await] 47 48 MemberExpression[Yield, Await]: 49 ... 50 new MemberExpression[?Yield, ?Await] Arguments[?Yield, ?Await] 51 52 ---*/ 53 54 55 // for ( [ lookahead ≠ let [] Expression[~In, ?Yield, ?Await]opt ; Expression[+In, ?Yield, ?Await]opt ; Expression[+In, ?Yield, ?Await]opt ) Statement[?Yield, ?Await, ?Return] 56 for ( await new Promise(function(res, rej) { res(1); }) ; await new Promise(function(res, rej) { res(1); }); await new Promise(function(res, rej) { res(1); }) ) { 57 await new Promise(function(res, rej) { res(1); }); 58 break; 59 } 60 61 // for ( var VariableDeclarationList[~In, ?Yield, ?Await] ; Expression[+In, ?Yield, ?Await]opt ; Expression[+In, ?Yield, ?Await]opt ) Statement[?Yield, ?Await, ?Return] 62 for ( var binding; await new Promise(function(res, rej) { res(1); }); await new Promise(function(res, rej) { res(1); }) ) { 63 await new Promise(function(res, rej) { res(1); }); 64 break; 65 } 66 67 // for ( LexicalDeclaration[~In, ?Yield, ?Await] Expression[+In, ?Yield, ?Await]opt ; Expression[+In, ?Yield, ?Await]opt ) Statement[?Yield, ?Await, ?Return] 68 for ( let binding; await new Promise(function(res, rej) { res(1); }); await new Promise(function(res, rej) { res(1); }) ) { 69 await new Promise(function(res, rej) { res(1); }); 70 break; 71 } 72 73 reportCompare(0, 0);