tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

for-in-await-expr-func-expression.js (3296B)


      1 // |reftest| module
      2 // This file was procedurally generated from the following sources:
      3 // - src/top-level-await/await-expr-func-expression.case
      4 // - src/top-level-await/syntax/for-in-expr.template
      5 /*---
      6 description: AwaitExpression StringLiteral (Valid syntax for top level await in for-in 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    ExpressionStatement[Yield, Await]:
     41      [lookahead ∉ { {, function, async [no LineTerminator here] function, class, let [ }]
     42        Expression[+In, ?Yield, ?Await];
     43 
     44    ...
     45 
     46    PrimaryExpression[Yield, Await]:
     47      this
     48      IdentifierReference[?Yield, ?Await]
     49      Literal
     50      ArrayLiteral[?Yield, ?Await]
     51      ObjectLiteral[?Yield, ?Await]
     52      FunctionExpression
     53      ClassExpression[?Yield, ?Await]
     54      GeneratorExpression
     55      AsyncFunctionExpression
     56      AsyncGeneratorExpression
     57      RegularExpressionLiteral
     58      TemplateLiteral[?Yield, ?Await, ~Tagged]
     59      CoverParenthesizedExpressionAndArrowParameterList[?Yield, ?Await]
     60 
     61 ---*/
     62 
     63 
     64 var binding;
     65 
     66 // for ( [lookahead ≠ let [] LeftHandSideExpression[?Yield, ?Await] in Expression[+In, ?Yield, ?Await] ) Statement[?Yield, ?Await, ?Return]
     67 for (binding in [await function() {}]) {
     68  await function() {};
     69  break;
     70 }
     71 
     72 // for ( var ForBinding[?Yield, ?Await] in Expression[+In, ?Yield, ?Await] ) Statement[?Yield, ?Await, ?Return]
     73 for (var binding in [await function() {}]) {
     74  await function() {};
     75  break;
     76 }
     77 
     78 // for ( ForDeclaration[?Yield, ?Await] in Expression[+In, ?Yield, ?Await] ) Statement[?Yield, ?Await, ?Return]
     79 for (let binding in [await function() {}]) {
     80  await function() {};
     81  break;
     82 }
     83 
     84 reportCompare(0, 0);