tor-browser

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

array-elem-nested-memberexpr-optchain-prop-ref-init.js (2016B)


      1 // |reftest| error:SyntaxError
      2 // This file was procedurally generated from the following sources:
      3 // - src/dstr-assignment/array-elem-nested-memberexpr-optchain-prop-ref-init.case
      4 // - src/dstr-assignment/syntax/assignment-expr.template
      5 /*---
      6 description: It is a Syntax Error if LeftHandSideExpression of an DestructuringAssignmentTarget is neither an ObjectLiteral nor an ArrayLiteral and AssignmentTargetType(LeftHandSideExpression) is not simple Using Object (MemberExpression OptionalChain .IdentifierName Initializer) (AssignmentExpression)
      7 esid: sec-variable-statement-runtime-semantics-evaluation
      8 features: [optional-chaining, destructuring-binding]
      9 flags: [generated]
     10 negative:
     11  phase: parse
     12  type: SyntaxError
     13 info: |
     14    VariableDeclaration : BindingPattern Initializer
     15 
     16    1. Let rhs be the result of evaluating Initializer.
     17    2. Let rval be GetValue(rhs).
     18    3. ReturnIfAbrupt(rval).
     19    4. Return the result of performing BindingInitialization for
     20       BindingPattern passing rval and undefined as arguments.
     21 
     22    Syntax
     23 
     24    AssignmentElement : DestructuringAssignmentTarget Initializer_opt
     25    DestructuringAssignmentTarget : LeftHandSideExpression
     26 
     27    Static Semantics: Early Errors
     28 
     29    OptionalExpression:
     30      MemberExpression OptionalChain
     31      CallExpression OptionalChain
     32      OptionalExpression OptionalChain
     33 
     34    OptionalChain:
     35      ?. [ Expression ]
     36      ?. IdentifierName
     37      ?. Arguments 
     38      ?. TemplateLiteral
     39      OptionalChain [ Expression ]
     40      OptionalChain .IdentifierName
     41      OptionalChain Arguments 
     42      OptionalChain TemplateLiteral
     43 
     44    DestructuringAssignmentTarget : LeftHandSideExpression
     45 
     46    - It is a Syntax Error if LeftHandSideExpression is neither an ObjectLiteral nor an ArrayLiteral and IsValidSimpleAssignmentTarget(LeftHandSideExpression) is not true.
     47 
     48    Static Semantics: IsValidSimpleAssignmentTarget
     49 
     50    LeftHandSideExpression : OptionalExpression
     51      1. Return false.
     52 
     53 ---*/
     54 $DONOTEVALUATE();
     55 var x = {};
     56 
     57 0, [x?.y = 42] = [23];