tor-browser

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

rest-params-trailing-comma-early-error.js (2104B)


      1 // |reftest| error:SyntaxError
      2 // This file was procedurally generated from the following sources:
      3 // - src/function-forms/rest-params-trailing-comma-early-error.case
      4 // - src/function-forms/syntax/cls-expr-async-meth.template
      5 /*---
      6 description: It's a syntax error if a FunctionRestParameter is followed by a trailing comma (class expression async method)
      7 esid: sec-class-definitions-runtime-semantics-evaluation
      8 flags: [generated]
      9 negative:
     10  phase: parse
     11  type: SyntaxError
     12 info: |
     13    ClassExpression : class BindingIdentifieropt ClassTail
     14 
     15    1. If BindingIdentifieropt is not present, let className be undefined.
     16    2. Else, let className be StringValue of BindingIdentifier.
     17    3. Let value be the result of ClassDefinitionEvaluation of ClassTail
     18        with argument className.
     19    [...]
     20 
     21    14.5.14 Runtime Semantics: ClassDefinitionEvaluation
     22 
     23    21. For each ClassElement m in order from methods
     24      a. If IsStatic of m is false, then
     25        i. Let status be the result of performing
     26          PropertyDefinitionEvaluation for m with arguments proto and
     27          false.
     28      [...]
     29 
     30    Runtime Semantics: PropertyDefinitionEvaluation
     31 
     32    AsyncMethod : async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody }
     33 
     34    1. Let propKey be the result of evaluating PropertyName.
     35    2. ReturnIfAbrupt(propKey).
     36    3. If the function code for this AsyncMethod is strict mode code, let strict be true. Otherwise
     37       let strict be false.
     38    4. Let scope be the LexicalEnvironment of the running execution context.
     39    5. Let closure be ! AsyncFunctionCreate(Method, UniqueFormalParameters, AsyncFunctionBody,
     40       scope, strict).
     41    [...]
     42 
     43 
     44    Trailing comma in the parameters list
     45 
     46    14.1 Function Definitions
     47 
     48    FormalParameters[Yield, Await] :
     49        [empty]
     50        FunctionRestParameter[?Yield, ?Await]
     51        FormalParameterList[?Yield, ?Await]
     52        FormalParameterList[?Yield, ?Await] ,
     53        FormalParameterList[?Yield, ?Await] , FunctionRestParameter[?Yield, ?Await]
     54 ---*/
     55 $DONOTEVALUATE();
     56 
     57 var C = class {
     58  static async method(...a,) {
     59    
     60  }
     61 };