try-await-expr-identifier.js (1612B)
1 // |reftest| module 2 // This file was procedurally generated from the following sources: 3 // - src/top-level-await/await-expr-identifier.case 4 // - src/top-level-await/syntax/try.template 5 /*--- 6 description: AwaitExpression IdentifierReference (Valid syntax for top level await in try-catch-finally blocks.) 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 TryStatement[Yield, Await, Return]: 17 try Block[?Yield, ?Await, ?Return] Catch[?Yield, ?Await, ?Return] 18 try Block[?Yield, ?Await, ?Return] Finally[?Yield, ?Await, ?Return] 19 try Block[?Yield, ?Await, ?Return] Catch[?Yield, ?Await, ?Return] Finally[?Yield, ?Await, ?Return] 20 21 ... 22 23 UnaryExpression[Yield, Await] 24 [+Await]AwaitExpression[?Yield] 25 26 AwaitExpression[Yield]: 27 await UnaryExpression[?Yield, +Await] 28 29 ... 30 31 32 PrimaryExpression[Yield, Await]: 33 this 34 IdentifierReference[?Yield, ?Await] 35 Literal 36 ArrayLiteral[?Yield, ?Await] 37 ObjectLiteral[?Yield, ?Await] 38 FunctionExpression 39 ClassExpression[?Yield, ?Await] 40 GeneratorExpression 41 AsyncFunctionExpression 42 AsyncGeneratorExpression 43 RegularExpressionLiteral 44 TemplateLiteral[?Yield, ?Await, ~Tagged] 45 CoverParenthesizedExpressionAndArrowParameterList[?Yield, ?Await] 46 47 ---*/ 48 var foo = 1; 49 50 51 try { 52 await foo; 53 } catch(e) { 54 await foo; 55 } 56 57 try { 58 await foo; 59 } finally { 60 await foo; 61 } 62 63 try { 64 await foo; 65 } catch(e) { 66 await foo; 67 } finally { 68 await foo; 69 } 70 71 reportCompare(0, 0);