tor-browser

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

rest-param-strict-body.js (5639B)


      1 // |reftest| error:SyntaxError
      2 // This file was procedurally generated from the following sources:
      3 // - src/function-forms/rest-param-strict-body.case
      4 // - src/function-forms/syntax/cls-decl-async-gen-meth-static.template
      5 /*---
      6 description: RestParameter and Use Strict Directive are not allowed to coexist for the same function. (static class expression generator method)
      7 esid: sec-runtime-semantics-bindingclassdeclarationevaluation
      8 features: [rest-parameters, async-iteration]
      9 flags: [generated]
     10 negative:
     11  phase: parse
     12  type: SyntaxError
     13 info: |
     14    ClassDeclaration : class BindingIdentifier ClassTail
     15 
     16    1. Let className be StringValue of BindingIdentifier.
     17    2. Let value be the result of ClassDefinitionEvaluation of ClassTail with
     18       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        b. Else,
     26           Let status be the result of performing PropertyDefinitionEvaluation for
     27           m with arguments F and false.
     28    [...]
     29 
     30    Runtime Semantics: PropertyDefinitionEvaluation
     31 
     32    AsyncGeneratorMethod :
     33        async [no LineTerminator here] * PropertyName ( UniqueFormalParameters )
     34            { AsyncGeneratorBody }
     35 
     36    1. Let propKey be the result of evaluating PropertyName.
     37    2. ReturnIfAbrupt(propKey).
     38    3. If the function code for this AsyncGeneratorMethod is strict mode code, let strict be true.
     39       Otherwise let strict be false.
     40    4. Let scope be the running execution context's LexicalEnvironment.
     41    5. Let closure be ! AsyncGeneratorFunctionCreate(Method, UniqueFormalParameters,
     42       AsyncGeneratorBody, scope, strict).
     43    [...]
     44 
     45 
     46    14.1.13 Static Semantics: IsSimpleParameterList
     47 
     48    FormalParameters : FormalParameterList , FunctionRestParameter
     49 
     50    1. Return false.
     51 
     52    14.1.2 Static Semantics: Early Errors
     53 
     54    FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody }
     55    FunctionDeclaration : function ( FormalParameters ) { FunctionBody }
     56    FunctionExpression : function BindingIdentifier ( FormalParameters ) { FunctionBody }
     57 
     58    - It is a Syntax Error if ContainsUseStrict of FunctionBody is true and
     59      IsSimpleParameterList of FormalParameters is false.
     60 
     61    14.2.1 Static Semantics: Early Errors
     62 
     63    ArrowFunction : ArrowParameters => ConciseBody
     64 
     65    - It is a Syntax Error if ContainsUseStrict of ConciseBody is true and
     66      IsSimpleParameterList of ArrowParameters is false.
     67 
     68    14.3.1 Static Semantics: Early Errors
     69 
     70    MethodDefinition : PropertyName ( UniqueFormalParameters ) { FunctionBody }
     71 
     72    - It is a Syntax Error if ContainsUseStrict of FunctionBody is true and
     73      IsSimpleParameterList of UniqueFormalParameters is false.
     74 
     75    MethodDefinition : set PropertyName ( PropertySetParameterList ) { FunctionBody }
     76 
     77    - It is a Syntax Error if ContainsUseStrict of FunctionBody is true and
     78      IsSimpleParameterList of PropertySetParameterList is false.
     79 
     80    14.4.1 Static Semantics: Early Errors
     81 
     82    GeneratorMethod : * PropertyName ( UniqueFormalParameters ) { GeneratorBody }
     83 
     84    - It is a Syntax Error if ContainsUseStrict of GeneratorBody is true and
     85      IsSimpleParameterList of UniqueFormalParameters is false.
     86 
     87    GeneratorDeclaration : function * BindingIdentifier ( FormalParameters ) { GeneratorBody }
     88    GeneratorDeclaration : function * ( FormalParameters ) { GeneratorBody }
     89    GeneratorExpression : function * BindingIdentifier ( FormalParameters ) { GeneratorBody }
     90 
     91    - It is a Syntax Error if ContainsUseStrict of GeneratorBody is true and
     92      IsSimpleParameterList of UniqueFormalParameters is false.
     93 
     94    14.5.1 Static Semantics: Early Errors
     95 
     96    AsyncGeneratorMethod : async * PropertyName ( UniqueFormalParameters ) { AsyncGeneratorBody }
     97 
     98    - It is a Syntax Error if ContainsUseStrict of AsyncGeneratorBody is true and
     99      IsSimpleParameterList of UniqueFormalParameters is false.
    100 
    101    AsyncGeneratorDeclaration : async function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody }
    102    AsyncGeneratorDeclaration : async function * ( FormalParameters ) { AsyncGeneratorBody }
    103    AsyncGeneratorExpression : async function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody }
    104 
    105    - It is a Syntax Error if ContainsUseStrict of AsyncGeneratorBody is true and
    106      IsSimpleParameterList of FormalParameters is false.
    107 
    108    14.7.1 Static Semantics: Early Errors
    109 
    110    AsyncMethod : async PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody }
    111 
    112    - It is a Syntax Error if ContainsUseStrict of AsyncFunctionBody is true and
    113      IsSimpleParameterList of UniqueFormalParameters is false.
    114 
    115    AsyncFunctionDeclaration : async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody }
    116    AsyncFunctionDeclaration : async function ( FormalParameters ) { AsyncFunctionBody }
    117    AsyncFunctionExpression : async function ( FormalParameters ) { AsyncFunctionBody }
    118    AsyncFunctionExpression : async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody }
    119 
    120    - It is a Syntax Error if ContainsUseStrict of AsyncFunctionBody is true and
    121      IsSimpleParameterList of FormalParameters is false.
    122 
    123    14.8.1 Static Semantics: Early Errors
    124 
    125    AsyncArrowFunction : CoverCallExpressionAndAsyncArrowHead => AsyncConciseBody
    126 
    127    - It is a Syntax Error if ContainsUseStrict of AsyncConciseBody is true and
    128      IsSimpleParameterList of CoverCallExpressionAndAsyncArrowHead is false.
    129 
    130 ---*/
    131 $DONOTEVALUATE();
    132 
    133 
    134 class C {
    135  static async *method(a,...rest) {
    136    "use strict";
    137  }
    138 }