tor-browser

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

for-in-await-expr-identifier.js (3067B)


      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/for-in-expr.template
      5 /*---
      6 description: AwaitExpression IdentifierReference (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    PrimaryExpression[Yield, Await]:
     41      this
     42      IdentifierReference[?Yield, ?Await]
     43      Literal
     44      ArrayLiteral[?Yield, ?Await]
     45      ObjectLiteral[?Yield, ?Await]
     46      FunctionExpression
     47      ClassExpression[?Yield, ?Await]
     48      GeneratorExpression
     49      AsyncFunctionExpression
     50      AsyncGeneratorExpression
     51      RegularExpressionLiteral
     52      TemplateLiteral[?Yield, ?Await, ~Tagged]
     53      CoverParenthesizedExpressionAndArrowParameterList[?Yield, ?Await]
     54 
     55 ---*/
     56 var foo = 1;
     57 
     58 
     59 var binding;
     60 
     61 // for ( [lookahead ≠ let [] LeftHandSideExpression[?Yield, ?Await] in Expression[+In, ?Yield, ?Await] ) Statement[?Yield, ?Await, ?Return]
     62 for (binding in [await foo]) {
     63  await foo;
     64  break;
     65 }
     66 
     67 // for ( var ForBinding[?Yield, ?Await] in Expression[+In, ?Yield, ?Await] ) Statement[?Yield, ?Await, ?Return]
     68 for (var binding in [await foo]) {
     69  await foo;
     70  break;
     71 }
     72 
     73 // for ( ForDeclaration[?Yield, ?Await] in Expression[+In, ?Yield, ?Await] ) Statement[?Yield, ?Await, ?Return]
     74 for (let binding in [await foo]) {
     75  await foo;
     76  break;
     77 }
     78 
     79 reportCompare(0, 0);