| after-same-line-gen-computed-names.js | 
          ---
description: Computed property names (field definitions after a generator in the same line)
esid: prod-FieldDefinition
features: [class-fields-public, computed-property-names, generators, class]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      FieldDefinition ;
    FieldDefinition:
      ClassElementName Initializer_opt
    ClassElementName:
      PropertyName
--- | 
          2533 | 
        
        
          | after-same-line-gen-computed-symbol-names.js | 
          ---
description: Computed property symbol names (field definitions after a generator in the same line)
esid: prod-FieldDefinition
features: [class-fields-public, Symbol, computed-property-names, generators, class]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      FieldDefinition ;
    FieldDefinition:
      ClassElementName Initializer_opt
    ClassElementName:
      PropertyName
--- | 
          2492 | 
        
        
          | after-same-line-gen-grammar-privatename-identifier-semantics-stringvalue.js | 
          ---
description: PrivateName Static Semantics, StringValue (field definitions after a generator in the same line)
esid: prod-FieldDefinition
features: [class-fields-private, generators, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
    1. Return the String value consisting of the sequence of code
      units corresponding to PrivateName. In determining the sequence
      any occurrences of \ UnicodeEscapeSequence are first replaced
      with the code point represented by the UnicodeEscapeSequence
      and then the code points of the entire PrivateName are converted
      to code units by UTF16Encoding (10.1.1) each code point.
--- | 
          2781 | 
        
        
          | after-same-line-gen-literal-names-asi.js | 
          ---
description: Literal property names with ASI (field definitions after a generator in the same line)
esid: prod-FieldDefinition
features: [class-fields-public, generators, class]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      FieldDefinition ;
    FieldDefinition:
      ClassElementName Initializer_opt
    ClassElementName:
      PropertyName
--- | 
          1687 | 
        
        
          | after-same-line-gen-literal-names.js | 
          ---
description: Literal property names (field definitions after a generator in the same line)
esid: prod-FieldDefinition
features: [class-fields-public, generators, class]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      FieldDefinition ;
    FieldDefinition:
      ClassElementName Initializer_opt
    ClassElementName:
      PropertyName
--- | 
          2054 | 
        
        
          | after-same-line-gen-private-field-usage.js | 
          ---
description: PrivateName CallExpression usage (private field) (field definitions after a generator in the same line)
esid: prod-FieldDefinition
features: [class-fields-private, generators, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateName
--- | 
          1407 | 
        
        
          | after-same-line-gen-private-method-getter-usage.js | 
          ---
description: PrivateName CallExpression usage (Accesor get method) (field definitions after a generator in the same line)
esid: prod-FieldDefinition
features: [class-methods-private, generators, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateName
--- | 
          1436 | 
        
        
          | after-same-line-gen-private-method-usage.js | 
          ---
description: PrivateName CallExpression usage (private method) (field definitions after a generator in the same line)
esid: prod-FieldDefinition
features: [class-methods-private, generators, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateName
--- | 
          1423 | 
        
        
          | after-same-line-gen-private-names.js | 
          ---
description: private names (field definitions after a generator in the same line)
esid: prod-FieldDefinition
features: [class-fields-private, generators, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      FieldDefinition ;
    FieldDefinition :
      ClassElementName Initializer_opt
    ClassElementName :
      PrivateName
    PrivateName :
      # IdentifierName
--- | 
          1984 | 
        
        
          | after-same-line-gen-rs-field-identifier-initializer.js | 
          ---
description: Valid FieldDefinition (field definitions after a generator in the same line)
esid: prod-FieldDefinition
features: [class-fields-public, generators, class]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
    PropertyName :
      LiteralPropertyName
      ComputedPropertyName
    LiteralPropertyName :
      IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2039 | 
        
        
          | after-same-line-gen-rs-field-identifier.js | 
          ---
description: Valid FieldDefinition (field definitions after a generator in the same line)
esid: prod-FieldDefinition
features: [class-fields-public, generators, class]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
    PropertyName :
      LiteralPropertyName
      ComputedPropertyName
    LiteralPropertyName :
      IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2089 | 
        
        
          | after-same-line-gen-rs-private-getter-alt.js | 
          ---
description: Valid PrivateName as private getter (field definitions after a generator in the same line)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, generators, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ...
      get ClassElementName ( ){ FunctionBody }
      ...
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2734 | 
        
        
          | after-same-line-gen-rs-private-getter.js | 
          ---
description: Valid PrivateName as private getter (field definitions after a generator in the same line)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, generators, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ...
      get ClassElementName ( ){ FunctionBody }
      ...
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2793 | 
        
        
          | after-same-line-gen-rs-private-method-alt.js | 
          ---
description: Valid PrivateName as private method (field definitions after a generator in the same line)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, generators, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ClassElementName ( UniqueFormalParameters ) { FunctionBody }
      ...
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2732 | 
        
        
          | after-same-line-gen-rs-private-method.js | 
          ---
description: Valid PrivateName as private method (field definitions after a generator in the same line)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, generators, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ClassElementName ( UniqueFormalParameters ) { FunctionBody }
      ...
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2791 | 
        
        
          | after-same-line-gen-rs-private-setter-alt.js | 
          ---
description: Valid PrivateName as private setter (field definitions after a generator in the same line)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, generators, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ...
      set ClassElementName ( PropertySetParameterList ) { FunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2786 | 
        
        
          | after-same-line-gen-rs-private-setter.js | 
          ---
description: Valid PrivateName as private setter (field definitions after a generator in the same line)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, generators, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ...
      set ClassElementName ( PropertySetParameterList ) { FunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2845 | 
        
        
          | after-same-line-gen-rs-privatename-identifier-alt.js | 
          ---
description: Valid PrivateName (field definitions after a generator in the same line)
esid: prod-FieldDefinition
features: [class-fields-private, generators, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2432 | 
        
        
          | after-same-line-gen-rs-privatename-identifier-initializer-alt.js | 
          ---
description: Valid PrivateName (field definitions after a generator in the same line)
esid: prod-FieldDefinition
features: [class-fields-private, generators, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2284 | 
        
        
          | after-same-line-gen-rs-privatename-identifier-initializer.js | 
          ---
description: Valid PrivateName (field definitions after a generator in the same line)
esid: prod-FieldDefinition
features: [class-fields-private, generators, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2316 | 
        
        
          | after-same-line-gen-rs-privatename-identifier.js | 
          ---
description: Valid PrivateName (field definitions after a generator in the same line)
esid: prod-FieldDefinition
features: [class-fields-private, generators, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2473 | 
        
        
          | after-same-line-gen-rs-static-async-generator-method-privatename-identifier-alt.js | 
          ---
description: Valid Static AsyncGeneratorMethod PrivateName (field definitions after a generator in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, generators, class, class-fields-public]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      AsyncGeneratorMethod
    AsyncGeneratorMethod :
      async [no LineTerminator here] * ClassElementName ( UniqueFormalParameters){ AsyncGeneratorBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3324 | 
        
        
          | after-same-line-gen-rs-static-async-generator-method-privatename-identifier.js | 
          ---
description: Valid Static AsyncGeneratorMethod PrivateName (field definitions after a generator in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, generators, class, class-fields-public]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      AsyncGeneratorMethod
    AsyncGeneratorMethod :
      async [no LineTerminator here] * ClassElementName ( UniqueFormalParameters){ AsyncGeneratorBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3143 | 
        
        
          | after-same-line-gen-rs-static-async-method-privatename-identifier-alt.js | 
          ---
description: Valid Static AsyncMethod PrivateName (field definitions after a generator in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, generators, class, class-fields-public]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      AsyncMethod
    AsyncMethod :
      async [no LineTerminator here] ClassElementName ( UniqueFormalParameters ){ AsyncFunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3303 | 
        
        
          | after-same-line-gen-rs-static-async-method-privatename-identifier.js | 
          ---
description: Valid Static AsyncMethod PrivateName (field definitions after a generator in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, generators, class, class-fields-public]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      AsyncMethod
    AsyncMethod :
      async [no LineTerminator here] ClassElementName ( UniqueFormalParameters ){ AsyncFunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3116 | 
        
        
          | after-same-line-gen-rs-static-generator-method-privatename-identifier-alt.js | 
          ---
description: Valid Static GeneratorMethod PrivateName (field definitions after a generator in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, generators, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      GeneratorMethod
    GeneratorMethod :
 ClassElementName ( UniqueFormalParameters ){ GeneratorBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2922 | 
        
        
          | after-same-line-gen-rs-static-generator-method-privatename-identifier.js | 
          ---
description: Valid Static GeneratorMethod PrivateName (field definitions after a generator in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, generators, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      GeneratorMethod
    GeneratorMethod :
 ClassElementName ( UniqueFormalParameters ){ GeneratorBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2855 | 
        
        
          | after-same-line-gen-rs-static-method-privatename-identifier-alt.js | 
          ---
description: Valid Static Method PrivateName (field definitions after a generator in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, generators, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      ClassElementName ( UniqueFormalParameters ){ FunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2916 | 
        
        
          | after-same-line-gen-rs-static-method-privatename-identifier.js | 
          ---
description: Valid Static Method PrivateName (field definitions after a generator in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, generators, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      ClassElementName ( UniqueFormalParameters ){ FunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2728 | 
        
        
          | after-same-line-gen-rs-static-privatename-identifier-alt-by-classname.js | 
          ---
description: Valid Static PrivateName (field definitions after a generator in the same line)
esid: prod-FieldDefinition
features: [class-static-fields-private, generators, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2781 | 
        
        
          | after-same-line-gen-rs-static-privatename-identifier-alt.js | 
          ---
description: Valid Static PrivateName (field definitions after a generator in the same line)
esid: prod-FieldDefinition
features: [class-static-fields-private, generators, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2804 | 
        
        
          | after-same-line-gen-rs-static-privatename-identifier-by-classname.js | 
          ---
description: Valid Static PrivateName (field definitions after a generator in the same line)
esid: prod-FieldDefinition
features: [class-static-fields-private, generators, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2586 | 
        
        
          | after-same-line-gen-rs-static-privatename-identifier-initializer-alt-by-classname.js | 
          ---
description: Valid Static PrivateName (field definitions after a generator in the same line)
esid: prod-FieldDefinition
features: [class-static-fields-private, generators, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2415 | 
        
        
          | after-same-line-gen-rs-static-privatename-identifier-initializer-alt.js | 
          ---
description: Valid Static PrivateName (field definitions after a generator in the same line)
esid: prod-FieldDefinition
features: [class-static-fields-private, generators, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2420 | 
        
        
          | after-same-line-gen-rs-static-privatename-identifier-initializer.js | 
          ---
description: Valid Static PrivateName (field definitions after a generator in the same line)
esid: prod-FieldDefinition
features: [class-static-fields-private, generators, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2452 | 
        
        
          | after-same-line-gen-rs-static-privatename-identifier.js | 
          ---
description: Valid Static PrivateName (field definitions after a generator in the same line)
esid: prod-FieldDefinition
features: [class-static-fields-private, generators, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2609 | 
        
        
          | after-same-line-gen-static-private-fields.js | 
          ---
description: static private fields (field definitions after a generator in the same line)
esid: prod-FieldDefinition
features: [class-static-fields-private, generators, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      static FieldDefinition ;
    FieldDefinition :
      ClassElementName Initializer_opt
    ClassElementName :
      PrivateName
    PrivateName :
      # IdentifierName
--- | 
          2042 | 
        
        
          | after-same-line-gen-static-private-methods-with-fields.js | 
          ---
description: static private methods with fields (field definitions after a generator in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, class-static-fields-private, generators, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      static FieldDefinition ;
    FieldDefinition :
      ClassElementName Initializer_opt
    ClassElementName :
      PrivateName
    PrivateName :
      # IdentifierName
--- | 
          2804 | 
        
        
          | after-same-line-gen-static-private-methods.js | 
          ---
description: static private methods (field definitions after a generator in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, generators, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      static FieldDefinition ;
    FieldDefinition :
      ClassElementName Initializer_opt
    ClassElementName :
      PrivateName
    PrivateName :
      # IdentifierName
--- | 
          2092 | 
        
        
          | after-same-line-gen-string-literal-names.js | 
          ---
description: String literal names (field definitions after a generator in the same line)
esid: prod-FieldDefinition
features: [class-fields-public, generators, class]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      FieldDefinition ;
    FieldDefinition:
      ClassElementName Initializer_opt
    ClassElementName:
      PropertyName
--- | 
          2403 | 
        
        
          | after-same-line-method-computed-names.js | 
          ---
description: Computed property names (field definitions after a method in the same line)
esid: prod-FieldDefinition
features: [class-fields-public, computed-property-names, class]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      FieldDefinition ;
    FieldDefinition:
      ClassElementName Initializer_opt
    ClassElementName:
      PropertyName
--- | 
          2507 | 
        
        
          | after-same-line-method-computed-symbol-names.js | 
          ---
description: Computed property symbol names (field definitions after a method in the same line)
esid: prod-FieldDefinition
features: [class-fields-public, Symbol, computed-property-names, class]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      FieldDefinition ;
    FieldDefinition:
      ClassElementName Initializer_opt
    ClassElementName:
      PropertyName
--- | 
          2466 | 
        
        
          | after-same-line-method-grammar-privatename-identifier-semantics-stringvalue.js | 
          ---
description: PrivateName Static Semantics, StringValue (field definitions after a method in the same line)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
    1. Return the String value consisting of the sequence of code
      units corresponding to PrivateName. In determining the sequence
      any occurrences of \ UnicodeEscapeSequence are first replaced
      with the code point represented by the UnicodeEscapeSequence
      and then the code points of the entire PrivateName are converted
      to code units by UTF16Encoding (10.1.1) each code point.
--- | 
          2755 | 
        
        
          | after-same-line-method-literal-names-asi.js | 
          ---
description: Literal property names with ASI (field definitions after a method in the same line)
esid: prod-FieldDefinition
features: [class-fields-public, class]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      FieldDefinition ;
    FieldDefinition:
      ClassElementName Initializer_opt
    ClassElementName:
      PropertyName
--- | 
          1661 | 
        
        
          | after-same-line-method-literal-names.js | 
          ---
description: Literal property names (field definitions after a method in the same line)
esid: prod-FieldDefinition
features: [class-fields-public, class]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      FieldDefinition ;
    FieldDefinition:
      ClassElementName Initializer_opt
    ClassElementName:
      PropertyName
--- | 
          2028 | 
        
        
          | after-same-line-method-private-field-usage.js | 
          ---
description: PrivateName CallExpression usage (private field) (field definitions after a method in the same line)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateName
--- | 
          1381 | 
        
        
          | after-same-line-method-private-method-getter-usage.js | 
          ---
description: PrivateName CallExpression usage (Accesor get method) (field definitions after a method in the same line)
esid: prod-FieldDefinition
features: [class-methods-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateName
--- | 
          1410 | 
        
        
          | after-same-line-method-private-method-usage.js | 
          ---
description: PrivateName CallExpression usage (private method) (field definitions after a method in the same line)
esid: prod-FieldDefinition
features: [class-methods-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateName
--- | 
          1397 | 
        
        
          | after-same-line-method-private-names.js | 
          ---
description: private names (field definitions after a method in the same line)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      FieldDefinition ;
    FieldDefinition :
      ClassElementName Initializer_opt
    ClassElementName :
      PrivateName
    PrivateName :
      # IdentifierName
--- | 
          1958 | 
        
        
          | after-same-line-method-rs-field-identifier-initializer.js | 
          ---
description: Valid FieldDefinition (field definitions after a method in the same line)
esid: prod-FieldDefinition
features: [class-fields-public, class]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
    PropertyName :
      LiteralPropertyName
      ComputedPropertyName
    LiteralPropertyName :
      IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2013 | 
        
        
          | after-same-line-method-rs-field-identifier.js | 
          ---
description: Valid FieldDefinition (field definitions after a method in the same line)
esid: prod-FieldDefinition
features: [class-fields-public, class]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
    PropertyName :
      LiteralPropertyName
      ComputedPropertyName
    LiteralPropertyName :
      IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2063 | 
        
        
          | after-same-line-method-rs-private-getter-alt.js | 
          ---
description: Valid PrivateName as private getter (field definitions after a method in the same line)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ...
      get ClassElementName ( ){ FunctionBody }
      ...
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2708 | 
        
        
          | after-same-line-method-rs-private-getter.js | 
          ---
description: Valid PrivateName as private getter (field definitions after a method in the same line)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ...
      get ClassElementName ( ){ FunctionBody }
      ...
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2767 | 
        
        
          | after-same-line-method-rs-private-method-alt.js | 
          ---
description: Valid PrivateName as private method (field definitions after a method in the same line)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ClassElementName ( UniqueFormalParameters ) { FunctionBody }
      ...
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2706 | 
        
        
          | after-same-line-method-rs-private-method.js | 
          ---
description: Valid PrivateName as private method (field definitions after a method in the same line)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ClassElementName ( UniqueFormalParameters ) { FunctionBody }
      ...
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2765 | 
        
        
          | after-same-line-method-rs-private-setter-alt.js | 
          ---
description: Valid PrivateName as private setter (field definitions after a method in the same line)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ...
      set ClassElementName ( PropertySetParameterList ) { FunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2760 | 
        
        
          | after-same-line-method-rs-private-setter.js | 
          ---
description: Valid PrivateName as private setter (field definitions after a method in the same line)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ...
      set ClassElementName ( PropertySetParameterList ) { FunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2819 | 
        
        
          | after-same-line-method-rs-privatename-identifier-alt.js | 
          ---
description: Valid PrivateName (field definitions after a method in the same line)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2406 | 
        
        
          | after-same-line-method-rs-privatename-identifier-initializer-alt.js | 
          ---
description: Valid PrivateName (field definitions after a method in the same line)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2258 | 
        
        
          | after-same-line-method-rs-privatename-identifier-initializer.js | 
          ---
description: Valid PrivateName (field definitions after a method in the same line)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2290 | 
        
        
          | after-same-line-method-rs-privatename-identifier.js | 
          ---
description: Valid PrivateName (field definitions after a method in the same line)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2447 | 
        
        
          | after-same-line-method-rs-static-async-generator-method-privatename-identifier-alt.js | 
          ---
description: Valid Static AsyncGeneratorMethod PrivateName (field definitions after a method in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      AsyncGeneratorMethod
    AsyncGeneratorMethod :
      async [no LineTerminator here] * ClassElementName ( UniqueFormalParameters){ AsyncGeneratorBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3298 | 
        
        
          | after-same-line-method-rs-static-async-generator-method-privatename-identifier.js | 
          ---
description: Valid Static AsyncGeneratorMethod PrivateName (field definitions after a method in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      AsyncGeneratorMethod
    AsyncGeneratorMethod :
      async [no LineTerminator here] * ClassElementName ( UniqueFormalParameters){ AsyncGeneratorBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3117 | 
        
        
          | after-same-line-method-rs-static-async-method-privatename-identifier-alt.js | 
          ---
description: Valid Static AsyncMethod PrivateName (field definitions after a method in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      AsyncMethod
    AsyncMethod :
      async [no LineTerminator here] ClassElementName ( UniqueFormalParameters ){ AsyncFunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3277 | 
        
        
          | after-same-line-method-rs-static-async-method-privatename-identifier.js | 
          ---
description: Valid Static AsyncMethod PrivateName (field definitions after a method in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      AsyncMethod
    AsyncMethod :
      async [no LineTerminator here] ClassElementName ( UniqueFormalParameters ){ AsyncFunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3090 | 
        
        
          | after-same-line-method-rs-static-generator-method-privatename-identifier-alt.js | 
          ---
description: Valid Static GeneratorMethod PrivateName (field definitions after a method in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      GeneratorMethod
    GeneratorMethod :
 ClassElementName ( UniqueFormalParameters ){ GeneratorBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2896 | 
        
        
          | after-same-line-method-rs-static-generator-method-privatename-identifier.js | 
          ---
description: Valid Static GeneratorMethod PrivateName (field definitions after a method in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      GeneratorMethod
    GeneratorMethod :
 ClassElementName ( UniqueFormalParameters ){ GeneratorBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2829 | 
        
        
          | after-same-line-method-rs-static-method-privatename-identifier-alt.js | 
          ---
description: Valid Static Method PrivateName (field definitions after a method in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      ClassElementName ( UniqueFormalParameters ){ FunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2890 | 
        
        
          | after-same-line-method-rs-static-method-privatename-identifier.js | 
          ---
description: Valid Static Method PrivateName (field definitions after a method in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      ClassElementName ( UniqueFormalParameters ){ FunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2702 | 
        
        
          | after-same-line-method-rs-static-privatename-identifier-alt-by-classname.js | 
          ---
description: Valid Static PrivateName (field definitions after a method in the same line)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2755 | 
        
        
          | after-same-line-method-rs-static-privatename-identifier-alt.js | 
          ---
description: Valid Static PrivateName (field definitions after a method in the same line)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2778 | 
        
        
          | after-same-line-method-rs-static-privatename-identifier-by-classname.js | 
          ---
description: Valid Static PrivateName (field definitions after a method in the same line)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2560 | 
        
        
          | after-same-line-method-rs-static-privatename-identifier-initializer-alt-by-classname.js | 
          ---
description: Valid Static PrivateName (field definitions after a method in the same line)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2389 | 
        
        
          | after-same-line-method-rs-static-privatename-identifier-initializer-alt.js | 
          ---
description: Valid Static PrivateName (field definitions after a method in the same line)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2394 | 
        
        
          | after-same-line-method-rs-static-privatename-identifier-initializer.js | 
          ---
description: Valid Static PrivateName (field definitions after a method in the same line)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2426 | 
        
        
          | after-same-line-method-rs-static-privatename-identifier.js | 
          ---
description: Valid Static PrivateName (field definitions after a method in the same line)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2583 | 
        
        
          | after-same-line-method-static-private-fields.js | 
          ---
description: static private fields (field definitions after a method in the same line)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      static FieldDefinition ;
    FieldDefinition :
      ClassElementName Initializer_opt
    ClassElementName :
      PrivateName
    PrivateName :
      # IdentifierName
--- | 
          2016 | 
        
        
          | after-same-line-method-static-private-methods-with-fields.js | 
          ---
description: static private methods with fields (field definitions after a method in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, class-static-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      static FieldDefinition ;
    FieldDefinition :
      ClassElementName Initializer_opt
    ClassElementName :
      PrivateName
    PrivateName :
      # IdentifierName
--- | 
          2778 | 
        
        
          | after-same-line-method-static-private-methods.js | 
          ---
description: static private methods (field definitions after a method in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      static FieldDefinition ;
    FieldDefinition :
      ClassElementName Initializer_opt
    ClassElementName :
      PrivateName
    PrivateName :
      # IdentifierName
--- | 
          2066 | 
        
        
          | after-same-line-method-string-literal-names.js | 
          ---
description: String literal names (field definitions after a method in the same line)
esid: prod-FieldDefinition
features: [class-fields-public, class]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      FieldDefinition ;
    FieldDefinition:
      ClassElementName Initializer_opt
    ClassElementName:
      PropertyName
--- | 
          2377 | 
        
        
          | after-same-line-static-async-gen-computed-names.js | 
          ---
description: Computed property names (field definitions after a static async generator in the same line)
esid: prod-FieldDefinition
features: [class-fields-public, computed-property-names, class, async-iteration]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      FieldDefinition ;
    FieldDefinition:
      ClassElementName Initializer_opt
    ClassElementName:
      PropertyName
--- | 
          3211 | 
        
        
          | after-same-line-static-async-gen-computed-symbol-names.js | 
          ---
description: Computed property symbol names (field definitions after a static async generator in the same line)
esid: prod-FieldDefinition
features: [class-fields-public, Symbol, computed-property-names, class, async-iteration]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      FieldDefinition ;
    FieldDefinition:
      ClassElementName Initializer_opt
    ClassElementName:
      PropertyName
--- | 
          3162 | 
        
        
          | after-same-line-static-async-gen-grammar-privatename-identifier-semantics-stringvalue.js | 
          ---
description: PrivateName Static Semantics, StringValue (field definitions after a static async generator in the same line)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public, async-iteration]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
    1. Return the String value consisting of the sequence of code
      units corresponding to PrivateName. In determining the sequence
      any occurrences of \ UnicodeEscapeSequence are first replaced
      with the code point represented by the UnicodeEscapeSequence
      and then the code points of the entire PrivateName are converted
      to code units by UTF16Encoding (10.1.1) each code point.
--- | 
          3259 | 
        
        
          | after-same-line-static-async-gen-literal-names-asi.js | 
          ---
description: Literal property names with ASI (field definitions after a static async generator in the same line)
esid: prod-FieldDefinition
features: [class-fields-public, class, async-iteration]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      FieldDefinition ;
    FieldDefinition:
      ClassElementName Initializer_opt
    ClassElementName:
      PropertyName
--- | 
          2261 | 
        
        
          | after-same-line-static-async-gen-literal-names.js | 
          ---
description: Literal property names (field definitions after a static async generator in the same line)
esid: prod-FieldDefinition
features: [class-fields-public, class, async-iteration]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      FieldDefinition ;
    FieldDefinition:
      ClassElementName Initializer_opt
    ClassElementName:
      PropertyName
--- | 
          2684 | 
        
        
          | after-same-line-static-async-gen-private-field-usage.js | 
          ---
description: PrivateName CallExpression usage (private field) (field definitions after a static async generator in the same line)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public, async-iteration]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateName
--- | 
          1873 | 
        
        
          | after-same-line-static-async-gen-private-method-getter-usage.js | 
          ---
description: PrivateName CallExpression usage (Accesor get method) (field definitions after a static async generator in the same line)
esid: prod-FieldDefinition
features: [class-methods-private, class, class-fields-public, async-iteration]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateName
--- | 
          1902 | 
        
        
          | after-same-line-static-async-gen-private-method-usage.js | 
          ---
description: PrivateName CallExpression usage (private method) (field definitions after a static async generator in the same line)
esid: prod-FieldDefinition
features: [class-methods-private, class, class-fields-public, async-iteration]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateName
--- | 
          1889 | 
        
        
          | after-same-line-static-async-gen-private-names.js | 
          ---
description: private names (field definitions after a static async generator in the same line)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public, async-iteration]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      FieldDefinition ;
    FieldDefinition :
      ClassElementName Initializer_opt
    ClassElementName :
      PrivateName
    PrivateName :
      # IdentifierName
--- | 
          2498 | 
        
        
          | after-same-line-static-async-gen-rs-field-identifier-initializer.js | 
          ---
description: Valid FieldDefinition (field definitions after a static async generator in the same line)
esid: prod-FieldDefinition
features: [class-fields-public, class, async-iteration]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
    PropertyName :
      LiteralPropertyName
      ComputedPropertyName
    LiteralPropertyName :
      IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2525 | 
        
        
          | after-same-line-static-async-gen-rs-field-identifier.js | 
          ---
description: Valid FieldDefinition (field definitions after a static async generator in the same line)
esid: prod-FieldDefinition
features: [class-fields-public, class, async-iteration]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
    PropertyName :
      LiteralPropertyName
      ComputedPropertyName
    LiteralPropertyName :
      IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2599 | 
        
        
          | after-same-line-static-async-gen-rs-private-getter-alt.js | 
          ---
description: Valid PrivateName as private getter (field definitions after a static async generator in the same line)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public, async-iteration]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ...
      get ClassElementName ( ){ FunctionBody }
      ...
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3220 | 
        
        
          | after-same-line-static-async-gen-rs-private-getter.js | 
          ---
description: Valid PrivateName as private getter (field definitions after a static async generator in the same line)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public, async-iteration]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ...
      get ClassElementName ( ){ FunctionBody }
      ...
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3279 | 
        
        
          | after-same-line-static-async-gen-rs-private-method-alt.js | 
          ---
description: Valid PrivateName as private method (field definitions after a static async generator in the same line)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public, async-iteration]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ClassElementName ( UniqueFormalParameters ) { FunctionBody }
      ...
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3218 | 
        
        
          | after-same-line-static-async-gen-rs-private-method.js | 
          ---
description: Valid PrivateName as private method (field definitions after a static async generator in the same line)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public, async-iteration]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ClassElementName ( UniqueFormalParameters ) { FunctionBody }
      ...
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3277 | 
        
        
          | after-same-line-static-async-gen-rs-private-setter-alt.js | 
          ---
description: Valid PrivateName as private setter (field definitions after a static async generator in the same line)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public, async-iteration]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ...
      set ClassElementName ( PropertySetParameterList ) { FunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3272 | 
        
        
          | after-same-line-static-async-gen-rs-private-setter.js | 
          ---
description: Valid PrivateName as private setter (field definitions after a static async generator in the same line)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public, async-iteration]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ...
      set ClassElementName ( PropertySetParameterList ) { FunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3331 | 
        
        
          | after-same-line-static-async-gen-rs-privatename-identifier-alt.js | 
          ---
description: Valid PrivateName (field definitions after a static async generator in the same line)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public, async-iteration]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2918 | 
        
        
          | after-same-line-static-async-gen-rs-privatename-identifier-initializer-alt.js | 
          ---
description: Valid PrivateName (field definitions after a static async generator in the same line)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public, async-iteration]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2770 | 
        
        
          | after-same-line-static-async-gen-rs-privatename-identifier-initializer.js | 
          ---
description: Valid PrivateName (field definitions after a static async generator in the same line)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public, async-iteration]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2802 | 
        
        
          | after-same-line-static-async-gen-rs-privatename-identifier.js | 
          ---
description: Valid PrivateName (field definitions after a static async generator in the same line)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public, async-iteration]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2959 | 
        
        
          | after-same-line-static-async-gen-rs-static-async-generator-method-privatename-identifier-alt.js | 
          ---
description: Valid Static AsyncGeneratorMethod PrivateName (field definitions after a static async generator in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public, async-iteration]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      AsyncGeneratorMethod
    AsyncGeneratorMethod :
      async [no LineTerminator here] * ClassElementName ( UniqueFormalParameters){ AsyncGeneratorBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3842 | 
        
        
          | after-same-line-static-async-gen-rs-static-async-generator-method-privatename-identifier.js | 
          ---
description: Valid Static AsyncGeneratorMethod PrivateName (field definitions after a static async generator in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public, async-iteration]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      AsyncGeneratorMethod
    AsyncGeneratorMethod :
      async [no LineTerminator here] * ClassElementName ( UniqueFormalParameters){ AsyncGeneratorBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3661 | 
        
        
          | after-same-line-static-async-gen-rs-static-async-method-privatename-identifier-alt.js | 
          ---
description: Valid Static AsyncMethod PrivateName (field definitions after a static async generator in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public, async-iteration]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      AsyncMethod
    AsyncMethod :
      async [no LineTerminator here] ClassElementName ( UniqueFormalParameters ){ AsyncFunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3821 | 
        
        
          | after-same-line-static-async-gen-rs-static-async-method-privatename-identifier.js | 
          ---
description: Valid Static AsyncMethod PrivateName (field definitions after a static async generator in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public, async-iteration]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      AsyncMethod
    AsyncMethod :
      async [no LineTerminator here] ClassElementName ( UniqueFormalParameters ){ AsyncFunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3634 | 
        
        
          | after-same-line-static-async-gen-rs-static-generator-method-privatename-identifier-alt.js | 
          ---
description: Valid Static GeneratorMethod PrivateName (field definitions after a static async generator in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public, async-iteration]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      GeneratorMethod
    GeneratorMethod :
 ClassElementName ( UniqueFormalParameters ){ GeneratorBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3408 | 
        
        
          | after-same-line-static-async-gen-rs-static-generator-method-privatename-identifier.js | 
          ---
description: Valid Static GeneratorMethod PrivateName (field definitions after a static async generator in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public, async-iteration]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      GeneratorMethod
    GeneratorMethod :
 ClassElementName ( UniqueFormalParameters ){ GeneratorBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3341 | 
        
        
          | after-same-line-static-async-gen-rs-static-method-privatename-identifier-alt.js | 
          ---
description: Valid Static Method PrivateName (field definitions after a static async generator in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public, async-iteration]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      ClassElementName ( UniqueFormalParameters ){ FunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3402 | 
        
        
          | after-same-line-static-async-gen-rs-static-method-privatename-identifier.js | 
          ---
description: Valid Static Method PrivateName (field definitions after a static async generator in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public, async-iteration]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      ClassElementName ( UniqueFormalParameters ){ FunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3214 | 
        
        
          | after-same-line-static-async-gen-rs-static-privatename-identifier-alt-by-classname.js | 
          ---
description: Valid Static PrivateName (field definitions after a static async generator in the same line)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public, async-iteration]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3267 | 
        
        
          | after-same-line-static-async-gen-rs-static-privatename-identifier-alt.js | 
          ---
description: Valid Static PrivateName (field definitions after a static async generator in the same line)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public, async-iteration]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3290 | 
        
        
          | after-same-line-static-async-gen-rs-static-privatename-identifier-by-classname.js | 
          ---
description: Valid Static PrivateName (field definitions after a static async generator in the same line)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public, async-iteration]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3072 | 
        
        
          | after-same-line-static-async-gen-rs-static-privatename-identifier-initializer-alt-by-classname.js | 
          ---
description: Valid Static PrivateName (field definitions after a static async generator in the same line)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public, async-iteration]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2901 | 
        
        
          | after-same-line-static-async-gen-rs-static-privatename-identifier-initializer-alt.js | 
          ---
description: Valid Static PrivateName (field definitions after a static async generator in the same line)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public, async-iteration]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2906 | 
        
        
          | after-same-line-static-async-gen-rs-static-privatename-identifier-initializer.js | 
          ---
description: Valid Static PrivateName (field definitions after a static async generator in the same line)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public, async-iteration]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2938 | 
        
        
          | after-same-line-static-async-gen-rs-static-privatename-identifier.js | 
          ---
description: Valid Static PrivateName (field definitions after a static async generator in the same line)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public, async-iteration]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3095 | 
        
        
          | after-same-line-static-async-gen-static-private-fields.js | 
          ---
description: static private fields (field definitions after a static async generator in the same line)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public, async-iteration]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      static FieldDefinition ;
    FieldDefinition :
      ClassElementName Initializer_opt
    ClassElementName :
      PrivateName
    PrivateName :
      # IdentifierName
--- | 
          2556 | 
        
        
          | after-same-line-static-async-gen-static-private-methods-with-fields.js | 
          ---
description: static private methods with fields (field definitions after a static async generator in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, class-static-fields-private, class, class-fields-public, async-iteration]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      static FieldDefinition ;
    FieldDefinition :
      ClassElementName Initializer_opt
    ClassElementName :
      PrivateName
    PrivateName :
      # IdentifierName
--- | 
          3350 | 
        
        
          | after-same-line-static-async-gen-static-private-methods.js | 
          ---
description: static private methods (field definitions after a static async generator in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public, async-iteration]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      static FieldDefinition ;
    FieldDefinition :
      ClassElementName Initializer_opt
    ClassElementName :
      PrivateName
    PrivateName :
      # IdentifierName
--- | 
          2606 | 
        
        
          | after-same-line-static-async-gen-string-literal-names.js | 
          ---
description: String literal names (field definitions after a static async generator in the same line)
esid: prod-FieldDefinition
features: [class-fields-public, class, async-iteration]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      FieldDefinition ;
    FieldDefinition:
      ClassElementName Initializer_opt
    ClassElementName:
      PropertyName
--- | 
          3089 | 
        
        
          | after-same-line-static-async-method-computed-names.js | 
          ---
description: Computed property names (field definitions after a static async method in the same line)
esid: prod-FieldDefinition
features: [class-fields-public, computed-property-names, class, async-functions]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      FieldDefinition ;
    FieldDefinition:
      ClassElementName Initializer_opt
    ClassElementName:
      PropertyName
--- | 
          3163 | 
        
        
          | after-same-line-static-async-method-computed-symbol-names.js | 
          ---
description: Computed property symbol names (field definitions after a static async method in the same line)
esid: prod-FieldDefinition
features: [class-fields-public, Symbol, computed-property-names, class, async-functions]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      FieldDefinition ;
    FieldDefinition:
      ClassElementName Initializer_opt
    ClassElementName:
      PropertyName
--- | 
          3114 | 
        
        
          | after-same-line-static-async-method-grammar-privatename-identifier-semantics-stringvalue.js | 
          ---
description: PrivateName Static Semantics, StringValue (field definitions after a static async method in the same line)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public, async-functions]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
    1. Return the String value consisting of the sequence of code
      units corresponding to PrivateName. In determining the sequence
      any occurrences of \ UnicodeEscapeSequence are first replaced
      with the code point represented by the UnicodeEscapeSequence
      and then the code points of the entire PrivateName are converted
      to code units by UTF16Encoding (10.1.1) each code point.
--- | 
          3211 | 
        
        
          | after-same-line-static-async-method-literal-names-asi.js | 
          ---
description: Literal property names with ASI (field definitions after a static async method in the same line)
esid: prod-FieldDefinition
features: [class-fields-public, class, async-functions]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      FieldDefinition ;
    FieldDefinition:
      ClassElementName Initializer_opt
    ClassElementName:
      PropertyName
--- | 
          2213 | 
        
        
          | after-same-line-static-async-method-literal-names.js | 
          ---
description: Literal property names (field definitions after a static async method in the same line)
esid: prod-FieldDefinition
features: [class-fields-public, class, async-functions]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      FieldDefinition ;
    FieldDefinition:
      ClassElementName Initializer_opt
    ClassElementName:
      PropertyName
--- | 
          2636 | 
        
        
          | after-same-line-static-async-method-private-field-usage.js | 
          ---
description: PrivateName CallExpression usage (private field) (field definitions after a static async method in the same line)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public, async-functions]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateName
--- | 
          1825 | 
        
        
          | after-same-line-static-async-method-private-method-getter-usage.js | 
          ---
description: PrivateName CallExpression usage (Accesor get method) (field definitions after a static async method in the same line)
esid: prod-FieldDefinition
features: [class-methods-private, class, class-fields-public, async-functions]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateName
--- | 
          1854 | 
        
        
          | after-same-line-static-async-method-private-method-usage.js | 
          ---
description: PrivateName CallExpression usage (private method) (field definitions after a static async method in the same line)
esid: prod-FieldDefinition
features: [class-methods-private, class, class-fields-public, async-functions]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateName
--- | 
          1841 | 
        
        
          | after-same-line-static-async-method-private-names.js | 
          ---
description: private names (field definitions after a static async method in the same line)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public, async-functions]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      FieldDefinition ;
    FieldDefinition :
      ClassElementName Initializer_opt
    ClassElementName :
      PrivateName
    PrivateName :
      # IdentifierName
--- | 
          2450 | 
        
        
          | after-same-line-static-async-method-rs-field-identifier-initializer.js | 
          ---
description: Valid FieldDefinition (field definitions after a static async method in the same line)
esid: prod-FieldDefinition
features: [class-fields-public, class, async-functions]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
    PropertyName :
      LiteralPropertyName
      ComputedPropertyName
    LiteralPropertyName :
      IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2477 | 
        
        
          | after-same-line-static-async-method-rs-field-identifier.js | 
          ---
description: Valid FieldDefinition (field definitions after a static async method in the same line)
esid: prod-FieldDefinition
features: [class-fields-public, class, async-functions]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
    PropertyName :
      LiteralPropertyName
      ComputedPropertyName
    LiteralPropertyName :
      IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2551 | 
        
        
          | after-same-line-static-async-method-rs-private-getter-alt.js | 
          ---
description: Valid PrivateName as private getter (field definitions after a static async method in the same line)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public, async-functions]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ...
      get ClassElementName ( ){ FunctionBody }
      ...
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3172 | 
        
        
          | after-same-line-static-async-method-rs-private-getter.js | 
          ---
description: Valid PrivateName as private getter (field definitions after a static async method in the same line)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public, async-functions]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ...
      get ClassElementName ( ){ FunctionBody }
      ...
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3231 | 
        
        
          | after-same-line-static-async-method-rs-private-method-alt.js | 
          ---
description: Valid PrivateName as private method (field definitions after a static async method in the same line)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public, async-functions]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ClassElementName ( UniqueFormalParameters ) { FunctionBody }
      ...
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3170 | 
        
        
          | after-same-line-static-async-method-rs-private-method.js | 
          ---
description: Valid PrivateName as private method (field definitions after a static async method in the same line)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public, async-functions]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ClassElementName ( UniqueFormalParameters ) { FunctionBody }
      ...
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3229 | 
        
        
          | after-same-line-static-async-method-rs-private-setter-alt.js | 
          ---
description: Valid PrivateName as private setter (field definitions after a static async method in the same line)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public, async-functions]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ...
      set ClassElementName ( PropertySetParameterList ) { FunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3224 | 
        
        
          | after-same-line-static-async-method-rs-private-setter.js | 
          ---
description: Valid PrivateName as private setter (field definitions after a static async method in the same line)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public, async-functions]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ...
      set ClassElementName ( PropertySetParameterList ) { FunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3283 | 
        
        
          | after-same-line-static-async-method-rs-privatename-identifier-alt.js | 
          ---
description: Valid PrivateName (field definitions after a static async method in the same line)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public, async-functions]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2870 | 
        
        
          | after-same-line-static-async-method-rs-privatename-identifier-initializer-alt.js | 
          ---
description: Valid PrivateName (field definitions after a static async method in the same line)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public, async-functions]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2722 | 
        
        
          | after-same-line-static-async-method-rs-privatename-identifier-initializer.js | 
          ---
description: Valid PrivateName (field definitions after a static async method in the same line)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public, async-functions]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2754 | 
        
        
          | after-same-line-static-async-method-rs-privatename-identifier.js | 
          ---
description: Valid PrivateName (field definitions after a static async method in the same line)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public, async-functions]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2911 | 
        
        
          | after-same-line-static-async-method-rs-static-async-generator-method-privatename-identifier-alt.js | 
          ---
description: Valid Static AsyncGeneratorMethod PrivateName (field definitions after a static async method in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public, async-functions]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      AsyncGeneratorMethod
    AsyncGeneratorMethod :
      async [no LineTerminator here] * ClassElementName ( UniqueFormalParameters){ AsyncGeneratorBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3794 | 
        
        
          | after-same-line-static-async-method-rs-static-async-generator-method-privatename-identifier.js | 
          ---
description: Valid Static AsyncGeneratorMethod PrivateName (field definitions after a static async method in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public, async-functions]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      AsyncGeneratorMethod
    AsyncGeneratorMethod :
      async [no LineTerminator here] * ClassElementName ( UniqueFormalParameters){ AsyncGeneratorBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3613 | 
        
        
          | after-same-line-static-async-method-rs-static-async-method-privatename-identifier-alt.js | 
          ---
description: Valid Static AsyncMethod PrivateName (field definitions after a static async method in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public, async-functions]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      AsyncMethod
    AsyncMethod :
      async [no LineTerminator here] ClassElementName ( UniqueFormalParameters ){ AsyncFunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3773 | 
        
        
          | after-same-line-static-async-method-rs-static-async-method-privatename-identifier.js | 
          ---
description: Valid Static AsyncMethod PrivateName (field definitions after a static async method in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public, async-functions]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      AsyncMethod
    AsyncMethod :
      async [no LineTerminator here] ClassElementName ( UniqueFormalParameters ){ AsyncFunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3586 | 
        
        
          | after-same-line-static-async-method-rs-static-generator-method-privatename-identifier-alt.js | 
          ---
description: Valid Static GeneratorMethod PrivateName (field definitions after a static async method in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public, async-functions]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      GeneratorMethod
    GeneratorMethod :
 ClassElementName ( UniqueFormalParameters ){ GeneratorBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3360 | 
        
        
          | after-same-line-static-async-method-rs-static-generator-method-privatename-identifier.js | 
          ---
description: Valid Static GeneratorMethod PrivateName (field definitions after a static async method in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public, async-functions]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      GeneratorMethod
    GeneratorMethod :
 ClassElementName ( UniqueFormalParameters ){ GeneratorBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3293 | 
        
        
          | after-same-line-static-async-method-rs-static-method-privatename-identifier-alt.js | 
          ---
description: Valid Static Method PrivateName (field definitions after a static async method in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public, async-functions]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      ClassElementName ( UniqueFormalParameters ){ FunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3354 | 
        
        
          | after-same-line-static-async-method-rs-static-method-privatename-identifier.js | 
          ---
description: Valid Static Method PrivateName (field definitions after a static async method in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public, async-functions]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      ClassElementName ( UniqueFormalParameters ){ FunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3166 | 
        
        
          | after-same-line-static-async-method-rs-static-privatename-identifier-alt-by-classname.js | 
          ---
description: Valid Static PrivateName (field definitions after a static async method in the same line)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public, async-functions]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3219 | 
        
        
          | after-same-line-static-async-method-rs-static-privatename-identifier-alt.js | 
          ---
description: Valid Static PrivateName (field definitions after a static async method in the same line)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public, async-functions]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3242 | 
        
        
          | after-same-line-static-async-method-rs-static-privatename-identifier-by-classname.js | 
          ---
description: Valid Static PrivateName (field definitions after a static async method in the same line)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public, async-functions]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3024 | 
        
        
          | after-same-line-static-async-method-rs-static-privatename-identifier-initializer-alt-by-classname.js | 
          ---
description: Valid Static PrivateName (field definitions after a static async method in the same line)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public, async-functions]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2853 | 
        
        
          | after-same-line-static-async-method-rs-static-privatename-identifier-initializer-alt.js | 
          ---
description: Valid Static PrivateName (field definitions after a static async method in the same line)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public, async-functions]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2858 | 
        
        
          | after-same-line-static-async-method-rs-static-privatename-identifier-initializer.js | 
          ---
description: Valid Static PrivateName (field definitions after a static async method in the same line)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public, async-functions]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2890 | 
        
        
          | after-same-line-static-async-method-rs-static-privatename-identifier.js | 
          ---
description: Valid Static PrivateName (field definitions after a static async method in the same line)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public, async-functions]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3047 | 
        
        
          | after-same-line-static-async-method-static-private-fields.js | 
          ---
description: static private fields (field definitions after a static async method in the same line)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public, async-functions]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      static FieldDefinition ;
    FieldDefinition :
      ClassElementName Initializer_opt
    ClassElementName :
      PrivateName
    PrivateName :
      # IdentifierName
--- | 
          2508 | 
        
        
          | after-same-line-static-async-method-static-private-methods-with-fields.js | 
          ---
description: static private methods with fields (field definitions after a static async method in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, class-static-fields-private, class, class-fields-public, async-functions]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      static FieldDefinition ;
    FieldDefinition :
      ClassElementName Initializer_opt
    ClassElementName :
      PrivateName
    PrivateName :
      # IdentifierName
--- | 
          3302 | 
        
        
          | after-same-line-static-async-method-static-private-methods.js | 
          ---
description: static private methods (field definitions after a static async method in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public, async-functions]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      static FieldDefinition ;
    FieldDefinition :
      ClassElementName Initializer_opt
    ClassElementName :
      PrivateName
    PrivateName :
      # IdentifierName
--- | 
          2558 | 
        
        
          | after-same-line-static-async-method-string-literal-names.js | 
          ---
description: String literal names (field definitions after a static async method in the same line)
esid: prod-FieldDefinition
features: [class-fields-public, class, async-functions]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      FieldDefinition ;
    FieldDefinition:
      ClassElementName Initializer_opt
    ClassElementName:
      PropertyName
--- | 
          3041 | 
        
        
          | after-same-line-static-gen-computed-names.js | 
          ---
description: Computed property names (field definitions after a static generator in the same line)
esid: prod-FieldDefinition
features: [class-fields-public, computed-property-names, generators, class]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      FieldDefinition ;
    FieldDefinition:
      ClassElementName Initializer_opt
    ClassElementName:
      PropertyName
--- | 
          2635 | 
        
        
          | after-same-line-static-gen-computed-symbol-names.js | 
          ---
description: Computed property symbol names (field definitions after a static generator in the same line)
esid: prod-FieldDefinition
features: [class-fields-public, Symbol, computed-property-names, generators, class]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      FieldDefinition ;
    FieldDefinition:
      ClassElementName Initializer_opt
    ClassElementName:
      PropertyName
--- | 
          2594 | 
        
        
          | after-same-line-static-gen-grammar-privatename-identifier-semantics-stringvalue.js | 
          ---
description: PrivateName Static Semantics, StringValue (field definitions after a static generator in the same line)
esid: prod-FieldDefinition
features: [class-fields-private, generators, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
    1. Return the String value consisting of the sequence of code
      units corresponding to PrivateName. In determining the sequence
      any occurrences of \ UnicodeEscapeSequence are first replaced
      with the code point represented by the UnicodeEscapeSequence
      and then the code points of the entire PrivateName are converted
      to code units by UTF16Encoding (10.1.1) each code point.
--- | 
          2883 | 
        
        
          | after-same-line-static-gen-literal-names-asi.js | 
          ---
description: Literal property names with ASI (field definitions after a static generator in the same line)
esid: prod-FieldDefinition
features: [class-fields-public, generators, class]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      FieldDefinition ;
    FieldDefinition:
      ClassElementName Initializer_opt
    ClassElementName:
      PropertyName
--- | 
          1789 | 
        
        
          | after-same-line-static-gen-literal-names.js | 
          ---
description: Literal property names (field definitions after a static generator in the same line)
esid: prod-FieldDefinition
features: [class-fields-public, generators, class]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      FieldDefinition ;
    FieldDefinition:
      ClassElementName Initializer_opt
    ClassElementName:
      PropertyName
--- | 
          2156 | 
        
        
          | after-same-line-static-gen-private-field-usage.js | 
          ---
description: PrivateName CallExpression usage (private field) (field definitions after a static generator in the same line)
esid: prod-FieldDefinition
features: [class-fields-private, generators, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateName
--- | 
          1509 | 
        
        
          | after-same-line-static-gen-private-method-getter-usage.js | 
          ---
description: PrivateName CallExpression usage (Accesor get method) (field definitions after a static generator in the same line)
esid: prod-FieldDefinition
features: [class-methods-private, generators, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateName
--- | 
          1538 | 
        
        
          | after-same-line-static-gen-private-method-usage.js | 
          ---
description: PrivateName CallExpression usage (private method) (field definitions after a static generator in the same line)
esid: prod-FieldDefinition
features: [class-methods-private, generators, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateName
--- | 
          1525 | 
        
        
          | after-same-line-static-gen-private-names.js | 
          ---
description: private names (field definitions after a static generator in the same line)
esid: prod-FieldDefinition
features: [class-fields-private, generators, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      FieldDefinition ;
    FieldDefinition :
      ClassElementName Initializer_opt
    ClassElementName :
      PrivateName
    PrivateName :
      # IdentifierName
--- | 
          2086 | 
        
        
          | after-same-line-static-gen-rs-field-identifier-initializer.js | 
          ---
description: Valid FieldDefinition (field definitions after a static generator in the same line)
esid: prod-FieldDefinition
features: [class-fields-public, generators, class]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
    PropertyName :
      LiteralPropertyName
      ComputedPropertyName
    LiteralPropertyName :
      IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2141 | 
        
        
          | after-same-line-static-gen-rs-field-identifier.js | 
          ---
description: Valid FieldDefinition (field definitions after a static generator in the same line)
esid: prod-FieldDefinition
features: [class-fields-public, generators, class]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
    PropertyName :
      LiteralPropertyName
      ComputedPropertyName
    LiteralPropertyName :
      IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2191 | 
        
        
          | after-same-line-static-gen-rs-private-getter-alt.js | 
          ---
description: Valid PrivateName as private getter (field definitions after a static generator in the same line)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, generators, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ...
      get ClassElementName ( ){ FunctionBody }
      ...
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2836 | 
        
        
          | after-same-line-static-gen-rs-private-getter.js | 
          ---
description: Valid PrivateName as private getter (field definitions after a static generator in the same line)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, generators, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ...
      get ClassElementName ( ){ FunctionBody }
      ...
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2895 | 
        
        
          | after-same-line-static-gen-rs-private-method-alt.js | 
          ---
description: Valid PrivateName as private method (field definitions after a static generator in the same line)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, generators, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ClassElementName ( UniqueFormalParameters ) { FunctionBody }
      ...
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2834 | 
        
        
          | after-same-line-static-gen-rs-private-method.js | 
          ---
description: Valid PrivateName as private method (field definitions after a static generator in the same line)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, generators, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ClassElementName ( UniqueFormalParameters ) { FunctionBody }
      ...
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2893 | 
        
        
          | after-same-line-static-gen-rs-private-setter-alt.js | 
          ---
description: Valid PrivateName as private setter (field definitions after a static generator in the same line)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, generators, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ...
      set ClassElementName ( PropertySetParameterList ) { FunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2888 | 
        
        
          | after-same-line-static-gen-rs-private-setter.js | 
          ---
description: Valid PrivateName as private setter (field definitions after a static generator in the same line)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, generators, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ...
      set ClassElementName ( PropertySetParameterList ) { FunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2947 | 
        
        
          | after-same-line-static-gen-rs-privatename-identifier-alt.js | 
          ---
description: Valid PrivateName (field definitions after a static generator in the same line)
esid: prod-FieldDefinition
features: [class-fields-private, generators, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2534 | 
        
        
          | after-same-line-static-gen-rs-privatename-identifier-initializer-alt.js | 
          ---
description: Valid PrivateName (field definitions after a static generator in the same line)
esid: prod-FieldDefinition
features: [class-fields-private, generators, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2386 | 
        
        
          | after-same-line-static-gen-rs-privatename-identifier-initializer.js | 
          ---
description: Valid PrivateName (field definitions after a static generator in the same line)
esid: prod-FieldDefinition
features: [class-fields-private, generators, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2418 | 
        
        
          | after-same-line-static-gen-rs-privatename-identifier.js | 
          ---
description: Valid PrivateName (field definitions after a static generator in the same line)
esid: prod-FieldDefinition
features: [class-fields-private, generators, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2575 | 
        
        
          | after-same-line-static-gen-rs-static-async-generator-method-privatename-identifier-alt.js | 
          ---
description: Valid Static AsyncGeneratorMethod PrivateName (field definitions after a static generator in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, generators, class, class-fields-public]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      AsyncGeneratorMethod
    AsyncGeneratorMethod :
      async [no LineTerminator here] * ClassElementName ( UniqueFormalParameters){ AsyncGeneratorBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3426 | 
        
        
          | after-same-line-static-gen-rs-static-async-generator-method-privatename-identifier.js | 
          ---
description: Valid Static AsyncGeneratorMethod PrivateName (field definitions after a static generator in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, generators, class, class-fields-public]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      AsyncGeneratorMethod
    AsyncGeneratorMethod :
      async [no LineTerminator here] * ClassElementName ( UniqueFormalParameters){ AsyncGeneratorBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3245 | 
        
        
          | after-same-line-static-gen-rs-static-async-method-privatename-identifier-alt.js | 
          ---
description: Valid Static AsyncMethod PrivateName (field definitions after a static generator in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, generators, class, class-fields-public]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      AsyncMethod
    AsyncMethod :
      async [no LineTerminator here] ClassElementName ( UniqueFormalParameters ){ AsyncFunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3405 | 
        
        
          | after-same-line-static-gen-rs-static-async-method-privatename-identifier.js | 
          ---
description: Valid Static AsyncMethod PrivateName (field definitions after a static generator in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, generators, class, class-fields-public]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      AsyncMethod
    AsyncMethod :
      async [no LineTerminator here] ClassElementName ( UniqueFormalParameters ){ AsyncFunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3218 | 
        
        
          | after-same-line-static-gen-rs-static-generator-method-privatename-identifier-alt.js | 
          ---
description: Valid Static GeneratorMethod PrivateName (field definitions after a static generator in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, generators, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      GeneratorMethod
    GeneratorMethod :
 ClassElementName ( UniqueFormalParameters ){ GeneratorBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3024 | 
        
        
          | after-same-line-static-gen-rs-static-generator-method-privatename-identifier.js | 
          ---
description: Valid Static GeneratorMethod PrivateName (field definitions after a static generator in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, generators, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      GeneratorMethod
    GeneratorMethod :
 ClassElementName ( UniqueFormalParameters ){ GeneratorBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2957 | 
        
        
          | after-same-line-static-gen-rs-static-method-privatename-identifier-alt.js | 
          ---
description: Valid Static Method PrivateName (field definitions after a static generator in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, generators, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      ClassElementName ( UniqueFormalParameters ){ FunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3018 | 
        
        
          | after-same-line-static-gen-rs-static-method-privatename-identifier.js | 
          ---
description: Valid Static Method PrivateName (field definitions after a static generator in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, generators, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      ClassElementName ( UniqueFormalParameters ){ FunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2830 | 
        
        
          | after-same-line-static-gen-rs-static-privatename-identifier-alt-by-classname.js | 
          ---
description: Valid Static PrivateName (field definitions after a static generator in the same line)
esid: prod-FieldDefinition
features: [class-static-fields-private, generators, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2883 | 
        
        
          | after-same-line-static-gen-rs-static-privatename-identifier-alt.js | 
          ---
description: Valid Static PrivateName (field definitions after a static generator in the same line)
esid: prod-FieldDefinition
features: [class-static-fields-private, generators, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2906 | 
        
        
          | after-same-line-static-gen-rs-static-privatename-identifier-by-classname.js | 
          ---
description: Valid Static PrivateName (field definitions after a static generator in the same line)
esid: prod-FieldDefinition
features: [class-static-fields-private, generators, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2688 | 
        
        
          | after-same-line-static-gen-rs-static-privatename-identifier-initializer-alt-by-classname.js | 
          ---
description: Valid Static PrivateName (field definitions after a static generator in the same line)
esid: prod-FieldDefinition
features: [class-static-fields-private, generators, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2517 | 
        
        
          | after-same-line-static-gen-rs-static-privatename-identifier-initializer-alt.js | 
          ---
description: Valid Static PrivateName (field definitions after a static generator in the same line)
esid: prod-FieldDefinition
features: [class-static-fields-private, generators, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2522 | 
        
        
          | after-same-line-static-gen-rs-static-privatename-identifier-initializer.js | 
          ---
description: Valid Static PrivateName (field definitions after a static generator in the same line)
esid: prod-FieldDefinition
features: [class-static-fields-private, generators, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2554 | 
        
        
          | after-same-line-static-gen-rs-static-privatename-identifier.js | 
          ---
description: Valid Static PrivateName (field definitions after a static generator in the same line)
esid: prod-FieldDefinition
features: [class-static-fields-private, generators, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2711 | 
        
        
          | after-same-line-static-gen-static-private-fields.js | 
          ---
description: static private fields (field definitions after a static generator in the same line)
esid: prod-FieldDefinition
features: [class-static-fields-private, generators, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      static FieldDefinition ;
    FieldDefinition :
      ClassElementName Initializer_opt
    ClassElementName :
      PrivateName
    PrivateName :
      # IdentifierName
--- | 
          2144 | 
        
        
          | after-same-line-static-gen-static-private-methods-with-fields.js | 
          ---
description: static private methods with fields (field definitions after a static generator in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, class-static-fields-private, generators, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      static FieldDefinition ;
    FieldDefinition :
      ClassElementName Initializer_opt
    ClassElementName :
      PrivateName
    PrivateName :
      # IdentifierName
--- | 
          2906 | 
        
        
          | after-same-line-static-gen-static-private-methods.js | 
          ---
description: static private methods (field definitions after a static generator in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, generators, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      static FieldDefinition ;
    FieldDefinition :
      ClassElementName Initializer_opt
    ClassElementName :
      PrivateName
    PrivateName :
      # IdentifierName
--- | 
          2194 | 
        
        
          | after-same-line-static-gen-string-literal-names.js | 
          ---
description: String literal names (field definitions after a static generator in the same line)
esid: prod-FieldDefinition
features: [class-fields-public, generators, class]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      FieldDefinition ;
    FieldDefinition:
      ClassElementName Initializer_opt
    ClassElementName:
      PropertyName
--- | 
          2505 | 
        
        
          | after-same-line-static-method-computed-names.js | 
          ---
description: Computed property names (field definitions after a static method in the same line)
esid: prod-FieldDefinition
features: [class-fields-public, computed-property-names, class]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      FieldDefinition ;
    FieldDefinition:
      ClassElementName Initializer_opt
    ClassElementName:
      PropertyName
--- | 
          2609 | 
        
        
          | after-same-line-static-method-computed-symbol-names.js | 
          ---
description: Computed property symbol names (field definitions after a static method in the same line)
esid: prod-FieldDefinition
features: [class-fields-public, Symbol, computed-property-names, class]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      FieldDefinition ;
    FieldDefinition:
      ClassElementName Initializer_opt
    ClassElementName:
      PropertyName
--- | 
          2568 | 
        
        
          | after-same-line-static-method-grammar-privatename-identifier-semantics-stringvalue.js | 
          ---
description: PrivateName Static Semantics, StringValue (field definitions after a static method in the same line)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
    1. Return the String value consisting of the sequence of code
      units corresponding to PrivateName. In determining the sequence
      any occurrences of \ UnicodeEscapeSequence are first replaced
      with the code point represented by the UnicodeEscapeSequence
      and then the code points of the entire PrivateName are converted
      to code units by UTF16Encoding (10.1.1) each code point.
--- | 
          2857 | 
        
        
          | after-same-line-static-method-literal-names-asi.js | 
          ---
description: Literal property names with ASI (field definitions after a static method in the same line)
esid: prod-FieldDefinition
features: [class-fields-public, class]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      FieldDefinition ;
    FieldDefinition:
      ClassElementName Initializer_opt
    ClassElementName:
      PropertyName
--- | 
          1763 | 
        
        
          | after-same-line-static-method-literal-names.js | 
          ---
description: Literal property names (field definitions after a static method in the same line)
esid: prod-FieldDefinition
features: [class-fields-public, class]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      FieldDefinition ;
    FieldDefinition:
      ClassElementName Initializer_opt
    ClassElementName:
      PropertyName
--- | 
          2130 | 
        
        
          | after-same-line-static-method-private-field-usage.js | 
          ---
description: PrivateName CallExpression usage (private field) (field definitions after a static method in the same line)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateName
--- | 
          1483 | 
        
        
          | after-same-line-static-method-private-method-getter-usage.js | 
          ---
description: PrivateName CallExpression usage (Accesor get method) (field definitions after a static method in the same line)
esid: prod-FieldDefinition
features: [class-methods-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateName
--- | 
          1512 | 
        
        
          | after-same-line-static-method-private-method-usage.js | 
          ---
description: PrivateName CallExpression usage (private method) (field definitions after a static method in the same line)
esid: prod-FieldDefinition
features: [class-methods-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateName
--- | 
          1499 | 
        
        
          | after-same-line-static-method-private-names.js | 
          ---
description: private names (field definitions after a static method in the same line)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      FieldDefinition ;
    FieldDefinition :
      ClassElementName Initializer_opt
    ClassElementName :
      PrivateName
    PrivateName :
      # IdentifierName
--- | 
          2060 | 
        
        
          | after-same-line-static-method-rs-field-identifier-initializer.js | 
          ---
description: Valid FieldDefinition (field definitions after a static method in the same line)
esid: prod-FieldDefinition
features: [class-fields-public, class]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
    PropertyName :
      LiteralPropertyName
      ComputedPropertyName
    LiteralPropertyName :
      IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2115 | 
        
        
          | after-same-line-static-method-rs-field-identifier.js | 
          ---
description: Valid FieldDefinition (field definitions after a static method in the same line)
esid: prod-FieldDefinition
features: [class-fields-public, class]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
    PropertyName :
      LiteralPropertyName
      ComputedPropertyName
    LiteralPropertyName :
      IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2165 | 
        
        
          | after-same-line-static-method-rs-private-getter-alt.js | 
          ---
description: Valid PrivateName as private getter (field definitions after a static method in the same line)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ...
      get ClassElementName ( ){ FunctionBody }
      ...
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2810 | 
        
        
          | after-same-line-static-method-rs-private-getter.js | 
          ---
description: Valid PrivateName as private getter (field definitions after a static method in the same line)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ...
      get ClassElementName ( ){ FunctionBody }
      ...
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2869 | 
        
        
          | after-same-line-static-method-rs-private-method-alt.js | 
          ---
description: Valid PrivateName as private method (field definitions after a static method in the same line)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ClassElementName ( UniqueFormalParameters ) { FunctionBody }
      ...
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2808 | 
        
        
          | after-same-line-static-method-rs-private-method.js | 
          ---
description: Valid PrivateName as private method (field definitions after a static method in the same line)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ClassElementName ( UniqueFormalParameters ) { FunctionBody }
      ...
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2867 | 
        
        
          | after-same-line-static-method-rs-private-setter-alt.js | 
          ---
description: Valid PrivateName as private setter (field definitions after a static method in the same line)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ...
      set ClassElementName ( PropertySetParameterList ) { FunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2862 | 
        
        
          | after-same-line-static-method-rs-private-setter.js | 
          ---
description: Valid PrivateName as private setter (field definitions after a static method in the same line)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ...
      set ClassElementName ( PropertySetParameterList ) { FunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2921 | 
        
        
          | after-same-line-static-method-rs-privatename-identifier-alt.js | 
          ---
description: Valid PrivateName (field definitions after a static method in the same line)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2508 | 
        
        
          | after-same-line-static-method-rs-privatename-identifier-initializer-alt.js | 
          ---
description: Valid PrivateName (field definitions after a static method in the same line)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2360 | 
        
        
          | after-same-line-static-method-rs-privatename-identifier-initializer.js | 
          ---
description: Valid PrivateName (field definitions after a static method in the same line)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2392 | 
        
        
          | after-same-line-static-method-rs-privatename-identifier.js | 
          ---
description: Valid PrivateName (field definitions after a static method in the same line)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2549 | 
        
        
          | after-same-line-static-method-rs-static-async-generator-method-privatename-identifier-alt.js | 
          ---
description: Valid Static AsyncGeneratorMethod PrivateName (field definitions after a static method in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      AsyncGeneratorMethod
    AsyncGeneratorMethod :
      async [no LineTerminator here] * ClassElementName ( UniqueFormalParameters){ AsyncGeneratorBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3400 | 
        
        
          | after-same-line-static-method-rs-static-async-generator-method-privatename-identifier.js | 
          ---
description: Valid Static AsyncGeneratorMethod PrivateName (field definitions after a static method in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      AsyncGeneratorMethod
    AsyncGeneratorMethod :
      async [no LineTerminator here] * ClassElementName ( UniqueFormalParameters){ AsyncGeneratorBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3219 | 
        
        
          | after-same-line-static-method-rs-static-async-method-privatename-identifier-alt.js | 
          ---
description: Valid Static AsyncMethod PrivateName (field definitions after a static method in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      AsyncMethod
    AsyncMethod :
      async [no LineTerminator here] ClassElementName ( UniqueFormalParameters ){ AsyncFunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3379 | 
        
        
          | after-same-line-static-method-rs-static-async-method-privatename-identifier.js | 
          ---
description: Valid Static AsyncMethod PrivateName (field definitions after a static method in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      AsyncMethod
    AsyncMethod :
      async [no LineTerminator here] ClassElementName ( UniqueFormalParameters ){ AsyncFunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3192 | 
        
        
          | after-same-line-static-method-rs-static-generator-method-privatename-identifier-alt.js | 
          ---
description: Valid Static GeneratorMethod PrivateName (field definitions after a static method in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      GeneratorMethod
    GeneratorMethod :
 ClassElementName ( UniqueFormalParameters ){ GeneratorBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2998 | 
        
        
          | after-same-line-static-method-rs-static-generator-method-privatename-identifier.js | 
          ---
description: Valid Static GeneratorMethod PrivateName (field definitions after a static method in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      GeneratorMethod
    GeneratorMethod :
 ClassElementName ( UniqueFormalParameters ){ GeneratorBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2931 | 
        
        
          | after-same-line-static-method-rs-static-method-privatename-identifier-alt.js | 
          ---
description: Valid Static Method PrivateName (field definitions after a static method in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      ClassElementName ( UniqueFormalParameters ){ FunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2992 | 
        
        
          | after-same-line-static-method-rs-static-method-privatename-identifier.js | 
          ---
description: Valid Static Method PrivateName (field definitions after a static method in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      ClassElementName ( UniqueFormalParameters ){ FunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2804 | 
        
        
          | after-same-line-static-method-rs-static-privatename-identifier-alt-by-classname.js | 
          ---
description: Valid Static PrivateName (field definitions after a static method in the same line)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2857 | 
        
        
          | after-same-line-static-method-rs-static-privatename-identifier-alt.js | 
          ---
description: Valid Static PrivateName (field definitions after a static method in the same line)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2880 | 
        
        
          | after-same-line-static-method-rs-static-privatename-identifier-by-classname.js | 
          ---
description: Valid Static PrivateName (field definitions after a static method in the same line)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2662 | 
        
        
          | after-same-line-static-method-rs-static-privatename-identifier-initializer-alt-by-classname.js | 
          ---
description: Valid Static PrivateName (field definitions after a static method in the same line)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2491 | 
        
        
          | after-same-line-static-method-rs-static-privatename-identifier-initializer-alt.js | 
          ---
description: Valid Static PrivateName (field definitions after a static method in the same line)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2496 | 
        
        
          | after-same-line-static-method-rs-static-privatename-identifier-initializer.js | 
          ---
description: Valid Static PrivateName (field definitions after a static method in the same line)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2528 | 
        
        
          | after-same-line-static-method-rs-static-privatename-identifier.js | 
          ---
description: Valid Static PrivateName (field definitions after a static method in the same line)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2685 | 
        
        
          | after-same-line-static-method-static-private-fields.js | 
          ---
description: static private fields (field definitions after a static method in the same line)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      static FieldDefinition ;
    FieldDefinition :
      ClassElementName Initializer_opt
    ClassElementName :
      PrivateName
    PrivateName :
      # IdentifierName
--- | 
          2118 | 
        
        
          | after-same-line-static-method-static-private-methods-with-fields.js | 
          ---
description: static private methods with fields (field definitions after a static method in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, class-static-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      static FieldDefinition ;
    FieldDefinition :
      ClassElementName Initializer_opt
    ClassElementName :
      PrivateName
    PrivateName :
      # IdentifierName
--- | 
          2880 | 
        
        
          | after-same-line-static-method-static-private-methods.js | 
          ---
description: static private methods (field definitions after a static method in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      static FieldDefinition ;
    FieldDefinition :
      ClassElementName Initializer_opt
    ClassElementName :
      PrivateName
    PrivateName :
      # IdentifierName
--- | 
          2168 | 
        
        
          | after-same-line-static-method-string-literal-names.js | 
          ---
description: String literal names (field definitions after a static method in the same line)
esid: prod-FieldDefinition
features: [class-fields-public, class]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      FieldDefinition ;
    FieldDefinition:
      ClassElementName Initializer_opt
    ClassElementName:
      PropertyName
--- | 
          2479 | 
        
        
          | arrow-body-derived-cls-direct-eval-contains-superproperty-1.js | 
          ---
description: super.x in StatementList of eval (direct eval)
esid: sec-performeval-rules-in-initializer
features: [class, class-fields-public]
flags: [generated]
info: |
    Additional Early Error Rules for Eval Inside Initializer
    These static semantics are applied by PerformEval when a direct eval call occurs inside a class field initializer.
    ScriptBody : StatementList
      ...
      The remaining eval rules apply as outside a constructor, inside a method, and inside a function.
    Additional Early Error Rules for Eval Outside Methods
    These static semantics are applied by PerformEval when a direct eval call occurs outside of a MethodDefinition.
    ScriptBody : StatementList
      It is a Syntax Error if StatementList Contains SuperProperty.
--- | 
          1194 | 
        
        
          | arrow-body-derived-cls-direct-eval-contains-superproperty-2.js | 
          ---
description: super['x'] in StatementList of eval (direct eval)
esid: sec-performeval-rules-in-initializer
features: [class, class-fields-public]
flags: [generated]
info: |
    The remaining eval rules apply as outside a constructor, inside a method, and inside a function.
    Additional Early Error Rules for Eval Outside Methods
      These static semantics are applied by PerformEval when a direct eval call occurs outside of a MethodDefinition.
      ScriptBody : StatementList
      It is a Syntax Error if StatementList Contains SuperProperty.
--- | 
          982 | 
        
        
          | arrow-body-derived-cls-direct-eval-err-contains-supercall-1.js | 
          ---
description: error if `super()['x']` in StatementList of eval (direct eval)
esid: sec-performeval-rules-in-initializer
features: [class, class-fields-public]
flags: [generated]
info: |
    Additional Early Error Rules for Eval Inside Initializer
    These static semantics are applied by PerformEval when a direct eval call occurs inside a class field initializer.
    ScriptBody : StatementList
      ...
      The remaining eval rules apply as outside a constructor, inside a method, and inside a function.
    Additional Early Error Rules for Eval Outside Constructor Methods
    These static semantics are applied by PerformEval when a direct eval call occurs outside of the constructor method of a ClassDeclaration or ClassExpression.
    ScriptBody : StatementList
      It is a Syntax Error if StatementList Contains SuperCall.
--- | 
          1310 | 
        
        
          | arrow-body-derived-cls-direct-eval-err-contains-supercall-2.js | 
          ---
description: error if `super().x` in StatementList of eval (direct eval)
esid: sec-performeval-rules-in-initializer
features: [class, class-fields-public]
flags: [generated]
info: |
    Additional Early Error Rules for Eval Outside Constructor Methods
    These static semantics are applied by PerformEval when a direct eval call occurs outside of the constructor method of a ClassDeclaration or ClassExpression.
    ScriptBody : StatementList
      It is a Syntax Error if StatementList Contains SuperCall.
--- | 
          978 | 
        
        
          | arrow-body-derived-cls-direct-eval-err-contains-supercall.js | 
          ---
description: error if `super()` in StatementList of eval (direct eval)
esid: sec-performeval-rules-in-initializer
features: [class, class-fields-public]
flags: [generated]
info: |
    Additional Early Error Rules for Eval Inside Initializer
    These static semantics are applied by PerformEval when a direct eval call occurs inside a class field initializer.
    ScriptBody : StatementList
      ...
      The remaining eval rules apply as outside a constructor, inside a method, and inside a function.
    Additional Early Error Rules for Eval Outside Constructor Methods
    These static semantics are applied by PerformEval when a direct eval call occurs outside of the constructor method of a ClassDeclaration or ClassExpression.
    ScriptBody : StatementList
      It is a Syntax Error if StatementList Contains SuperCall.
--- | 
          1298 | 
        
        
          | arrow-body-derived-cls-indirect-eval-contains-superproperty-1.js | 
          ---
description: super.x in StatementList of eval (indirect eval)
esid: sec-performeval-rules-in-initializer
features: [class, class-fields-public]
flags: [generated]
info: |
    Additional Early Error Rules for Eval Inside Initializer
    These static semantics are applied by PerformEval when a direct eval call occurs inside a class field initializer.
    ScriptBody : StatementList
      ...
      The remaining eval rules apply as outside a constructor, inside a method, and inside a function.
    Additional Early Error Rules for Eval Outside Methods
    These static semantics are applied by PerformEval when a direct eval call occurs outside of a MethodDefinition.
    ScriptBody : StatementList
      It is a Syntax Error if StatementList Contains SuperProperty.
--- | 
          1183 | 
        
        
          | arrow-body-derived-cls-indirect-eval-contains-superproperty-2.js | 
          ---
description: super['x'] in StatementList of eval (indirect eval)
esid: sec-performeval-rules-in-initializer
features: [class, class-fields-public]
flags: [generated]
info: |
    The remaining eval rules apply as outside a constructor, inside a method, and inside a function.
    Additional Early Error Rules for Eval Outside Methods
      These static semantics are applied by PerformEval when a direct eval call occurs outside of a MethodDefinition.
      ScriptBody : StatementList
      It is a Syntax Error if StatementList Contains SuperProperty.
--- | 
          971 | 
        
        
          | arrow-body-derived-cls-indirect-eval-err-contains-supercall-1.js | 
          ---
description: error if `super()['x']` in StatementList of eval (indirect eval)
esid: sec-performeval-rules-in-initializer
features: [class, class-fields-public]
flags: [generated]
info: |
    Additional Early Error Rules for Eval Inside Initializer
    These static semantics are applied by PerformEval when a direct eval call occurs inside a class field initializer.
    ScriptBody : StatementList
      ...
      The remaining eval rules apply as outside a constructor, inside a method, and inside a function.
    Additional Early Error Rules for Eval Outside Constructor Methods
    These static semantics are applied by PerformEval when a direct eval call occurs outside of the constructor method of a ClassDeclaration or ClassExpression.
    ScriptBody : StatementList
      It is a Syntax Error if StatementList Contains SuperCall.
--- | 
          1252 | 
        
        
          | arrow-body-derived-cls-indirect-eval-err-contains-supercall-2.js | 
          ---
description: error if `super().x` in StatementList of eval (indirect eval)
esid: sec-performeval-rules-in-initializer
features: [class, class-fields-public]
flags: [generated]
info: |
    Additional Early Error Rules for Eval Outside Constructor Methods
    These static semantics are applied by PerformEval when a direct eval call occurs outside of the constructor method of a ClassDeclaration or ClassExpression.
    ScriptBody : StatementList
      It is a Syntax Error if StatementList Contains SuperCall.
--- | 
          920 | 
        
        
          | arrow-body-derived-cls-indirect-eval-err-contains-supercall.js | 
          ---
description: error if `super()` in StatementList of eval (indirect eval)
esid: sec-performeval-rules-in-initializer
features: [class, class-fields-public]
flags: [generated]
info: |
    Additional Early Error Rules for Eval Inside Initializer
    These static semantics are applied by PerformEval when a direct eval call occurs inside a class field initializer.
    ScriptBody : StatementList
      ...
      The remaining eval rules apply as outside a constructor, inside a method, and inside a function.
    Additional Early Error Rules for Eval Outside Constructor Methods
    These static semantics are applied by PerformEval when a direct eval call occurs outside of the constructor method of a ClassDeclaration or ClassExpression.
    ScriptBody : StatementList
      It is a Syntax Error if StatementList Contains SuperCall.
--- | 
          1240 | 
        
        
          | arrow-body-direct-eval-err-contains-arguments.js | 
          ---
description: error if `arguments` in StatementList of eval (direct eval)
esid: sec-performeval-rules-in-initializer
features: [class, class-fields-public]
flags: [generated]
info: |
    Additional Early Error Rules for Eval Inside Initializer
    These static semantics are applied by PerformEval when a direct eval call occurs inside a class field initializer.
    ScriptBody : StatementList
      It is a Syntax Error if ContainsArguments of StatementList is true.
      ...
    Static Semantics: ContainsArguments
      IdentifierReference : Identifier
      1. If the StringValue of Identifier is "arguments", return true.
      ...
      For all other grammatical productions, recurse on all nonterminals. If any piece returns true, then return true. Otherwise return false.
--- | 
          1229 | 
        
        
          | arrow-body-direct-eval-err-contains-newtarget.js | 
          ---
description: error if `new.target` in StatementList of eval (direct eval)
esid: sec-performeval-rules-in-initializer
features: [class, new.target, class-fields-public]
flags: [generated]
info: |
    Additional Early Error Rules for Eval Inside Initializer
    These static semantics are applied by PerformEval when a direct eval call occurs inside a class field initializer.
    ScriptBody : StatementList
      ...
      The remaining eval rules apply as outside a constructor, inside a method, and inside a function.
    Additional Early Error Rules for Eval Outside Functions
    These static semantics are applied by PerformEval when a direct eval call occurs outside of any function.
    ScriptBody : StatementList
      It is a Syntax Error if StatementList Contains NewTarget.
--- | 
          1220 | 
        
        
          | arrow-body-indirect-eval-err-contains-newtarget.js | 
          ---
description: error if `new.target` in StatementList of eval (indirect eval)
esid: sec-performeval-rules-in-initializer
features: [class, new.target, class-fields-public]
flags: [generated]
info: |
    Additional Early Error Rules for Eval Inside Initializer
    These static semantics are applied by PerformEval when a direct eval call occurs inside a class field initializer.
    ScriptBody : StatementList
      ...
      The remaining eval rules apply as outside a constructor, inside a method, and inside a function.
    Additional Early Error Rules for Eval Outside Functions
    These static semantics are applied by PerformEval when a direct eval call occurs outside of any function.
    ScriptBody : StatementList
      It is a Syntax Error if StatementList Contains NewTarget.
--- | 
          1169 | 
        
        
          | arrow-body-private-derived-cls-direct-eval-contains-superproperty-1.js | 
          ---
description: super.x in StatementList of eval (direct eval)
esid: sec-performeval-rules-in-initializer
features: [class, class-fields-public, class-fields-private]
flags: [generated]
info: |
    Additional Early Error Rules for Eval Inside Initializer
    These static semantics are applied by PerformEval when a direct eval call occurs inside a class field initializer.
    ScriptBody : StatementList
      ...
      The remaining eval rules apply as outside a constructor, inside a method, and inside a function.
    Additional Early Error Rules for Eval Outside Methods
    These static semantics are applied by PerformEval when a direct eval call occurs outside of a MethodDefinition.
    ScriptBody : StatementList
      It is a Syntax Error if StatementList Contains SuperProperty.
--- | 
          1252 | 
        
        
          | arrow-body-private-derived-cls-direct-eval-contains-superproperty-2.js | 
          ---
description: super['x'] in StatementList of eval (direct eval)
esid: sec-performeval-rules-in-initializer
features: [class, class-fields-public, class-fields-private]
flags: [generated]
info: |
    The remaining eval rules apply as outside a constructor, inside a method, and inside a function.
    Additional Early Error Rules for Eval Outside Methods
      These static semantics are applied by PerformEval when a direct eval call occurs outside of a MethodDefinition.
      ScriptBody : StatementList
      It is a Syntax Error if StatementList Contains SuperProperty.
--- | 
          1040 | 
        
        
          | arrow-body-private-derived-cls-direct-eval-err-contains-supercall-1.js | 
          ---
description: error if `super()['x']` in StatementList of eval (direct eval)
esid: sec-performeval-rules-in-initializer
features: [class, class-fields-public, class-fields-private]
flags: [generated]
info: |
    Additional Early Error Rules for Eval Inside Initializer
    These static semantics are applied by PerformEval when a direct eval call occurs inside a class field initializer.
    ScriptBody : StatementList
      ...
      The remaining eval rules apply as outside a constructor, inside a method, and inside a function.
    Additional Early Error Rules for Eval Outside Constructor Methods
    These static semantics are applied by PerformEval when a direct eval call occurs outside of the constructor method of a ClassDeclaration or ClassExpression.
    ScriptBody : StatementList
      It is a Syntax Error if StatementList Contains SuperCall.
--- | 
          1341 | 
        
        
          | arrow-body-private-derived-cls-direct-eval-err-contains-supercall-2.js | 
          ---
description: error if `super().x` in StatementList of eval (direct eval)
esid: sec-performeval-rules-in-initializer
features: [class, class-fields-public, class-fields-private]
flags: [generated]
info: |
    Additional Early Error Rules for Eval Outside Constructor Methods
    These static semantics are applied by PerformEval when a direct eval call occurs outside of the constructor method of a ClassDeclaration or ClassExpression.
    ScriptBody : StatementList
      It is a Syntax Error if StatementList Contains SuperCall.
--- | 
          1009 | 
        
        
          | arrow-body-private-derived-cls-direct-eval-err-contains-supercall.js | 
          ---
description: error if `super()` in StatementList of eval (direct eval)
esid: sec-performeval-rules-in-initializer
features: [class, class-fields-public, class-fields-private]
flags: [generated]
info: |
    Additional Early Error Rules for Eval Inside Initializer
    These static semantics are applied by PerformEval when a direct eval call occurs inside a class field initializer.
    ScriptBody : StatementList
      ...
      The remaining eval rules apply as outside a constructor, inside a method, and inside a function.
    Additional Early Error Rules for Eval Outside Constructor Methods
    These static semantics are applied by PerformEval when a direct eval call occurs outside of the constructor method of a ClassDeclaration or ClassExpression.
    ScriptBody : StatementList
      It is a Syntax Error if StatementList Contains SuperCall.
--- | 
          1329 | 
        
        
          | arrow-body-private-derived-cls-indirect-eval-contains-superproperty-1.js | 
          ---
description: super.x in StatementList of eval (indirect eval)
esid: sec-performeval-rules-in-initializer
features: [class, class-fields-public, class-fields-private]
flags: [generated]
info: |
    Additional Early Error Rules for Eval Inside Initializer
    These static semantics are applied by PerformEval when a direct eval call occurs inside a class field initializer.
    ScriptBody : StatementList
      ...
      The remaining eval rules apply as outside a constructor, inside a method, and inside a function.
    Additional Early Error Rules for Eval Outside Methods
    These static semantics are applied by PerformEval when a direct eval call occurs outside of a MethodDefinition.
    ScriptBody : StatementList
      It is a Syntax Error if StatementList Contains SuperProperty.
--- | 
          1214 | 
        
        
          | arrow-body-private-derived-cls-indirect-eval-contains-superproperty-2.js | 
          ---
description: super['x'] in StatementList of eval (indirect eval)
esid: sec-performeval-rules-in-initializer
features: [class, class-fields-public, class-fields-private]
flags: [generated]
info: |
    The remaining eval rules apply as outside a constructor, inside a method, and inside a function.
    Additional Early Error Rules for Eval Outside Methods
      These static semantics are applied by PerformEval when a direct eval call occurs outside of a MethodDefinition.
      ScriptBody : StatementList
      It is a Syntax Error if StatementList Contains SuperProperty.
--- | 
          1002 | 
        
        
          | arrow-body-private-derived-cls-indirect-eval-err-contains-supercall-1.js | 
          ---
description: error if `super()['x']` in StatementList of eval (indirect eval)
esid: sec-performeval-rules-in-initializer
features: [class, class-fields-public, class-fields-private]
flags: [generated]
info: |
    Additional Early Error Rules for Eval Inside Initializer
    These static semantics are applied by PerformEval when a direct eval call occurs inside a class field initializer.
    ScriptBody : StatementList
      ...
      The remaining eval rules apply as outside a constructor, inside a method, and inside a function.
    Additional Early Error Rules for Eval Outside Constructor Methods
    These static semantics are applied by PerformEval when a direct eval call occurs outside of the constructor method of a ClassDeclaration or ClassExpression.
    ScriptBody : StatementList
      It is a Syntax Error if StatementList Contains SuperCall.
--- | 
          1283 | 
        
        
          | arrow-body-private-derived-cls-indirect-eval-err-contains-supercall-2.js | 
          ---
description: error if `super().x` in StatementList of eval (indirect eval)
esid: sec-performeval-rules-in-initializer
features: [class, class-fields-public, class-fields-private]
flags: [generated]
info: |
    Additional Early Error Rules for Eval Outside Constructor Methods
    These static semantics are applied by PerformEval when a direct eval call occurs outside of the constructor method of a ClassDeclaration or ClassExpression.
    ScriptBody : StatementList
      It is a Syntax Error if StatementList Contains SuperCall.
--- | 
          951 | 
        
        
          | arrow-body-private-derived-cls-indirect-eval-err-contains-supercall.js | 
          ---
description: error if `super()` in StatementList of eval (indirect eval)
esid: sec-performeval-rules-in-initializer
features: [class, class-fields-public, class-fields-private]
flags: [generated]
info: |
    Additional Early Error Rules for Eval Inside Initializer
    These static semantics are applied by PerformEval when a direct eval call occurs inside a class field initializer.
    ScriptBody : StatementList
      ...
      The remaining eval rules apply as outside a constructor, inside a method, and inside a function.
    Additional Early Error Rules for Eval Outside Constructor Methods
    These static semantics are applied by PerformEval when a direct eval call occurs outside of the constructor method of a ClassDeclaration or ClassExpression.
    ScriptBody : StatementList
      It is a Syntax Error if StatementList Contains SuperCall.
--- | 
          1271 | 
        
        
          | arrow-body-private-direct-eval-err-contains-arguments.js | 
          ---
description: error if `arguments` in StatementList of eval (direct eval)
esid: sec-performeval-rules-in-initializer
features: [class, class-fields-public, class-fields-private]
flags: [generated]
info: |
    Additional Early Error Rules for Eval Inside Initializer
    These static semantics are applied by PerformEval when a direct eval call occurs inside a class field initializer.
    ScriptBody : StatementList
      It is a Syntax Error if ContainsArguments of StatementList is true.
      ...
    Static Semantics: ContainsArguments
      IdentifierReference : Identifier
      1. If the StringValue of Identifier is "arguments", return true.
      ...
      For all other grammatical productions, recurse on all nonterminals. If any piece returns true, then return true. Otherwise return false.
--- | 
          1212 | 
        
        
          | arrow-body-private-direct-eval-err-contains-newtarget.js | 
          ---
description: error if `new.target` in StatementList of eval (direct eval)
esid: sec-performeval-rules-in-initializer
features: [class, new.target, class-fields-private]
flags: [generated]
info: |
    Additional Early Error Rules for Eval Inside Initializer
    These static semantics are applied by PerformEval when a direct eval call occurs inside a class field initializer.
    ScriptBody : StatementList
      ...
      The remaining eval rules apply as outside a constructor, inside a method, and inside a function.
    Additional Early Error Rules for Eval Outside Functions
    These static semantics are applied by PerformEval when a direct eval call occurs outside of any function.
    ScriptBody : StatementList
      It is a Syntax Error if StatementList Contains NewTarget.
--- | 
          1257 | 
        
        
          | arrow-body-private-indirect-eval-err-contains-newtarget.js | 
          ---
description: error if `new.target` in StatementList of eval (indirect eval)
esid: sec-performeval-rules-in-initializer
features: [class, new.target, class-fields-private]
flags: [generated]
info: |
    Additional Early Error Rules for Eval Inside Initializer
    These static semantics are applied by PerformEval when a direct eval call occurs inside a class field initializer.
    ScriptBody : StatementList
      ...
      The remaining eval rules apply as outside a constructor, inside a method, and inside a function.
    Additional Early Error Rules for Eval Outside Functions
    These static semantics are applied by PerformEval when a direct eval call occurs outside of any function.
    ScriptBody : StatementList
      It is a Syntax Error if StatementList Contains NewTarget.
--- | 
          1179 | 
        
        
          | arrow-fnc-init-err-contains-arguments.js | 
          ---
description: Syntax error if `arguments` used in class field (arrow function expression)
esid: sec-class-definitions-static-semantics-early-errors
features: [class, class-fields-public, arrow-function]
flags: [generated]
negative:
  phase: parse
  type: SyntaxError
info: |
    Static Semantics: Early Errors
      FieldDefinition:
        PropertyNameInitializeropt
      - It is a Syntax Error if ContainsArguments of Initializer is true.
    Static Semantics: ContainsArguments
      IdentifierReference : Identifier
      1. If the StringValue of Identifier is "arguments", return true.
      ...
      For all other grammatical productions, recurse on all nonterminals. If any piece returns true, then return true. Otherwise return false.
--- | 
          1056 | 
        
        
          | arrow-fnc-init-err-contains-super.js | 
          ---
description: Syntax error if `super()` used in class field (arrow function expression)
esid: sec-class-definitions-static-semantics-early-errors
features: [class, class-fields-public, arrow-function]
flags: [generated]
negative:
  phase: parse
  type: SyntaxError
info: |
    Static Semantics: Early Errors
      FieldDefinition:
        PropertyNameInitializeropt
      - It is a Syntax Error if Initializer is present and Initializer Contains SuperCall is true.
--- | 
          768 | 
        
        
          | async-gen-private-method | 
           | 
           | 
        
        
          | async-gen-private-method-static | 
           | 
           | 
        
        
          | async-private-method | 
           | 
           | 
        
        
          | async-private-method-static | 
           | 
           | 
        
        
          | browser.js | 
           | 
          0 | 
        
        
          | class-name-static-initializer-anonymous.js | 
          ---
esid: sec-runtime-semantics-classdefinitionevaluation
description: >
    The inferred class-name is present when executing static field initializers of anonymous class expressions.
info: |
    14.6.13 Runtime Semantics: ClassDefinitionEvaluation
    [...]
    17. Perform MakeClassConstructor(F).
    18. If className is not undefined, then
        a. Perform SetFunctionName(F, className).
    [...]
features: [class-static-fields-public]
--- | 
          713 | 
        
        
          | class-name-static-initializer-decl.js | 
          ---
esid: sec-runtime-semantics-classdefinitionevaluation
description: >
    The class-name is present when executing static field initializers of class declarations.
info: |
    14.6.13 Runtime Semantics: ClassDefinitionEvaluation
    [...]
    17. Perform MakeClassConstructor(F).
    18. If className is not undefined, then
        a. Perform SetFunctionName(F, className).
    [...]
features: [class-static-fields-public]
--- | 
          689 | 
        
        
          | class-name-static-initializer-default-export.js | 
          ---
esid: sec-runtime-semantics-classdefinitionevaluation
description: >
    The class-name is present when executing static field initializers of default-exported classes.
info: |
    14.6.13 Runtime Semantics: ClassDefinitionEvaluation
    [...]
    17. Perform MakeClassConstructor(F).
    18. If className is not undefined, then
        a. Perform SetFunctionName(F, className).
    [...]
flags: [module]
features: [class-static-fields-public]
--- | 
          750 | 
        
        
          | class-name-static-initializer-expr.js | 
          ---
esid: sec-runtime-semantics-classdefinitionevaluation
description: >
    The class-name is present when executing static field initializers of named class expressions.
info: |
    14.6.13 Runtime Semantics: ClassDefinitionEvaluation
    [...]
    17. Perform MakeClassConstructor(F).
    18. If className is not undefined, then
        a. Perform SetFunctionName(F, className).
    [...]
features: [class-static-fields-public]
--- | 
          705 | 
        
        
          | comp-name-init-err-contains-arguments.js | 
          ---
description: Syntax error if `arguments` used in class field (computed ClassElementName)
esid: sec-class-definitions-static-semantics-early-errors
features: [class, class-fields-public]
flags: [generated]
negative:
  phase: parse
  type: SyntaxError
info: |
    Static Semantics: Early Errors
      FieldDefinition:
        PropertyNameInitializeropt
      - It is a Syntax Error if ContainsArguments of Initializer is true.
    Static Semantics: ContainsArguments
      IdentifierReference : Identifier
      1. If the StringValue of Identifier is "arguments", return true.
      ...
      For all other grammatical productions, recurse on all nonterminals. If any piece returns true, then return true. Otherwise return false.
--- | 
          1054 | 
        
        
          | comp-name-init-err-contains-super.js | 
          ---
description: Syntax error if `super()` used in class field (computed ClassElementName)
esid: sec-class-definitions-static-semantics-early-errors
features: [class, class-fields-public]
flags: [generated]
negative:
  phase: parse
  type: SyntaxError
info: |
    Static Semantics: Early Errors
      FieldDefinition:
        PropertyNameInitializeropt
      - It is a Syntax Error if Initializer is present and Initializer Contains SuperCall is true.
--- | 
          766 | 
        
        
          | computed-name-toprimitive-symbol.js | 
          ---
description: ToPrimitive evaluation in the ComputedPropertyName (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-fields-public, computed-property-names, Symbol.toPrimitive, Symbol, class]
flags: [generated]
includes: [propertyHelper.js]
info: |
    Runtime Semantics: ClassDefinitionEvaluation
    ...
    27. For each ClassElement e in order from elements
      a. If IsStatic of me is false, then
        i. Let fields be the result of performing ClassElementEvaluation for e with arguments proto and false.
      b. Else,
        i. Let fields be the result of performing ClassElementEvaluation for e with arguments F and false.
      c. If fields is an abrupt completion, then
        i. Set the running execution context's LexicalEnvironment to lex.
        ii. Set the running execution context's PrivateNameEnvironment to outerPrivateEnvironment.
        iii. Return Completion(status).
    ...
    Runtime Semantics: ClassElementEvaluation
    ClassElement: FieldDefinition;
      Return ClassFieldDefinitionEvaluation of FieldDefinition with parameter false and object.
    Runtime Semantics: ClassFieldDefinitionEvaluation
      With parameters isStatic and homeObject.
    1. Let fieldName be the result of evaluating ClassElementName.
    2. ReturnIfAbrupt(fieldName).
    ...
    Runtime Semantics: Evaluation
      ComputedPropertyName: [ AssignmentExpression ]
    1. Let exprValue be the result of evaluating AssignmentExpression.
    2. Let propName be ? GetValue(exprValue).
    3. Return ? ToPropertyKey(propName).
--- | 
          3265 | 
        
        
          | computed-name-toprimitive.js | 
          ---
description: ToPrimitive evaluation in the ComputedPropertyName (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-fields-public, computed-property-names, Symbol.toPrimitive, class]
flags: [generated]
includes: [propertyHelper.js]
info: |
    Runtime Semantics: ClassDefinitionEvaluation
    ...
    27. For each ClassElement e in order from elements
      a. If IsStatic of me is false, then
        i. Let fields be the result of performing ClassElementEvaluation for e with arguments proto and false.
      b. Else,
        i. Let fields be the result of performing ClassElementEvaluation for e with arguments F and false.
      c. If fields is an abrupt completion, then
        i. Set the running execution context's LexicalEnvironment to lex.
        ii. Set the running execution context's PrivateNameEnvironment to outerPrivateEnvironment.
        iii. Return Completion(status).
    ...
    Runtime Semantics: ClassElementEvaluation
    ClassElement: FieldDefinition;
      Return ClassFieldDefinitionEvaluation of FieldDefinition with parameter false and object.
    Runtime Semantics: ClassFieldDefinitionEvaluation
      With parameters isStatic and homeObject.
    1. Let fieldName be the result of evaluating ClassElementName.
    2. ReturnIfAbrupt(fieldName).
    ...
    Runtime Semantics: Evaluation
      ComputedPropertyName: [ AssignmentExpression ]
    1. Let exprValue be the result of evaluating AssignmentExpression.
    2. Let propName be ? GetValue(exprValue).
    3. Return ? ToPropertyKey(propName).
--- | 
          3199 | 
        
        
          | ctor-called-after-fields-init.js | 
          ---
description: The constructor method is called after the fields are initalized (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-fields-public, class]
flags: [generated]
info: |
    [[Construct]] ( argumentsList, newTarget)
    8. If kind is "base", then
      a. Perform OrdinaryCallBindThis(F, calleeContext, thisArgument).
      b. Let result be InitializeInstanceFields(thisArgument, F).
      ...
    ...
    11. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
    ...
--- | 
          864 | 
        
        
          | derived-cls-direct-eval-contains-superproperty-1.js | 
          ---
description: super.x in StatementList of eval (direct eval)
esid: sec-performeval-rules-in-initializer
features: [class, class-fields-public]
flags: [generated]
info: |
    Additional Early Error Rules for Eval Inside Initializer
    These static semantics are applied by PerformEval when a direct eval call occurs inside a class field initializer.
    ScriptBody : StatementList
      ...
      The remaining eval rules apply as outside a constructor, inside a method, and inside a function.
    Additional Early Error Rules for Eval Outside Methods
    These static semantics are applied by PerformEval when a direct eval call occurs outside of a MethodDefinition.
    ScriptBody : StatementList
      It is a Syntax Error if StatementList Contains SuperProperty.
--- | 
          1173 | 
        
        
          | derived-cls-direct-eval-contains-superproperty-2.js | 
          ---
description: super['x'] in StatementList of eval (direct eval)
esid: sec-performeval-rules-in-initializer
features: [class, class-fields-public]
flags: [generated]
info: |
    The remaining eval rules apply as outside a constructor, inside a method, and inside a function.
    Additional Early Error Rules for Eval Outside Methods
      These static semantics are applied by PerformEval when a direct eval call occurs outside of a MethodDefinition.
      ScriptBody : StatementList
      It is a Syntax Error if StatementList Contains SuperProperty.
--- | 
          961 | 
        
        
          | derived-cls-direct-eval-err-contains-supercall-1.js | 
          ---
description: error if `super()['x']` in StatementList of eval (direct eval)
esid: sec-performeval-rules-in-initializer
features: [class, class-fields-public]
flags: [generated]
info: |
    Additional Early Error Rules for Eval Inside Initializer
    These static semantics are applied by PerformEval when a direct eval call occurs inside a class field initializer.
    ScriptBody : StatementList
      ...
      The remaining eval rules apply as outside a constructor, inside a method, and inside a function.
    Additional Early Error Rules for Eval Outside Constructor Methods
    These static semantics are applied by PerformEval when a direct eval call occurs outside of the constructor method of a ClassDeclaration or ClassExpression.
    ScriptBody : StatementList
      It is a Syntax Error if StatementList Contains SuperCall.
--- | 
          1289 | 
        
        
          | derived-cls-direct-eval-err-contains-supercall-2.js | 
          ---
description: error if `super().x` in StatementList of eval (direct eval)
esid: sec-performeval-rules-in-initializer
features: [class, class-fields-public]
flags: [generated]
info: |
    Additional Early Error Rules for Eval Outside Constructor Methods
    These static semantics are applied by PerformEval when a direct eval call occurs outside of the constructor method of a ClassDeclaration or ClassExpression.
    ScriptBody : StatementList
      It is a Syntax Error if StatementList Contains SuperCall.
--- | 
          957 | 
        
        
          | derived-cls-direct-eval-err-contains-supercall.js | 
          ---
description: error if `super()` in StatementList of eval (direct eval)
esid: sec-performeval-rules-in-initializer
features: [class, class-fields-public]
flags: [generated]
info: |
    Additional Early Error Rules for Eval Inside Initializer
    These static semantics are applied by PerformEval when a direct eval call occurs inside a class field initializer.
    ScriptBody : StatementList
      ...
      The remaining eval rules apply as outside a constructor, inside a method, and inside a function.
    Additional Early Error Rules for Eval Outside Constructor Methods
    These static semantics are applied by PerformEval when a direct eval call occurs outside of the constructor method of a ClassDeclaration or ClassExpression.
    ScriptBody : StatementList
      It is a Syntax Error if StatementList Contains SuperCall.
--- | 
          1277 | 
        
        
          | derived-cls-indirect-eval-contains-superproperty-1.js | 
          ---
description: super.x in StatementList of eval (indirect eval)
esid: sec-performeval-rules-in-initializer
features: [class, class-fields-public]
flags: [generated]
info: |
    Additional Early Error Rules for Eval Inside Initializer
    These static semantics are applied by PerformEval when a direct eval call occurs inside a class field initializer.
    ScriptBody : StatementList
      ...
      The remaining eval rules apply as outside a constructor, inside a method, and inside a function.
    Additional Early Error Rules for Eval Outside Methods
    These static semantics are applied by PerformEval when a direct eval call occurs outside of a MethodDefinition.
    ScriptBody : StatementList
      It is a Syntax Error if StatementList Contains SuperProperty.
--- | 
          1236 | 
        
        
          | derived-cls-indirect-eval-contains-superproperty-2.js | 
          ---
description: super['x'] in StatementList of eval (indirect eval)
esid: sec-performeval-rules-in-initializer
features: [class, class-fields-public]
flags: [generated]
info: |
    The remaining eval rules apply as outside a constructor, inside a method, and inside a function.
    Additional Early Error Rules for Eval Outside Methods
      These static semantics are applied by PerformEval when a direct eval call occurs outside of a MethodDefinition.
      ScriptBody : StatementList
      It is a Syntax Error if StatementList Contains SuperProperty.
--- | 
          1024 | 
        
        
          | derived-cls-indirect-eval-err-contains-supercall-1.js | 
          ---
description: error if `super()['x']` in StatementList of eval (indirect eval)
esid: sec-performeval-rules-in-initializer
features: [class, class-fields-public]
flags: [generated]
info: |
    Additional Early Error Rules for Eval Inside Initializer
    These static semantics are applied by PerformEval when a direct eval call occurs inside a class field initializer.
    ScriptBody : StatementList
      ...
      The remaining eval rules apply as outside a constructor, inside a method, and inside a function.
    Additional Early Error Rules for Eval Outside Constructor Methods
    These static semantics are applied by PerformEval when a direct eval call occurs outside of the constructor method of a ClassDeclaration or ClassExpression.
    ScriptBody : StatementList
      It is a Syntax Error if StatementList Contains SuperCall.
--- | 
          1305 | 
        
        
          | derived-cls-indirect-eval-err-contains-supercall-2.js | 
          ---
description: error if `super().x` in StatementList of eval (indirect eval)
esid: sec-performeval-rules-in-initializer
features: [class, class-fields-public]
flags: [generated]
info: |
    Additional Early Error Rules for Eval Outside Constructor Methods
    These static semantics are applied by PerformEval when a direct eval call occurs outside of the constructor method of a ClassDeclaration or ClassExpression.
    ScriptBody : StatementList
      It is a Syntax Error if StatementList Contains SuperCall.
--- | 
          973 | 
        
        
          | derived-cls-indirect-eval-err-contains-supercall.js | 
          ---
description: error if `super()` in StatementList of eval (indirect eval)
esid: sec-performeval-rules-in-initializer
features: [class, class-fields-public]
flags: [generated]
info: |
    Additional Early Error Rules for Eval Inside Initializer
    These static semantics are applied by PerformEval when a direct eval call occurs inside a class field initializer.
    ScriptBody : StatementList
      ...
      The remaining eval rules apply as outside a constructor, inside a method, and inside a function.
    Additional Early Error Rules for Eval Outside Constructor Methods
    These static semantics are applied by PerformEval when a direct eval call occurs outside of the constructor method of a ClassDeclaration or ClassExpression.
    ScriptBody : StatementList
      It is a Syntax Error if StatementList Contains SuperCall.
--- | 
          1293 | 
        
        
          | direct-eval-err-contains-arguments.js | 
          ---
description: error if `arguments` in StatementList of eval (direct eval)
esid: sec-performeval-rules-in-initializer
features: [class, class-fields-public]
flags: [generated]
info: |
    Additional Early Error Rules for Eval Inside Initializer
    These static semantics are applied by PerformEval when a direct eval call occurs inside a class field initializer.
    ScriptBody : StatementList
      It is a Syntax Error if ContainsArguments of StatementList is true.
      ...
    Static Semantics: ContainsArguments
      IdentifierReference : Identifier
      1. If the StringValue of Identifier is "arguments", return true.
      ...
      For all other grammatical productions, recurse on all nonterminals. If any piece returns true, then return true. Otherwise return false.
--- | 
          1208 | 
        
        
          | direct-eval-err-contains-newtarget.js | 
          ---
description: error if `new.target` in StatementList of eval (direct eval)
esid: sec-performeval-rules-in-initializer
features: [class, new.target, class-fields-public]
flags: [generated]
info: |
    Additional Early Error Rules for Eval Inside Initializer
    These static semantics are applied by PerformEval when a direct eval call occurs inside a class field initializer.
    ScriptBody : StatementList
      ...
      The remaining eval rules apply as outside a constructor, inside a method, and inside a function.
    Additional Early Error Rules for Eval Outside Functions
    These static semantics are applied by PerformEval when a direct eval call occurs outside of any function.
    ScriptBody : StatementList
      It is a Syntax Error if StatementList Contains NewTarget.
--- | 
          1201 | 
        
        
          | equality-init-err-contains-arguments.js | 
          ---
description: Syntax error if `arguments` used in class field (equality expression)
esid: sec-class-definitions-static-semantics-early-errors
features: [class, class-fields-public]
flags: [generated]
negative:
  phase: parse
  type: SyntaxError
info: |
    Static Semantics: Early Errors
      FieldDefinition:
        PropertyNameInitializeropt
      - It is a Syntax Error if ContainsArguments of Initializer is true.
    Static Semantics: ContainsArguments
      IdentifierReference : Identifier
      1. If the StringValue of Identifier is "arguments", return true.
      ...
      For all other grammatical productions, recurse on all nonterminals. If any piece returns true, then return true. Otherwise return false.
--- | 
          1033 | 
        
        
          | equality-init-err-contains-super.js | 
          ---
description: Syntax error if `super()` used in class field (equality expression)
esid: sec-class-definitions-static-semantics-early-errors
features: [class, class-fields-public]
flags: [generated]
negative:
  phase: parse
  type: SyntaxError
info: |
    Static Semantics: Early Errors
      FieldDefinition:
        PropertyNameInitializeropt
      - It is a Syntax Error if Initializer is present and Initializer Contains SuperCall is true.
--- | 
          745 | 
        
        
          | evaluation-error | 
           | 
           | 
        
        
          | field-declaration.js | 
          ---
description: Fields are defined (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-fields-public, class]
flags: [generated]
includes: [propertyHelper.js]
info: |
    Updated Productions
    ClassElement :
      ...
      FieldDefinition ;
    FieldDefinition :
      ClassElementName Initializer_opt
    ClassElementName :
      PropertyName
    PropertyName :
      LiteralPropertyName
      ComputedPropertyName
    LiteralPropertyName :
      IdentifierName
      StringLiteral
      NumericLiteral
    ClassDefinitionEvaluation:
      ...
      26. Let instanceFields be a new empty List.
      28. For each ClassElement e in order from elements,
        a. If IsStatic of e is false, then
          i. Let field be the result of performing ClassElementEvaluation for e with arguments proto and false.
        b. ...
        c. ...
        d. If field is not empty, append field to instanceFields.
      ...
      30. Set F.[[Fields]] to instanceFields.
      ...
--- | 
          2360 | 
        
        
          | field-definition-accessor-no-line-terminator.js | 
          ---
description: Valid accessor FieldDefinition, ClassElementName, PropertyName Syntax (field definitions in a class expression)
esid: prod-FieldDefinition
features: [decorators, class]
flags: [generated]
info: |
    FieldDefinition[Yield, Await] :
      accessor [no LineTerminator here] ClassElementName[?Yield, ?Await] Initializer[+In, ?Yield, ?Await]opt
--- | 
          1512 | 
        
        
          | fields-anonymous-function-length.js | 
          ---
description: Anonymous functions in field initializer have length properly set (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-fields-private, class-fields-public, class]
flags: [generated]
info: |
    Updated Productions
    FieldDefinition :
      ClassElementName Initializer_opt
    InitializeInstanceFields ( O, constructor )
      1. Assert: Type ( O ) is Object.
      2. Assert: constructor is an ECMAScript function object.
      3. Let fields be the value of constructor.[[Fields]].
      4. For each item fieldRecord in order from fields,
        a. Perform ? DefineField(O, fieldRecord).
      5. Return.
    DefineField(receiver, fieldRecord)
      1. Assert: Type(receiver) is Object.
      2. Assert: fieldRecord is a Record as created by ClassFieldDefinitionEvaluation.
      3. Let name be fieldRecord.[[Name]].
      4. Let initializer be fieldRecord.[[Initializer]].
      5. If initializer is not empty, then
        a. Let initValue be ? Call(initializer, receiver).
      ...
--- | 
          1498 | 
        
        
          | fields-asi-1.js | 
          ---
description: ASI test in field declarations -- computed name interpreted as property
esid: sec-automatic-semicolon-insertion
features: [class, class-fields-public]
--- | 
          464 | 
        
        
          | fields-asi-2.js | 
          ---
description: ASI test in field declarations -- computed name interpreted as string index
esid: sec-automatic-semicolon-insertion
features: [class, class-fields-public]
--- | 
          416 | 
        
        
          | fields-asi-3.js | 
          ---
description: ASI test in field declarations -- error when computed name interpreted as index
esid: sec-automatic-semicolon-insertion
features: [class, class-fields-public]
negative:
  phase: parse
  type: SyntaxError
--- | 
          454 | 
        
        
          | fields-asi-4.js | 
          ---
description: ASI test in field declarations -- error when generator interpreted as multiplication
esid: sec-automatic-semicolon-insertion
features: [class, class-fields-public, generators]
negative:
  phase: parse
  type: SyntaxError
--- | 
          466 | 
        
        
          | fields-asi-5.js | 
          ---
description: ASI test in field declarations -- field with PropertyName "in" interpreted as index
esid: sec-automatic-semicolon-insertion
features: [class, class-fields-public]
--- | 
          736 | 
        
        
          | fields-asi-same-line-1.js | 
          ---
description: ASI test in field declarations -- error when method on same line
esid: sec-automatic-semicolon-insertion
features: [class, class-fields-public]
negative:
  phase: parse
  type: SyntaxError
--- | 
          452 | 
        
        
          | fields-asi-same-line-2.js | 
          ---
description: ASI test in field declarations -- error when method on same line after initializer
esid: sec-automatic-semicolon-insertion
features: [class, class-fields-public]
negative:
  phase: parse
  type: SyntaxError
--- | 
          474 | 
        
        
          | fields-computed-name-static-propname-prototype.js | 
          ---
description: static class fields forbid PropName 'prototype' (no early error -- PropName of ComputedPropertyName)
esid: sec-class-definitions-static-semantics-early-errors
features: [class, class-static-fields-public]
info: |
  14.6.13 Runtime Semantics: ClassDefinitionEvaluation
  ...
  16. Perform MakeConstructor(F, false, proto).
  ...
  9.2.10 MakeConstructor ( F [ , writablePrototype [ , prototype ] ] )
  6. Perform ! DefinePropertyOrThrow(F, "prototype", PropertyDescriptor { [[Value]]: prototype,
    [[Writable]]: writablePrototype, [[Enumerable]]: false, [[Configurable]]: false }).
--- | 
          947 | 
        
        
          | fields-duplicate-privatenames.js | 
          ---
description: Syntax error if the same private field defined twice
esid: sec-class-definitions-static-semantics-early-errors
features: [class, class-fields-private]
negative:
  phase: parse
  type: SyntaxError
info: |
  Static Semantics: Early Errors
    ClassBody : ClassElementList
    It is a Syntax Error if PrivateBoundNames of ClassBody contains any duplicate entries.
--- | 
          596 | 
        
        
          | fields-literal-name-propname-constructor.js | 
          ---
description: class fields forbid PropName 'constructor' (early error -- PropName of IdentifierName is forbidden)
esid: sec-class-definitions-static-semantics-early-errors
features: [class, class-fields-public]
negative:
  phase: parse
  type: SyntaxError
info: |
    Static Semantics: PropName
    LiteralPropertyName : IdentifierName
      Return StringValue of IdentifierName.
    // This test file tests the following early error:
    Static Semantics: Early Errors
      ClassElement : FieldDefinition;
        It is a Syntax Error if PropName of FieldDefinition is "constructor".
--- | 
          816 | 
        
        
          | fields-literal-name-static-propname-constructor.js | 
          ---
description: static class field forbid PropName 'constructor' (early error -- PropName of IdentifierName is forbidden)
esid: sec-class-definitions-static-semantics-early-errors
features: [class, class-fields-public]
negative:
  phase: parse
  type: SyntaxError
info: |
    Static Semantics: PropName
    LiteralPropertyName : IdentifierName
      Return StringValue of IdentifierName.
    // This test file tests the following early error:
    Static Semantics: Early Errors
      ClassElement : staticFieldDefinition;
        It is a Syntax Error if PropName of FieldDefinition is "prototype" or "constructor".
--- | 
          850 | 
        
        
          | fields-literal-name-static-propname-prototype.js | 
          ---
description: static class fields forbid PropName 'prototype' (early error -- PropName of IdentifierName is forbidden)
esid: sec-class-definitions-static-semantics-early-errors
features: [class, class-fields-public]
negative:
  phase: parse
  type: SyntaxError
info: |
    Static Semantics: PropName
    LiteralPropertyName : IdentifierName
      Return StringValue of IdentifierName.
    // This test file tests the following early error:
    Static Semantics: Early Errors
      ClassElement : staticFieldDefinition;
        It is a Syntax Error if PropName of FieldDefinition is "prototype" or "constructor".
--- | 
          847 | 
        
        
          | fields-multiple-definitions-static-private-methods-proxy.js | 
          ---
description: Static private methods not accessible via default Proxy handler
esid: prod-FieldDefinition
features: [class, class-static-methods-private]
info: |
    ClassElement :
      ...
      static FieldDefinition ;
    FieldDefinition :
      ClassElementName Initializer_opt
    ClassElementName :
      PrivateName
    PrivateName :
      # IdentifierName
--- | 
          737 | 
        
        
          | fields-run-once-on-double-super.js | 
          ---
esid: sec-super-keyword-runtime-semantics-evaluation
description: >
    when calling `super()` for a second time in a derived class, the super constructor is run twice but the field initializers are only run once
info: |
    [...]
    6. Let result be ? Construct(func, argList, newTarget).
    [...]
    10. Perform ? thisER.BindThisValue(result).
    11. Perform ? InitializeInstanceFields(result, F).
    [...]
features: [class-fields-public]
--- | 
          1118 | 
        
        
          | fields-string-name-propname-constructor.js | 
          ---
description: class fields forbid PropName 'constructor' (early error -- PropName of StringLiteral is forbidden)
esid: sec-class-definitions-static-semantics-early-errors
features: [class, class-fields-public]
negative:
  phase: parse
  type: SyntaxError
info: |
    Static Semantics: PropName
    ...
    LiteralPropertyName : StringLiteral
      Return the String value whose code units are the SV of the StringLiteral.
    // This test file tests the following early error:
    Static Semantics: Early Errors
      ClassElement : FieldDefinition;
        It is a Syntax Error if PropName of FieldDefinition is "constructor".
--- | 
          860 | 
        
        
          | fields-string-name-static-propname-constructor.js | 
          ---
description: static class field forbid PropName 'constructor' (early error -- PropName of StringLiteral is forbidden)
esid: sec-class-definitions-static-semantics-early-errors
features: [class, class-fields-public]
negative:
  phase: parse
  type: SyntaxError
info: |
    Static Semantics: PropName
    ...
    LiteralPropertyName : StringLiteral
      Return the String value whose code units are the SV of the StringLiteral.
    // This test file tests the following early error:
    Static Semantics: Early Errors
      ClassElement : staticFieldDefinition;
        It is a Syntax Error if PropName of FieldDefinition is "prototype" or "constructor".
--- | 
          894 | 
        
        
          | fields-string-name-static-propname-prototype.js | 
          ---
description: static class fields forbid PropName 'prototype' (early error -- PropName of StringLiteral is forbidden)
esid: sec-class-definitions-static-semantics-early-errors
features: [class, class-fields-public]
negative:
  phase: parse
  type: SyntaxError
info: |
    Static Semantics: PropName
    ...
    LiteralPropertyName : StringLiteral
      Return the String value whose code units are the SV of the StringLiteral.
    // This test file tests the following early error:
    Static Semantics: Early Errors
      ClassElement : staticFieldDefinition;
        It is a Syntax Error if PropName of FieldDefinition is "prototype" or "constructor".
--- | 
          891 | 
        
        
          | gen-private-method | 
           | 
           | 
        
        
          | gen-private-method-static | 
           | 
           | 
        
        
          | grammar-private-field-optional-chaining.js | 
          ---
description: PrivateName after '?.' is valid syntax (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-fields-private, optional-chaining, class]
flags: [generated]
info: |
    Updated Productions
    OptionalChain[Yield, Await]:
      `?.` `[` Expression[+In, ?Yield, ?Await] `]`
      `?.` IdentifierName
      `?.` Arguments[?Yield, ?Await]
      `?.` TemplateLiteral[?Yield, ?Await, +Tagged]
      `?.` PrivateIdentifier
--- | 
          1035 | 
        
        
          | indirect-eval-contains-arguments.js | 
          ---
description: No error if `arguments` in StatementList of eval (indirect eval)
esid: sec-performeval-rules-in-initializer
features: [class, class-fields-public]
flags: [generated, noStrict]
info: |
    For indirect eval, the "Additional Early Error Rules for Eval Inside Initializer"
    (in #sec-performeval-rules-in-initializer) are NOT applicable.
--- | 
          738 | 
        
        
          | indirect-eval-err-contains-newtarget.js | 
          ---
description: error if `new.target` in StatementList of eval (indirect eval)
esid: sec-performeval-rules-in-initializer
features: [class, new.target, class-fields-public]
flags: [generated]
info: |
    Additional Early Error Rules for Eval Inside Initializer
    These static semantics are applied by PerformEval when a direct eval call occurs inside a class field initializer.
    ScriptBody : StatementList
      ...
      The remaining eval rules apply as outside a constructor, inside a method, and inside a function.
    Additional Early Error Rules for Eval Outside Functions
    These static semantics are applied by PerformEval when a direct eval call occurs outside of any function.
    ScriptBody : StatementList
      It is a Syntax Error if StatementList Contains NewTarget.
--- | 
          1222 | 
        
        
          | init-err-evaluation.js | 
          ---
description: Return abrupt completion evaluating the field initializer (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-fields-public, class]
flags: [generated]
info: |
    [[Construct]] ( argumentsList, newTarget)
    8. If kind is "base", then
      a. Perform OrdinaryCallBindThis(F, calleeContext, thisArgument).
      b. Let result be InitializeInstanceFields(thisArgument, F).
      ...
    ...
    11. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
    ...
--- | 
          939 | 
        
        
          | init-value-defined-after-class.js | 
          ---
description: The initializer value is defined after the class evaluation (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-fields-public, computed-property-names, class]
flags: [generated]
includes: [propertyHelper.js]
info: |
    [[Construct]] ( argumentsList, newTarget)
    8. If kind is "base", then
      a. Perform OrdinaryCallBindThis(F, calleeContext, thisArgument).
      b. Let result be InitializeInstanceFields(thisArgument, F).
      ...
    ...
    11. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
    ...
--- | 
          1202 | 
        
        
          | init-value-incremental.js | 
          ---
description: The initializer value is defined during the class instatiation (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-fields-public, computed-property-names, class]
flags: [generated]
includes: [propertyHelper.js]
info: |
    Runtime Semantics: ClassDefinitionEvaluation
    27. For each ClassElement e in order from elements
      ...
      d. Append to fieldRecords the elements of fields.
    ...
    33. Let result be InitializeStaticFields(F).
    ...
    [[Construct]] ( argumentsList, newTarget)
    8. If kind is "base", then
      a. Perform OrdinaryCallBindThis(F, calleeContext, thisArgument).
      b. Let result be InitializeInstanceFields(thisArgument, F).
      ...
    ...
    11. Let result be OrdinaryCallEvaluateBody(F, argumentsList).
    ...
--- | 
          1525 | 
        
        
          | intercalated-static-non-static-computed-fields.js | 
          ---
description: Computed class fields are executed in the order they are delcared, regardless it is static or instance field (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-static-fields-public, class-fields-public, class]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassTail : ClassHeritage { ClassBody }
      ...
      28. For each ClassElement e in order from elements,
        a. If IsStatic of e is false, then
          i. Let field be the result of performing ClassElementEvaluation for e with arguments proto and false.
        b. Else,
          i. Let field be the result of performing PropertyDefinitionEvaluation for mClassElementEvaluation for e with arguments F and false.
        c. If field is an abrupt completion, then
          ...
        d. If field is not empty,
          i. If IsStatic of e is false, append field to instanceFields.
          ii. Otherwise, append field to staticFields.
       ...
       34. For each item fieldRecord in order from staticFields,
         a. Perform ? DefineField(F, field).
       ...
    [[Construct]] (argumentsList, newTarget)
      ...
      8. If kind is "base", then
        a. Perform OrdinaryCallBindThis(F, calleeContext, thisArgument).
        b. Let result be InitializeInstanceFields(thisArgument, F).
        c. If result is an abrupt completion, then
          i. Remove calleeContext from execution context stack and restore callerContext as the running execution context.
          ii. Return Completion(result).
--- | 
          2447 | 
        
        
          | literal-name-init-err-contains-arguments.js | 
          ---
description: Syntax error if `arguments` used in class field (literal ClassElementName)
esid: sec-class-definitions-static-semantics-early-errors
features: [class, class-fields-public]
flags: [generated]
negative:
  phase: parse
  type: SyntaxError
info: |
    Static Semantics: Early Errors
      FieldDefinition:
        PropertyNameInitializeropt
      - It is a Syntax Error if ContainsArguments of Initializer is true.
    Static Semantics: ContainsArguments
      IdentifierReference : Identifier
      1. If the StringValue of Identifier is "arguments", return true.
      ...
      For all other grammatical productions, recurse on all nonterminals. If any piece returns true, then return true. Otherwise return false.
--- | 
          1036 | 
        
        
          | literal-name-init-err-contains-super.js | 
          ---
description: Syntax error if `super()` used in class field (literal ClassElementName)
esid: sec-class-definitions-static-semantics-early-errors
features: [class, class-fields-public]
flags: [generated]
negative:
  phase: parse
  type: SyntaxError
info: |
    Static Semantics: Early Errors
      FieldDefinition:
        PropertyNameInitializeropt
      - It is a Syntax Error if Initializer is present and Initializer Contains SuperCall is true.
--- | 
          748 | 
        
        
          | multiple-definitions-computed-names.js | 
          ---
description: Computed property names (multiple fields definitions)
esid: prod-FieldDefinition
features: [class-fields-public, computed-property-names, class]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      FieldDefinition ;
    FieldDefinition:
      ClassElementName Initializer_opt
    ClassElementName:
      PropertyName
--- | 
          3643 | 
        
        
          | multiple-definitions-computed-symbol-names.js | 
          ---
description: Computed property symbol names (multiple fields definitions)
esid: prod-FieldDefinition
features: [class-fields-public, Symbol, computed-property-names, class]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      FieldDefinition ;
    FieldDefinition:
      ClassElementName Initializer_opt
    ClassElementName:
      PropertyName
--- | 
          3602 | 
        
        
          | multiple-definitions-grammar-privatename-identifier-semantics-stringvalue.js | 
          ---
description: PrivateName Static Semantics, StringValue (multiple fields definitions)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
    1. Return the String value consisting of the sequence of code
      units corresponding to PrivateName. In determining the sequence
      any occurrences of \ UnicodeEscapeSequence are first replaced
      with the code point represented by the UnicodeEscapeSequence
      and then the code points of the entire PrivateName are converted
      to code units by UTF16Encoding (10.1.1) each code point.
--- | 
          3891 | 
        
        
          | multiple-definitions-literal-names-asi.js | 
          ---
description: Literal property names with ASI (multiple fields definitions)
esid: prod-FieldDefinition
features: [class-fields-public, class]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      FieldDefinition ;
    FieldDefinition:
      ClassElementName Initializer_opt
    ClassElementName:
      PropertyName
--- | 
          2797 | 
        
        
          | multiple-definitions-literal-names.js | 
          ---
description: Literal property names (multiple fields definitions)
esid: prod-FieldDefinition
features: [class-fields-public, class]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      FieldDefinition ;
    FieldDefinition:
      ClassElementName Initializer_opt
    ClassElementName:
      PropertyName
--- | 
          3164 | 
        
        
          | multiple-definitions-private-field-usage.js | 
          ---
description: PrivateName CallExpression usage (private field) (multiple fields definitions)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateName
--- | 
          2517 | 
        
        
          | multiple-definitions-private-method-getter-usage.js | 
          ---
description: PrivateName CallExpression usage (Accesor get method) (multiple fields definitions)
esid: prod-FieldDefinition
features: [class-methods-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateName
--- | 
          2546 | 
        
        
          | multiple-definitions-private-method-usage.js | 
          ---
description: PrivateName CallExpression usage (private method) (multiple fields definitions)
esid: prod-FieldDefinition
features: [class-methods-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateName
--- | 
          2533 | 
        
        
          | multiple-definitions-private-names.js | 
          ---
description: private names (multiple fields definitions)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      FieldDefinition ;
    FieldDefinition :
      ClassElementName Initializer_opt
    ClassElementName :
      PrivateName
    PrivateName :
      # IdentifierName
--- | 
          3094 | 
        
        
          | multiple-definitions-rs-field-identifier-initializer.js | 
          ---
description: Valid FieldDefinition (multiple fields definitions)
esid: prod-FieldDefinition
features: [class-fields-public, class]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
    PropertyName :
      LiteralPropertyName
      ComputedPropertyName
    LiteralPropertyName :
      IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3149 | 
        
        
          | multiple-definitions-rs-field-identifier.js | 
          ---
description: Valid FieldDefinition (multiple fields definitions)
esid: prod-FieldDefinition
features: [class-fields-public, class]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
    PropertyName :
      LiteralPropertyName
      ComputedPropertyName
    LiteralPropertyName :
      IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3199 | 
        
        
          | multiple-definitions-rs-private-getter-alt.js | 
          ---
description: Valid PrivateName as private getter (multiple fields definitions)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ...
      get ClassElementName ( ){ FunctionBody }
      ...
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3844 | 
        
        
          | multiple-definitions-rs-private-getter.js | 
          ---
description: Valid PrivateName as private getter (multiple fields definitions)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ...
      get ClassElementName ( ){ FunctionBody }
      ...
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3903 | 
        
        
          | multiple-definitions-rs-private-method-alt.js | 
          ---
description: Valid PrivateName as private method (multiple fields definitions)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ClassElementName ( UniqueFormalParameters ) { FunctionBody }
      ...
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3842 | 
        
        
          | multiple-definitions-rs-private-method.js | 
          ---
description: Valid PrivateName as private method (multiple fields definitions)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ClassElementName ( UniqueFormalParameters ) { FunctionBody }
      ...
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3901 | 
        
        
          | multiple-definitions-rs-private-setter-alt.js | 
          ---
description: Valid PrivateName as private setter (multiple fields definitions)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ...
      set ClassElementName ( PropertySetParameterList ) { FunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3896 | 
        
        
          | multiple-definitions-rs-private-setter.js | 
          ---
description: Valid PrivateName as private setter (multiple fields definitions)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ...
      set ClassElementName ( PropertySetParameterList ) { FunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3955 | 
        
        
          | multiple-definitions-rs-privatename-identifier-alt.js | 
          ---
description: Valid PrivateName (multiple fields definitions)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3542 | 
        
        
          | multiple-definitions-rs-privatename-identifier-initializer-alt.js | 
          ---
description: Valid PrivateName (multiple fields definitions)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3394 | 
        
        
          | multiple-definitions-rs-privatename-identifier-initializer.js | 
          ---
description: Valid PrivateName (multiple fields definitions)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3426 | 
        
        
          | multiple-definitions-rs-privatename-identifier.js | 
          ---
description: Valid PrivateName (multiple fields definitions)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3583 | 
        
        
          | multiple-definitions-rs-static-async-generator-method-privatename-identifier-alt.js | 
          ---
description: Valid Static AsyncGeneratorMethod PrivateName (multiple fields definitions)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      AsyncGeneratorMethod
    AsyncGeneratorMethod :
      async [no LineTerminator here] * ClassElementName ( UniqueFormalParameters){ AsyncGeneratorBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          4434 | 
        
        
          | multiple-definitions-rs-static-async-generator-method-privatename-identifier.js | 
          ---
description: Valid Static AsyncGeneratorMethod PrivateName (multiple fields definitions)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      AsyncGeneratorMethod
    AsyncGeneratorMethod :
      async [no LineTerminator here] * ClassElementName ( UniqueFormalParameters){ AsyncGeneratorBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          4253 | 
        
        
          | multiple-definitions-rs-static-async-method-privatename-identifier-alt.js | 
          ---
description: Valid Static AsyncMethod PrivateName (multiple fields definitions)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      AsyncMethod
    AsyncMethod :
      async [no LineTerminator here] ClassElementName ( UniqueFormalParameters ){ AsyncFunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          4413 | 
        
        
          | multiple-definitions-rs-static-async-method-privatename-identifier.js | 
          ---
description: Valid Static AsyncMethod PrivateName (multiple fields definitions)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      AsyncMethod
    AsyncMethod :
      async [no LineTerminator here] ClassElementName ( UniqueFormalParameters ){ AsyncFunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          4226 | 
        
        
          | multiple-definitions-rs-static-generator-method-privatename-identifier-alt.js | 
          ---
description: Valid Static GeneratorMethod PrivateName (multiple fields definitions)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      GeneratorMethod
    GeneratorMethod :
 ClassElementName ( UniqueFormalParameters ){ GeneratorBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          4032 | 
        
        
          | multiple-definitions-rs-static-generator-method-privatename-identifier.js | 
          ---
description: Valid Static GeneratorMethod PrivateName (multiple fields definitions)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      GeneratorMethod
    GeneratorMethod :
 ClassElementName ( UniqueFormalParameters ){ GeneratorBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3965 | 
        
        
          | multiple-definitions-rs-static-method-privatename-identifier-alt.js | 
          ---
description: Valid Static Method PrivateName (multiple fields definitions)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      ClassElementName ( UniqueFormalParameters ){ FunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          4026 | 
        
        
          | multiple-definitions-rs-static-method-privatename-identifier.js | 
          ---
description: Valid Static Method PrivateName (multiple fields definitions)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      ClassElementName ( UniqueFormalParameters ){ FunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3838 | 
        
        
          | multiple-definitions-rs-static-privatename-identifier-alt-by-classname.js | 
          ---
description: Valid Static PrivateName (multiple fields definitions)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3891 | 
        
        
          | multiple-definitions-rs-static-privatename-identifier-alt.js | 
          ---
description: Valid Static PrivateName (multiple fields definitions)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3914 | 
        
        
          | multiple-definitions-rs-static-privatename-identifier-by-classname.js | 
          ---
description: Valid Static PrivateName (multiple fields definitions)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3696 | 
        
        
          | multiple-definitions-rs-static-privatename-identifier-initializer-alt-by-classname.js | 
          ---
description: Valid Static PrivateName (multiple fields definitions)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3525 | 
        
        
          | multiple-definitions-rs-static-privatename-identifier-initializer-alt.js | 
          ---
description: Valid Static PrivateName (multiple fields definitions)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3530 | 
        
        
          | multiple-definitions-rs-static-privatename-identifier-initializer.js | 
          ---
description: Valid Static PrivateName (multiple fields definitions)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3562 | 
        
        
          | multiple-definitions-rs-static-privatename-identifier.js | 
          ---
description: Valid Static PrivateName (multiple fields definitions)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3719 | 
        
        
          | multiple-definitions-static-private-fields.js | 
          ---
description: static private fields (multiple fields definitions)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      static FieldDefinition ;
    FieldDefinition :
      ClassElementName Initializer_opt
    ClassElementName :
      PrivateName
    PrivateName :
      # IdentifierName
--- | 
          3152 | 
        
        
          | multiple-definitions-static-private-methods-with-fields.js | 
          ---
description: static private methods with fields (multiple fields definitions)
esid: prod-FieldDefinition
features: [class-static-methods-private, class-static-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      static FieldDefinition ;
    FieldDefinition :
      ClassElementName Initializer_opt
    ClassElementName :
      PrivateName
    PrivateName :
      # IdentifierName
--- | 
          3914 | 
        
        
          | multiple-definitions-static-private-methods.js | 
          ---
description: static private methods (multiple fields definitions)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      static FieldDefinition ;
    FieldDefinition :
      ClassElementName Initializer_opt
    ClassElementName :
      PrivateName
    PrivateName :
      # IdentifierName
--- | 
          3202 | 
        
        
          | multiple-definitions-string-literal-names.js | 
          ---
description: String literal names (multiple fields definitions)
esid: prod-FieldDefinition
features: [class-fields-public, class]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      FieldDefinition ;
    FieldDefinition:
      ClassElementName Initializer_opt
    ClassElementName:
      PropertyName
--- | 
          3513 | 
        
        
          | multiple-stacked-definitions-computed-names.js | 
          ---
description: Computed property names (multiple stacked fields definitions through ASI)
esid: prod-FieldDefinition
features: [class-fields-public, computed-property-names, class]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      FieldDefinition ;
    FieldDefinition:
      ClassElementName Initializer_opt
    ClassElementName:
      PropertyName
--- | 
          3049 | 
        
        
          | multiple-stacked-definitions-computed-symbol-names.js | 
          ---
description: Computed property symbol names (multiple stacked fields definitions through ASI)
esid: prod-FieldDefinition
features: [class-fields-public, Symbol, computed-property-names, class]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      FieldDefinition ;
    FieldDefinition:
      ClassElementName Initializer_opt
    ClassElementName:
      PropertyName
--- | 
          3008 | 
        
        
          | multiple-stacked-definitions-grammar-privatename-identifier-semantics-stringvalue.js | 
          ---
description: PrivateName Static Semantics, StringValue (multiple stacked fields definitions through ASI)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
    1. Return the String value consisting of the sequence of code
      units corresponding to PrivateName. In determining the sequence
      any occurrences of \ UnicodeEscapeSequence are first replaced
      with the code point represented by the UnicodeEscapeSequence
      and then the code points of the entire PrivateName are converted
      to code units by UTF16Encoding (10.1.1) each code point.
--- | 
          3297 | 
        
        
          | multiple-stacked-definitions-literal-names-asi.js | 
          ---
description: Literal property names with ASI (multiple stacked fields definitions through ASI)
esid: prod-FieldDefinition
features: [class-fields-public, class]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      FieldDefinition ;
    FieldDefinition:
      ClassElementName Initializer_opt
    ClassElementName:
      PropertyName
--- | 
          2203 | 
        
        
          | multiple-stacked-definitions-literal-names.js | 
          ---
description: Literal property names (multiple stacked fields definitions through ASI)
esid: prod-FieldDefinition
features: [class-fields-public, class]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      FieldDefinition ;
    FieldDefinition:
      ClassElementName Initializer_opt
    ClassElementName:
      PropertyName
--- | 
          2570 | 
        
        
          | multiple-stacked-definitions-private-field-usage.js | 
          ---
description: PrivateName CallExpression usage (private field) (multiple stacked fields definitions through ASI)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateName
--- | 
          1923 | 
        
        
          | multiple-stacked-definitions-private-method-getter-usage.js | 
          ---
description: PrivateName CallExpression usage (Accesor get method) (multiple stacked fields definitions through ASI)
esid: prod-FieldDefinition
features: [class-methods-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateName
--- | 
          1952 | 
        
        
          | multiple-stacked-definitions-private-method-usage.js | 
          ---
description: PrivateName CallExpression usage (private method) (multiple stacked fields definitions through ASI)
esid: prod-FieldDefinition
features: [class-methods-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateName
--- | 
          1939 | 
        
        
          | multiple-stacked-definitions-private-names.js | 
          ---
description: private names (multiple stacked fields definitions through ASI)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      FieldDefinition ;
    FieldDefinition :
      ClassElementName Initializer_opt
    ClassElementName :
      PrivateName
    PrivateName :
      # IdentifierName
--- | 
          2500 | 
        
        
          | multiple-stacked-definitions-rs-field-identifier-initializer.js | 
          ---
description: Valid FieldDefinition (multiple stacked fields definitions through ASI)
esid: prod-FieldDefinition
features: [class-fields-public, class]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
    PropertyName :
      LiteralPropertyName
      ComputedPropertyName
    LiteralPropertyName :
      IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2555 | 
        
        
          | multiple-stacked-definitions-rs-field-identifier.js | 
          ---
description: Valid FieldDefinition (multiple stacked fields definitions through ASI)
esid: prod-FieldDefinition
features: [class-fields-public, class]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
    PropertyName :
      LiteralPropertyName
      ComputedPropertyName
    LiteralPropertyName :
      IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2605 | 
        
        
          | multiple-stacked-definitions-rs-private-getter-alt.js | 
          ---
description: Valid PrivateName as private getter (multiple stacked fields definitions through ASI)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ...
      get ClassElementName ( ){ FunctionBody }
      ...
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3250 | 
        
        
          | multiple-stacked-definitions-rs-private-getter.js | 
          ---
description: Valid PrivateName as private getter (multiple stacked fields definitions through ASI)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ...
      get ClassElementName ( ){ FunctionBody }
      ...
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3309 | 
        
        
          | multiple-stacked-definitions-rs-private-method-alt.js | 
          ---
description: Valid PrivateName as private method (multiple stacked fields definitions through ASI)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ClassElementName ( UniqueFormalParameters ) { FunctionBody }
      ...
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3248 | 
        
        
          | multiple-stacked-definitions-rs-private-method.js | 
          ---
description: Valid PrivateName as private method (multiple stacked fields definitions through ASI)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ClassElementName ( UniqueFormalParameters ) { FunctionBody }
      ...
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3307 | 
        
        
          | multiple-stacked-definitions-rs-private-setter-alt.js | 
          ---
description: Valid PrivateName as private setter (multiple stacked fields definitions through ASI)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ...
      set ClassElementName ( PropertySetParameterList ) { FunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3302 | 
        
        
          | multiple-stacked-definitions-rs-private-setter.js | 
          ---
description: Valid PrivateName as private setter (multiple stacked fields definitions through ASI)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ...
      set ClassElementName ( PropertySetParameterList ) { FunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3361 | 
        
        
          | multiple-stacked-definitions-rs-privatename-identifier-alt.js | 
          ---
description: Valid PrivateName (multiple stacked fields definitions through ASI)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2948 | 
        
        
          | multiple-stacked-definitions-rs-privatename-identifier-initializer-alt.js | 
          ---
description: Valid PrivateName (multiple stacked fields definitions through ASI)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2800 | 
        
        
          | multiple-stacked-definitions-rs-privatename-identifier-initializer.js | 
          ---
description: Valid PrivateName (multiple stacked fields definitions through ASI)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2832 | 
        
        
          | multiple-stacked-definitions-rs-privatename-identifier.js | 
          ---
description: Valid PrivateName (multiple stacked fields definitions through ASI)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2989 | 
        
        
          | multiple-stacked-definitions-rs-static-async-generator-method-privatename-identifier-alt.js | 
          ---
description: Valid Static AsyncGeneratorMethod PrivateName (multiple stacked fields definitions through ASI)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      AsyncGeneratorMethod
    AsyncGeneratorMethod :
      async [no LineTerminator here] * ClassElementName ( UniqueFormalParameters){ AsyncGeneratorBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3840 | 
        
        
          | multiple-stacked-definitions-rs-static-async-generator-method-privatename-identifier.js | 
          ---
description: Valid Static AsyncGeneratorMethod PrivateName (multiple stacked fields definitions through ASI)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      AsyncGeneratorMethod
    AsyncGeneratorMethod :
      async [no LineTerminator here] * ClassElementName ( UniqueFormalParameters){ AsyncGeneratorBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3659 | 
        
        
          | multiple-stacked-definitions-rs-static-async-method-privatename-identifier-alt.js | 
          ---
description: Valid Static AsyncMethod PrivateName (multiple stacked fields definitions through ASI)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      AsyncMethod
    AsyncMethod :
      async [no LineTerminator here] ClassElementName ( UniqueFormalParameters ){ AsyncFunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3819 | 
        
        
          | multiple-stacked-definitions-rs-static-async-method-privatename-identifier.js | 
          ---
description: Valid Static AsyncMethod PrivateName (multiple stacked fields definitions through ASI)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      AsyncMethod
    AsyncMethod :
      async [no LineTerminator here] ClassElementName ( UniqueFormalParameters ){ AsyncFunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3632 | 
        
        
          | multiple-stacked-definitions-rs-static-generator-method-privatename-identifier-alt.js | 
          ---
description: Valid Static GeneratorMethod PrivateName (multiple stacked fields definitions through ASI)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      GeneratorMethod
    GeneratorMethod :
 ClassElementName ( UniqueFormalParameters ){ GeneratorBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3438 | 
        
        
          | multiple-stacked-definitions-rs-static-generator-method-privatename-identifier.js | 
          ---
description: Valid Static GeneratorMethod PrivateName (multiple stacked fields definitions through ASI)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      GeneratorMethod
    GeneratorMethod :
 ClassElementName ( UniqueFormalParameters ){ GeneratorBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3371 | 
        
        
          | multiple-stacked-definitions-rs-static-method-privatename-identifier-alt.js | 
          ---
description: Valid Static Method PrivateName (multiple stacked fields definitions through ASI)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      ClassElementName ( UniqueFormalParameters ){ FunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3432 | 
        
        
          | multiple-stacked-definitions-rs-static-method-privatename-identifier.js | 
          ---
description: Valid Static Method PrivateName (multiple stacked fields definitions through ASI)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      ClassElementName ( UniqueFormalParameters ){ FunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3244 | 
        
        
          | multiple-stacked-definitions-rs-static-privatename-identifier-alt-by-classname.js | 
          ---
description: Valid Static PrivateName (multiple stacked fields definitions through ASI)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3297 | 
        
        
          | multiple-stacked-definitions-rs-static-privatename-identifier-alt.js | 
          ---
description: Valid Static PrivateName (multiple stacked fields definitions through ASI)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3320 | 
        
        
          | multiple-stacked-definitions-rs-static-privatename-identifier-by-classname.js | 
          ---
description: Valid Static PrivateName (multiple stacked fields definitions through ASI)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3102 | 
        
        
          | multiple-stacked-definitions-rs-static-privatename-identifier-initializer-alt-by-classname.js | 
          ---
description: Valid Static PrivateName (multiple stacked fields definitions through ASI)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2931 | 
        
        
          | multiple-stacked-definitions-rs-static-privatename-identifier-initializer-alt.js | 
          ---
description: Valid Static PrivateName (multiple stacked fields definitions through ASI)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2936 | 
        
        
          | multiple-stacked-definitions-rs-static-privatename-identifier-initializer.js | 
          ---
description: Valid Static PrivateName (multiple stacked fields definitions through ASI)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2968 | 
        
        
          | multiple-stacked-definitions-rs-static-privatename-identifier.js | 
          ---
description: Valid Static PrivateName (multiple stacked fields definitions through ASI)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3125 | 
        
        
          | multiple-stacked-definitions-static-private-fields.js | 
          ---
description: static private fields (multiple stacked fields definitions through ASI)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      static FieldDefinition ;
    FieldDefinition :
      ClassElementName Initializer_opt
    ClassElementName :
      PrivateName
    PrivateName :
      # IdentifierName
--- | 
          2558 | 
        
        
          | multiple-stacked-definitions-static-private-methods-with-fields.js | 
          ---
description: static private methods with fields (multiple stacked fields definitions through ASI)
esid: prod-FieldDefinition
features: [class-static-methods-private, class-static-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      static FieldDefinition ;
    FieldDefinition :
      ClassElementName Initializer_opt
    ClassElementName :
      PrivateName
    PrivateName :
      # IdentifierName
--- | 
          3320 | 
        
        
          | multiple-stacked-definitions-static-private-methods.js | 
          ---
description: static private methods (multiple stacked fields definitions through ASI)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      static FieldDefinition ;
    FieldDefinition :
      ClassElementName Initializer_opt
    ClassElementName :
      PrivateName
    PrivateName :
      # IdentifierName
--- | 
          2608 | 
        
        
          | multiple-stacked-definitions-string-literal-names.js | 
          ---
description: String literal names (multiple stacked fields definitions through ASI)
esid: prod-FieldDefinition
features: [class-fields-public, class]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      FieldDefinition ;
    FieldDefinition:
      ClassElementName Initializer_opt
    ClassElementName:
      PropertyName
--- | 
          2919 | 
        
        
          | nested-arrow-fnc-init-err-contains-arguments.js | 
          ---
description: Syntax error if `arguments` used in class field (arrow function expression)
esid: sec-class-definitions-static-semantics-early-errors
features: [class, class-fields-public, arrow-function]
flags: [generated]
negative:
  phase: parse
  type: SyntaxError
info: |
    Static Semantics: Early Errors
      FieldDefinition:
        PropertyNameInitializeropt
      - It is a Syntax Error if ContainsArguments of Initializer is true.
    Static Semantics: ContainsArguments
      IdentifierReference : Identifier
      1. If the StringValue of Identifier is "arguments", return true.
      ...
      For all other grammatical productions, recurse on all nonterminals. If any piece returns true, then return true. Otherwise return false.
--- | 
          1087 | 
        
        
          | nested-arrow-fnc-init-err-contains-super.js | 
          ---
description: Syntax error if `super()` used in class field (arrow function expression)
esid: sec-class-definitions-static-semantics-early-errors
features: [class, class-fields-public, arrow-function]
flags: [generated]
negative:
  phase: parse
  type: SyntaxError
info: |
    Static Semantics: Early Errors
      FieldDefinition:
        PropertyNameInitializeropt
      - It is a Syntax Error if Initializer is present and Initializer Contains SuperCall is true.
--- | 
          799 | 
        
        
          | nested-comp-name-init-err-contains-arguments.js | 
          ---
description: Syntax error if `arguments` used in class field (computed ClassElementName)
esid: sec-class-definitions-static-semantics-early-errors
features: [class, class-fields-public]
flags: [generated]
negative:
  phase: parse
  type: SyntaxError
info: |
    Static Semantics: Early Errors
      FieldDefinition:
        PropertyNameInitializeropt
      - It is a Syntax Error if ContainsArguments of Initializer is true.
    Static Semantics: ContainsArguments
      IdentifierReference : Identifier
      1. If the StringValue of Identifier is "arguments", return true.
      ...
      For all other grammatical productions, recurse on all nonterminals. If any piece returns true, then return true. Otherwise return false.
--- | 
          1066 | 
        
        
          | nested-comp-name-init-err-contains-super.js | 
          ---
description: Syntax error if `super()` used in class field (computed ClassElementName)
esid: sec-class-definitions-static-semantics-early-errors
features: [class, class-fields-public]
flags: [generated]
negative:
  phase: parse
  type: SyntaxError
info: |
    Static Semantics: Early Errors
      FieldDefinition:
        PropertyNameInitializeropt
      - It is a Syntax Error if Initializer is present and Initializer Contains SuperCall is true.
--- | 
          778 | 
        
        
          | nested-derived-cls-direct-eval-contains-superproperty-1.js | 
          ---
description: super.x in StatementList of eval (direct eval)
esid: sec-performeval-rules-in-initializer
features: [class, class-fields-public]
flags: [generated]
info: |
    Additional Early Error Rules for Eval Inside Initializer
    These static semantics are applied by PerformEval when a direct eval call occurs inside a class field initializer.
    ScriptBody : StatementList
      ...
      The remaining eval rules apply as outside a constructor, inside a method, and inside a function.
    Additional Early Error Rules for Eval Outside Methods
    These static semantics are applied by PerformEval when a direct eval call occurs outside of a MethodDefinition.
    ScriptBody : StatementList
      It is a Syntax Error if StatementList Contains SuperProperty.
--- | 
          1180 | 
        
        
          | nested-derived-cls-direct-eval-contains-superproperty-2.js | 
          ---
description: super['x'] in StatementList of eval (direct eval)
esid: sec-performeval-rules-in-initializer
features: [class, class-fields-public]
flags: [generated]
info: |
    The remaining eval rules apply as outside a constructor, inside a method, and inside a function.
    Additional Early Error Rules for Eval Outside Methods
      These static semantics are applied by PerformEval when a direct eval call occurs outside of a MethodDefinition.
      ScriptBody : StatementList
      It is a Syntax Error if StatementList Contains SuperProperty.
--- | 
          968 | 
        
        
          | nested-derived-cls-direct-eval-err-contains-supercall-1.js | 
          ---
description: error if `super()['x']` in StatementList of eval (direct eval)
esid: sec-performeval-rules-in-initializer
features: [class, class-fields-public]
flags: [generated]
info: |
    Additional Early Error Rules for Eval Inside Initializer
    These static semantics are applied by PerformEval when a direct eval call occurs inside a class field initializer.
    ScriptBody : StatementList
      ...
      The remaining eval rules apply as outside a constructor, inside a method, and inside a function.
    Additional Early Error Rules for Eval Outside Constructor Methods
    These static semantics are applied by PerformEval when a direct eval call occurs outside of the constructor method of a ClassDeclaration or ClassExpression.
    ScriptBody : StatementList
      It is a Syntax Error if StatementList Contains SuperCall.
--- | 
          1296 | 
        
        
          | nested-derived-cls-direct-eval-err-contains-supercall-2.js | 
          ---
description: error if `super().x` in StatementList of eval (direct eval)
esid: sec-performeval-rules-in-initializer
features: [class, class-fields-public]
flags: [generated]
info: |
    Additional Early Error Rules for Eval Outside Constructor Methods
    These static semantics are applied by PerformEval when a direct eval call occurs outside of the constructor method of a ClassDeclaration or ClassExpression.
    ScriptBody : StatementList
      It is a Syntax Error if StatementList Contains SuperCall.
--- | 
          964 | 
        
        
          | nested-derived-cls-direct-eval-err-contains-supercall.js | 
          ---
description: error if `super()` in StatementList of eval (direct eval)
esid: sec-performeval-rules-in-initializer
features: [class, class-fields-public]
flags: [generated]
info: |
    Additional Early Error Rules for Eval Inside Initializer
    These static semantics are applied by PerformEval when a direct eval call occurs inside a class field initializer.
    ScriptBody : StatementList
      ...
      The remaining eval rules apply as outside a constructor, inside a method, and inside a function.
    Additional Early Error Rules for Eval Outside Constructor Methods
    These static semantics are applied by PerformEval when a direct eval call occurs outside of the constructor method of a ClassDeclaration or ClassExpression.
    ScriptBody : StatementList
      It is a Syntax Error if StatementList Contains SuperCall.
--- | 
          1284 | 
        
        
          | nested-derived-cls-indirect-eval-contains-superproperty-1.js | 
          ---
description: super.x in StatementList of eval (indirect eval)
esid: sec-performeval-rules-in-initializer
features: [class, class-fields-public]
flags: [generated]
info: |
    Additional Early Error Rules for Eval Inside Initializer
    These static semantics are applied by PerformEval when a direct eval call occurs inside a class field initializer.
    ScriptBody : StatementList
      ...
      The remaining eval rules apply as outside a constructor, inside a method, and inside a function.
    Additional Early Error Rules for Eval Outside Methods
    These static semantics are applied by PerformEval when a direct eval call occurs outside of a MethodDefinition.
    ScriptBody : StatementList
      It is a Syntax Error if StatementList Contains SuperProperty.
--- | 
          1243 | 
        
        
          | nested-derived-cls-indirect-eval-contains-superproperty-2.js | 
          ---
description: super['x'] in StatementList of eval (indirect eval)
esid: sec-performeval-rules-in-initializer
features: [class, class-fields-public]
flags: [generated]
info: |
    The remaining eval rules apply as outside a constructor, inside a method, and inside a function.
    Additional Early Error Rules for Eval Outside Methods
      These static semantics are applied by PerformEval when a direct eval call occurs outside of a MethodDefinition.
      ScriptBody : StatementList
      It is a Syntax Error if StatementList Contains SuperProperty.
--- | 
          1031 | 
        
        
          | nested-derived-cls-indirect-eval-err-contains-supercall-1.js | 
          ---
description: error if `super()['x']` in StatementList of eval (indirect eval)
esid: sec-performeval-rules-in-initializer
features: [class, class-fields-public]
flags: [generated]
info: |
    Additional Early Error Rules for Eval Inside Initializer
    These static semantics are applied by PerformEval when a direct eval call occurs inside a class field initializer.
    ScriptBody : StatementList
      ...
      The remaining eval rules apply as outside a constructor, inside a method, and inside a function.
    Additional Early Error Rules for Eval Outside Constructor Methods
    These static semantics are applied by PerformEval when a direct eval call occurs outside of the constructor method of a ClassDeclaration or ClassExpression.
    ScriptBody : StatementList
      It is a Syntax Error if StatementList Contains SuperCall.
--- | 
          1312 | 
        
        
          | nested-derived-cls-indirect-eval-err-contains-supercall-2.js | 
          ---
description: error if `super().x` in StatementList of eval (indirect eval)
esid: sec-performeval-rules-in-initializer
features: [class, class-fields-public]
flags: [generated]
info: |
    Additional Early Error Rules for Eval Outside Constructor Methods
    These static semantics are applied by PerformEval when a direct eval call occurs outside of the constructor method of a ClassDeclaration or ClassExpression.
    ScriptBody : StatementList
      It is a Syntax Error if StatementList Contains SuperCall.
--- | 
          980 | 
        
        
          | nested-derived-cls-indirect-eval-err-contains-supercall.js | 
          ---
description: error if `super()` in StatementList of eval (indirect eval)
esid: sec-performeval-rules-in-initializer
features: [class, class-fields-public]
flags: [generated]
info: |
    Additional Early Error Rules for Eval Inside Initializer
    These static semantics are applied by PerformEval when a direct eval call occurs inside a class field initializer.
    ScriptBody : StatementList
      ...
      The remaining eval rules apply as outside a constructor, inside a method, and inside a function.
    Additional Early Error Rules for Eval Outside Constructor Methods
    These static semantics are applied by PerformEval when a direct eval call occurs outside of the constructor method of a ClassDeclaration or ClassExpression.
    ScriptBody : StatementList
      It is a Syntax Error if StatementList Contains SuperCall.
--- | 
          1300 | 
        
        
          | nested-direct-eval-err-contains-arguments.js | 
          ---
description: error if `arguments` in StatementList of eval (direct eval)
esid: sec-performeval-rules-in-initializer
features: [class, class-fields-public]
flags: [generated]
info: |
    Additional Early Error Rules for Eval Inside Initializer
    These static semantics are applied by PerformEval when a direct eval call occurs inside a class field initializer.
    ScriptBody : StatementList
      It is a Syntax Error if ContainsArguments of StatementList is true.
      ...
    Static Semantics: ContainsArguments
      IdentifierReference : Identifier
      1. If the StringValue of Identifier is "arguments", return true.
      ...
      For all other grammatical productions, recurse on all nonterminals. If any piece returns true, then return true. Otherwise return false.
--- | 
          1252 | 
        
        
          | nested-direct-eval-err-contains-newtarget.js | 
          ---
description: error if `new.target` in StatementList of eval (direct eval)
esid: sec-performeval-rules-in-initializer
features: [class, new.target, class-fields-public]
flags: [generated]
info: |
    Additional Early Error Rules for Eval Inside Initializer
    These static semantics are applied by PerformEval when a direct eval call occurs inside a class field initializer.
    ScriptBody : StatementList
      ...
      The remaining eval rules apply as outside a constructor, inside a method, and inside a function.
    Additional Early Error Rules for Eval Outside Functions
    These static semantics are applied by PerformEval when a direct eval call occurs outside of any function.
    ScriptBody : StatementList
      It is a Syntax Error if StatementList Contains NewTarget.
--- | 
          1208 | 
        
        
          | nested-equality-init-err-contains-arguments.js | 
          ---
description: Syntax error if `arguments` used in class field (equality expression)
esid: sec-class-definitions-static-semantics-early-errors
features: [class, class-fields-public]
flags: [generated]
negative:
  phase: parse
  type: SyntaxError
info: |
    Static Semantics: Early Errors
      FieldDefinition:
        PropertyNameInitializeropt
      - It is a Syntax Error if ContainsArguments of Initializer is true.
    Static Semantics: ContainsArguments
      IdentifierReference : Identifier
      1. If the StringValue of Identifier is "arguments", return true.
      ...
      For all other grammatical productions, recurse on all nonterminals. If any piece returns true, then return true. Otherwise return false.
--- | 
          1045 | 
        
        
          | nested-equality-init-err-contains-super.js | 
          ---
description: Syntax error if `super()` used in class field (equality expression)
esid: sec-class-definitions-static-semantics-early-errors
features: [class, class-fields-public]
flags: [generated]
negative:
  phase: parse
  type: SyntaxError
info: |
    Static Semantics: Early Errors
      FieldDefinition:
        PropertyNameInitializeropt
      - It is a Syntax Error if Initializer is present and Initializer Contains SuperCall is true.
--- | 
          757 | 
        
        
          | nested-indirect-eval-contains-arguments.js | 
          ---
description: No error if `arguments` in StatementList of eval (indirect eval)
esid: sec-performeval-rules-in-initializer
features: [class, class-fields-public]
flags: [generated, noStrict]
info: |
    For indirect eval, the "Additional Early Error Rules for Eval Inside Initializer"
    (in #sec-performeval-rules-in-initializer) are NOT applicable.
--- | 
          731 | 
        
        
          | nested-indirect-eval-err-contains-newtarget.js | 
          ---
description: error if `new.target` in StatementList of eval (indirect eval)
esid: sec-performeval-rules-in-initializer
features: [class, new.target, class-fields-public]
flags: [generated]
info: |
    Additional Early Error Rules for Eval Inside Initializer
    These static semantics are applied by PerformEval when a direct eval call occurs inside a class field initializer.
    ScriptBody : StatementList
      ...
      The remaining eval rules apply as outside a constructor, inside a method, and inside a function.
    Additional Early Error Rules for Eval Outside Functions
    These static semantics are applied by PerformEval when a direct eval call occurs outside of any function.
    ScriptBody : StatementList
      It is a Syntax Error if StatementList Contains NewTarget.
--- | 
          1229 | 
        
        
          | nested-literal-name-init-err-contains-arguments.js | 
          ---
description: Syntax error if `arguments` used in class field (literal ClassElementName)
esid: sec-class-definitions-static-semantics-early-errors
features: [class, class-fields-public]
flags: [generated]
negative:
  phase: parse
  type: SyntaxError
info: |
    Static Semantics: Early Errors
      FieldDefinition:
        PropertyNameInitializeropt
      - It is a Syntax Error if ContainsArguments of Initializer is true.
    Static Semantics: ContainsArguments
      IdentifierReference : Identifier
      1. If the StringValue of Identifier is "arguments", return true.
      ...
      For all other grammatical productions, recurse on all nonterminals. If any piece returns true, then return true. Otherwise return false.
--- | 
          1048 | 
        
        
          | nested-literal-name-init-err-contains-super.js | 
          ---
description: Syntax error if `super()` used in class field (literal ClassElementName)
esid: sec-class-definitions-static-semantics-early-errors
features: [class, class-fields-public]
flags: [generated]
negative:
  phase: parse
  type: SyntaxError
info: |
    Static Semantics: Early Errors
      FieldDefinition:
        PropertyNameInitializeropt
      - It is a Syntax Error if Initializer is present and Initializer Contains SuperCall is true.
--- | 
          760 | 
        
        
          | nested-private-arrow-fnc-init-err-contains-arguments.js | 
          ---
description: Syntax error if `arguments` used in class field (private field, arrow function expression)
esid: sec-class-definitions-static-semantics-early-errors
features: [class, class-fields-public, arrow-function, class-fields-private]
flags: [generated]
negative:
  phase: parse
  type: SyntaxError
info: |
    Static Semantics: Early Errors
      FieldDefinition:
        PropertyNameInitializeropt
      - It is a Syntax Error if ContainsArguments of Initializer is true.
    Static Semantics: ContainsArguments
      IdentifierReference : Identifier
      1. If the StringValue of Identifier is "arguments", return true.
      ...
      For all other grammatical productions, recurse on all nonterminals. If any piece returns true, then return true. Otherwise return false.
--- | 
          1133 | 
        
        
          | nested-private-arrow-fnc-init-err-contains-super.js | 
          ---
description: Syntax error if `super()` used in class field (private field, arrow function expression)
esid: sec-class-definitions-static-semantics-early-errors
features: [class, class-fields-public, arrow-function, class-fields-private]
flags: [generated]
negative:
  phase: parse
  type: SyntaxError
info: |
    Static Semantics: Early Errors
      FieldDefinition:
        PropertyNameInitializeropt
      - It is a Syntax Error if Initializer is present and Initializer Contains SuperCall is true.
--- | 
          845 | 
        
        
          | nested-private-derived-cls-direct-eval-contains-superproperty-1.js | 
          ---
description: super.x in StatementList of eval (direct eval)
esid: sec-performeval-rules-in-initializer
features: [class, class-fields-public, class-fields-private]
flags: [generated]
info: |
    Additional Early Error Rules for Eval Inside Initializer
    These static semantics are applied by PerformEval when a direct eval call occurs inside a class field initializer.
    ScriptBody : StatementList
      ...
      The remaining eval rules apply as outside a constructor, inside a method, and inside a function.
    Additional Early Error Rules for Eval Outside Methods
    These static semantics are applied by PerformEval when a direct eval call occurs outside of a MethodDefinition.
    ScriptBody : StatementList
      It is a Syntax Error if StatementList Contains SuperProperty.
--- | 
          1211 | 
        
        
          | nested-private-derived-cls-direct-eval-contains-superproperty-2.js | 
          ---
description: super['x'] in StatementList of eval (direct eval)
esid: sec-performeval-rules-in-initializer
features: [class, class-fields-public, class-fields-private]
flags: [generated]
info: |
    The remaining eval rules apply as outside a constructor, inside a method, and inside a function.
    Additional Early Error Rules for Eval Outside Methods
      These static semantics are applied by PerformEval when a direct eval call occurs outside of a MethodDefinition.
      ScriptBody : StatementList
      It is a Syntax Error if StatementList Contains SuperProperty.
--- | 
          999 | 
        
        
          | nested-private-derived-cls-direct-eval-err-contains-supercall-1.js | 
          ---
description: error if `super()['x']` in StatementList of eval (direct eval)
esid: sec-performeval-rules-in-initializer
features: [class, class-fields-public, class-fields-private]
flags: [generated]
info: |
    Additional Early Error Rules for Eval Inside Initializer
    These static semantics are applied by PerformEval when a direct eval call occurs inside a class field initializer.
    ScriptBody : StatementList
      ...
      The remaining eval rules apply as outside a constructor, inside a method, and inside a function.
    Additional Early Error Rules for Eval Outside Constructor Methods
    These static semantics are applied by PerformEval when a direct eval call occurs outside of the constructor method of a ClassDeclaration or ClassExpression.
    ScriptBody : StatementList
      It is a Syntax Error if StatementList Contains SuperCall.
--- | 
          1327 | 
        
        
          | nested-private-derived-cls-direct-eval-err-contains-supercall-2.js | 
          ---
description: error if `super().x` in StatementList of eval (direct eval)
esid: sec-performeval-rules-in-initializer
features: [class, class-fields-public, class-fields-private]
flags: [generated]
info: |
    Additional Early Error Rules for Eval Outside Constructor Methods
    These static semantics are applied by PerformEval when a direct eval call occurs outside of the constructor method of a ClassDeclaration or ClassExpression.
    ScriptBody : StatementList
      It is a Syntax Error if StatementList Contains SuperCall.
--- | 
          995 | 
        
        
          | nested-private-derived-cls-direct-eval-err-contains-supercall.js | 
          ---
description: error if `super()` in StatementList of eval (direct eval)
esid: sec-performeval-rules-in-initializer
features: [class, class-fields-public, class-fields-private]
flags: [generated]
info: |
    Additional Early Error Rules for Eval Inside Initializer
    These static semantics are applied by PerformEval when a direct eval call occurs inside a class field initializer.
    ScriptBody : StatementList
      ...
      The remaining eval rules apply as outside a constructor, inside a method, and inside a function.
    Additional Early Error Rules for Eval Outside Constructor Methods
    These static semantics are applied by PerformEval when a direct eval call occurs outside of the constructor method of a ClassDeclaration or ClassExpression.
    ScriptBody : StatementList
      It is a Syntax Error if StatementList Contains SuperCall.
--- | 
          1315 | 
        
        
          | nested-private-derived-cls-indirect-eval-contains-superproperty-1.js | 
          ---
description: super.x in StatementList of eval (indirect eval)
esid: sec-performeval-rules-in-initializer
features: [class, class-fields-public, class-fields-private]
flags: [generated]
info: |
    Additional Early Error Rules for Eval Inside Initializer
    These static semantics are applied by PerformEval when a direct eval call occurs inside a class field initializer.
    ScriptBody : StatementList
      ...
      The remaining eval rules apply as outside a constructor, inside a method, and inside a function.
    Additional Early Error Rules for Eval Outside Methods
    These static semantics are applied by PerformEval when a direct eval call occurs outside of a MethodDefinition.
    ScriptBody : StatementList
      It is a Syntax Error if StatementList Contains SuperProperty.
--- | 
          1274 | 
        
        
          | nested-private-derived-cls-indirect-eval-contains-superproperty-2.js | 
          ---
description: super['x'] in StatementList of eval (indirect eval)
esid: sec-performeval-rules-in-initializer
features: [class, class-fields-public, class-fields-private]
flags: [generated]
info: |
    The remaining eval rules apply as outside a constructor, inside a method, and inside a function.
    Additional Early Error Rules for Eval Outside Methods
      These static semantics are applied by PerformEval when a direct eval call occurs outside of a MethodDefinition.
      ScriptBody : StatementList
      It is a Syntax Error if StatementList Contains SuperProperty.
--- | 
          1062 | 
        
        
          | nested-private-derived-cls-indirect-eval-err-contains-supercall-1.js | 
          ---
description: error if `super()['x']` in StatementList of eval (indirect eval)
esid: sec-performeval-rules-in-initializer
features: [class, class-fields-public, class-fields-private]
flags: [generated]
info: |
    Additional Early Error Rules for Eval Inside Initializer
    These static semantics are applied by PerformEval when a direct eval call occurs inside a class field initializer.
    ScriptBody : StatementList
      ...
      The remaining eval rules apply as outside a constructor, inside a method, and inside a function.
    Additional Early Error Rules for Eval Outside Constructor Methods
    These static semantics are applied by PerformEval when a direct eval call occurs outside of the constructor method of a ClassDeclaration or ClassExpression.
    ScriptBody : StatementList
      It is a Syntax Error if StatementList Contains SuperCall.
--- | 
          1343 | 
        
        
          | nested-private-derived-cls-indirect-eval-err-contains-supercall-2.js | 
          ---
description: error if `super().x` in StatementList of eval (indirect eval)
esid: sec-performeval-rules-in-initializer
features: [class, class-fields-public, class-fields-private]
flags: [generated]
info: |
    Additional Early Error Rules for Eval Outside Constructor Methods
    These static semantics are applied by PerformEval when a direct eval call occurs outside of the constructor method of a ClassDeclaration or ClassExpression.
    ScriptBody : StatementList
      It is a Syntax Error if StatementList Contains SuperCall.
--- | 
          1011 | 
        
        
          | nested-private-derived-cls-indirect-eval-err-contains-supercall.js | 
          ---
description: error if `super()` in StatementList of eval (indirect eval)
esid: sec-performeval-rules-in-initializer
features: [class, class-fields-public, class-fields-private]
flags: [generated]
info: |
    Additional Early Error Rules for Eval Inside Initializer
    These static semantics are applied by PerformEval when a direct eval call occurs inside a class field initializer.
    ScriptBody : StatementList
      ...
      The remaining eval rules apply as outside a constructor, inside a method, and inside a function.
    Additional Early Error Rules for Eval Outside Constructor Methods
    These static semantics are applied by PerformEval when a direct eval call occurs outside of the constructor method of a ClassDeclaration or ClassExpression.
    ScriptBody : StatementList
      It is a Syntax Error if StatementList Contains SuperCall.
--- | 
          1331 | 
        
        
          | nested-private-direct-eval-err-contains-arguments.js | 
          ---
description: error if `arguments` in StatementList of eval (direct eval)
esid: sec-performeval-rules-in-initializer
features: [class, class-fields-public, class-fields-private]
flags: [generated]
info: |
    Additional Early Error Rules for Eval Inside Initializer
    These static semantics are applied by PerformEval when a direct eval call occurs inside a class field initializer.
    ScriptBody : StatementList
      It is a Syntax Error if ContainsArguments of StatementList is true.
      ...
    Static Semantics: ContainsArguments
      IdentifierReference : Identifier
      1. If the StringValue of Identifier is "arguments", return true.
      ...
      For all other grammatical productions, recurse on all nonterminals. If any piece returns true, then return true. Otherwise return false.
--- | 
          1283 | 
        
        
          | nested-private-direct-eval-err-contains-newtarget.js | 
          ---
description: error if `new.target` in StatementList of eval (direct eval)
esid: sec-performeval-rules-in-initializer
features: [class, new.target, class-fields-private]
flags: [generated]
info: |
    Additional Early Error Rules for Eval Inside Initializer
    These static semantics are applied by PerformEval when a direct eval call occurs inside a class field initializer.
    ScriptBody : StatementList
      ...
      The remaining eval rules apply as outside a constructor, inside a method, and inside a function.
    Additional Early Error Rules for Eval Outside Functions
    These static semantics are applied by PerformEval when a direct eval call occurs outside of any function.
    ScriptBody : StatementList
      It is a Syntax Error if StatementList Contains NewTarget.
--- | 
          1218 | 
        
        
          | nested-private-indirect-eval-contains-arguments.js | 
          ---
description: No error if `arguments` in StatementList of eval (indirect eval)
esid: sec-performeval-rules-in-initializer
features: [class, class-fields-public, class-fields-private]
flags: [generated, noStrict]
info: |
    For indirect eval, the "Additional Early Error Rules for Eval Inside Initializer"
    (in #sec-performeval-rules-in-initializer) are NOT applicable.
--- | 
          796 | 
        
        
          | nested-private-indirect-eval-err-contains-newtarget.js | 
          ---
description: error if `new.target` in StatementList of eval (indirect eval)
esid: sec-performeval-rules-in-initializer
features: [class, new.target, class-fields-private]
flags: [generated]
info: |
    Additional Early Error Rules for Eval Inside Initializer
    These static semantics are applied by PerformEval when a direct eval call occurs inside a class field initializer.
    ScriptBody : StatementList
      ...
      The remaining eval rules apply as outside a constructor, inside a method, and inside a function.
    Additional Early Error Rules for Eval Outside Functions
    These static semantics are applied by PerformEval when a direct eval call occurs outside of any function.
    ScriptBody : StatementList
      It is a Syntax Error if StatementList Contains NewTarget.
--- | 
          1239 | 
        
        
          | nested-private-literal-name-init-err-contains-arguments.js | 
          ---
description: Syntax error if `arguments` used in class field (ClassElementName PrivateName)
esid: sec-class-definitions-static-semantics-early-errors
features: [class, class-fields-public, class-fields-private]
flags: [generated]
negative:
  phase: parse
  type: SyntaxError
info: |
    Static Semantics: Early Errors
      FieldDefinition:
        PropertyNameInitializeropt
      - It is a Syntax Error if ContainsArguments of Initializer is true.
    Static Semantics: ContainsArguments
      IdentifierReference : Identifier
      1. If the StringValue of Identifier is "arguments", return true.
      ...
      For all other grammatical productions, recurse on all nonterminals. If any piece returns true, then return true. Otherwise return false.
--- | 
          1075 | 
        
        
          | nested-private-literal-name-init-err-contains-super.js | 
          ---
description: Syntax error if `super()` used in class field (ClassElementName PrivateName)
esid: sec-class-definitions-static-semantics-early-errors
features: [class, class-fields-public, class-fields-private]
flags: [generated]
negative:
  phase: parse
  type: SyntaxError
info: |
    Static Semantics: Early Errors
      FieldDefinition:
        PropertyNameInitializeropt
      - It is a Syntax Error if Initializer is present and Initializer Contains SuperCall is true.
--- | 
          787 | 
        
        
          | nested-private-ternary-init-err-contains-arguments.js | 
          ---
description: Syntax error if `arguments` used in class field (private field, ternary expression)
esid: sec-class-definitions-static-semantics-early-errors
features: [class, class-fields-public, class-fields-private]
flags: [generated]
negative:
  phase: parse
  type: SyntaxError
info: |
    Static Semantics: Early Errors
      FieldDefinition:
        PropertyNameInitializeropt
      - It is a Syntax Error if ContainsArguments of Initializer is true.
    Static Semantics: ContainsArguments
      IdentifierReference : Identifier
      1. If the StringValue of Identifier is "arguments", return true.
      ...
      For all other grammatical productions, recurse on all nonterminals. If any piece returns true, then return true. Otherwise return false.
--- | 
          1095 | 
        
        
          | nested-private-ternary-init-err-contains-super.js | 
          ---
description: Syntax error if `super()` used in class field (private field, ternary expression)
esid: sec-class-definitions-static-semantics-early-errors
features: [class, class-fields-public, class-fields-private]
flags: [generated]
negative:
  phase: parse
  type: SyntaxError
info: |
    Static Semantics: Early Errors
      FieldDefinition:
        PropertyNameInitializeropt
      - It is a Syntax Error if Initializer is present and Initializer Contains SuperCall is true.
--- | 
          807 | 
        
        
          | nested-private-typeof-init-err-contains-arguments.js | 
          ---
description: Syntax error if `arguments` used in class field (private field, typeof expression)
esid: sec-class-definitions-static-semantics-early-errors
features: [class, class-fields-public, class-fields-private]
flags: [generated]
negative:
  phase: parse
  type: SyntaxError
info: |
    Static Semantics: Early Errors
      FieldDefinition:
        PropertyNameInitializeropt
      - It is a Syntax Error if ContainsArguments of Initializer is true.
    Static Semantics: ContainsArguments
      IdentifierReference : Identifier
      1. If the StringValue of Identifier is "arguments", return true.
      ...
      For all other grammatical productions, recurse on all nonterminals. If any piece returns true, then return true. Otherwise return false.
--- | 
          1088 | 
        
        
          | nested-private-typeof-init-err-contains-super.js | 
          ---
description: Syntax error if `super()` used in class field (private field, typeof expression)
esid: sec-class-definitions-static-semantics-early-errors
features: [class, class-fields-public, class-fields-private]
flags: [generated]
negative:
  phase: parse
  type: SyntaxError
info: |
    Static Semantics: Early Errors
      FieldDefinition:
        PropertyNameInitializeropt
      - It is a Syntax Error if Initializer is present and Initializer Contains SuperCall is true.
--- | 
          800 | 
        
        
          | nested-static-comp-name-init-err-contains-arguments.js | 
          ---
description: Syntax error if `arguments` used in class field (static computed ClassElementName)
esid: sec-class-definitions-static-semantics-early-errors
features: [class, class-fields-public, class-static-fields-public, computed-property-names]
flags: [generated]
negative:
  phase: parse
  type: SyntaxError
info: |
    Static Semantics: Early Errors
      FieldDefinition:
        PropertyNameInitializeropt
      - It is a Syntax Error if ContainsArguments of Initializer is true.
    Static Semantics: ContainsArguments
      IdentifierReference : Identifier
      1. If the StringValue of Identifier is "arguments", return true.
      ...
      For all other grammatical productions, recurse on all nonterminals. If any piece returns true, then return true. Otherwise return false.
--- | 
          1140 | 
        
        
          | nested-static-comp-name-init-err-contains-super.js | 
          ---
description: Syntax error if `super()` used in class field (static computed ClassElementName)
esid: sec-class-definitions-static-semantics-early-errors
features: [class, class-fields-public, class-static-fields-public, computed-property-names]
flags: [generated]
negative:
  phase: parse
  type: SyntaxError
info: |
    Static Semantics: Early Errors
      FieldDefinition:
        PropertyNameInitializeropt
      - It is a Syntax Error if Initializer is present and Initializer Contains SuperCall is true.
--- | 
          852 | 
        
        
          | nested-static-literal-init-err-contains-arguments.js | 
          ---
description: Syntax error if `arguments` used in class field (static literal ClassElementName)
esid: sec-class-definitions-static-semantics-early-errors
features: [class, class-fields-public, class-static-fields-public]
flags: [generated]
negative:
  phase: parse
  type: SyntaxError
info: |
    Static Semantics: Early Errors
      FieldDefinition:
        PropertyNameInitializeropt
      - It is a Syntax Error if ContainsArguments of Initializer is true.
    Static Semantics: ContainsArguments
      IdentifierReference : Identifier
      1. If the StringValue of Identifier is "arguments", return true.
      ...
      For all other grammatical productions, recurse on all nonterminals. If any piece returns true, then return true. Otherwise return false.
--- | 
          1097 | 
        
        
          | nested-static-literal-init-err-contains-super.js | 
          ---
description: Syntax error if `super()` used in class field (static literal ClassElementName)
esid: sec-class-definitions-static-semantics-early-errors
features: [class, class-fields-public, class-static-fields-public]
flags: [generated]
negative:
  phase: parse
  type: SyntaxError
info: |
    Static Semantics: Early Errors
      FieldDefinition:
        PropertyNameInitializeropt
      - It is a Syntax Error if Initializer is present and Initializer Contains SuperCall is true.
--- | 
          809 | 
        
        
          | nested-static-private-init-err-contains-arguments.js | 
          ---
description: Syntax error if `arguments` used in class field (static PrivateName)
esid: sec-class-definitions-static-semantics-early-errors
features: [class, class-fields-public, class-static-fields-private]
flags: [generated]
negative:
  phase: parse
  type: SyntaxError
info: |
    Static Semantics: Early Errors
      FieldDefinition:
        PropertyNameInitializeropt
      - It is a Syntax Error if ContainsArguments of Initializer is true.
    Static Semantics: ContainsArguments
      IdentifierReference : Identifier
      1. If the StringValue of Identifier is "arguments", return true.
      ...
      For all other grammatical productions, recurse on all nonterminals. If any piece returns true, then return true. Otherwise return false.
--- | 
          1086 | 
        
        
          | nested-static-private-init-err-contains-super.js | 
          ---
description: Syntax error if `super()` used in class field (static PrivateName)
esid: sec-class-definitions-static-semantics-early-errors
features: [class, class-fields-public, class-static-fields-private]
flags: [generated]
negative:
  phase: parse
  type: SyntaxError
info: |
    Static Semantics: Early Errors
      FieldDefinition:
        PropertyNameInitializeropt
      - It is a Syntax Error if Initializer is present and Initializer Contains SuperCall is true.
--- | 
          798 | 
        
        
          | nested-static-string-literal-name-init-err-contains-arguments.js | 
          ---
description: Syntax error if `arguments` used in class field (static string literal ClassElementName)
esid: sec-class-definitions-static-semantics-early-errors
features: [class, class-fields-public, class-static-fields-public]
flags: [generated]
negative:
  phase: parse
  type: SyntaxError
info: |
    Static Semantics: Early Errors
      FieldDefinition:
        PropertyNameInitializeropt
      - It is a Syntax Error if ContainsArguments of Initializer is true.
    Static Semantics: ContainsArguments
      IdentifierReference : Identifier
      1. If the StringValue of Identifier is "arguments", return true.
      ...
      For all other grammatical productions, recurse on all nonterminals. If any piece returns true, then return true. Otherwise return false.
--- | 
          1113 | 
        
        
          | nested-static-string-literal-name-init-err-contains-super.js | 
          ---
description: Syntax error if `super()` used in class field (static string literal ClassElementName)
esid: sec-class-definitions-static-semantics-early-errors
features: [class, class-fields-public, class-static-fields-public]
flags: [generated]
negative:
  phase: parse
  type: SyntaxError
info: |
    Static Semantics: Early Errors
      FieldDefinition:
        PropertyNameInitializeropt
      - It is a Syntax Error if Initializer is present and Initializer Contains SuperCall is true.
--- | 
          825 | 
        
        
          | nested-string-literal-name-init-err-contains-arguments.js | 
          ---
description: Syntax error if `arguments` used in class field (string literal ClassElementName)
esid: sec-class-definitions-static-semantics-early-errors
features: [class, class-fields-public]
flags: [generated]
negative:
  phase: parse
  type: SyntaxError
info: |
    Static Semantics: Early Errors
      FieldDefinition:
        PropertyNameInitializeropt
      - It is a Syntax Error if ContainsArguments of Initializer is true.
    Static Semantics: ContainsArguments
      IdentifierReference : Identifier
      1. If the StringValue of Identifier is "arguments", return true.
      ...
      For all other grammatical productions, recurse on all nonterminals. If any piece returns true, then return true. Otherwise return false.
--- | 
          1064 | 
        
        
          | nested-string-literal-name-init-err-contains-super.js | 
          ---
description: Syntax error if `super()` used in class field (string literal ClassElementName)
esid: sec-class-definitions-static-semantics-early-errors
features: [class, class-fields-public]
flags: [generated]
negative:
  phase: parse
  type: SyntaxError
info: |
    Static Semantics: Early Errors
      FieldDefinition:
        PropertyNameInitializeropt
      - It is a Syntax Error if Initializer is present and Initializer Contains SuperCall is true.
--- | 
          776 | 
        
        
          | nested-ternary-init-err-contains-arguments.js | 
          ---
description: Syntax error if `arguments` used in class field (ternary expression)
esid: sec-class-definitions-static-semantics-early-errors
features: [class, class-fields-public]
flags: [generated]
negative:
  phase: parse
  type: SyntaxError
info: |
    Static Semantics: Early Errors
      FieldDefinition:
        PropertyNameInitializeropt
      - It is a Syntax Error if ContainsArguments of Initializer is true.
    Static Semantics: ContainsArguments
      IdentifierReference : Identifier
      1. If the StringValue of Identifier is "arguments", return true.
      ...
      For all other grammatical productions, recurse on all nonterminals. If any piece returns true, then return true. Otherwise return false.
--- | 
          1049 | 
        
        
          | nested-ternary-init-err-contains-super.js | 
          ---
description: Syntax error if `super()` used in class field (ternary expression)
esid: sec-class-definitions-static-semantics-early-errors
features: [class, class-fields-public]
flags: [generated]
negative:
  phase: parse
  type: SyntaxError
info: |
    Static Semantics: Early Errors
      FieldDefinition:
        PropertyNameInitializeropt
      - It is a Syntax Error if Initializer is present and Initializer Contains SuperCall is true.
--- | 
          761 | 
        
        
          | nested-typeof-init-err-contains-arguments.js | 
          ---
description: Syntax error if `arguments` used in class field (typeof expression)
esid: sec-class-definitions-static-semantics-early-errors
features: [class, class-fields-public]
flags: [generated]
negative:
  phase: parse
  type: SyntaxError
info: |
    Static Semantics: Early Errors
      FieldDefinition:
        PropertyNameInitializeropt
      - It is a Syntax Error if ContainsArguments of Initializer is true.
    Static Semantics: ContainsArguments
      IdentifierReference : Identifier
      1. If the StringValue of Identifier is "arguments", return true.
      ...
      For all other grammatical productions, recurse on all nonterminals. If any piece returns true, then return true. Otherwise return false.
--- | 
          1042 | 
        
        
          | nested-typeof-init-err-contains-super.js | 
          ---
description: Syntax error if `super()` used in class field (typeof expression)
esid: sec-class-definitions-static-semantics-early-errors
features: [class, class-fields-public]
flags: [generated]
negative:
  phase: parse
  type: SyntaxError
info: |
    Static Semantics: Early Errors
      FieldDefinition:
        PropertyNameInitializeropt
      - It is a Syntax Error if Initializer is present and Initializer Contains SuperCall is true.
--- | 
          754 | 
        
        
          | new-no-sc-line-method-computed-names.js | 
          ---
description: Computed property names (field definitions followed by a method in a new line without a semicolon)
esid: prod-FieldDefinition
features: [class-fields-public, computed-property-names, class]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      FieldDefinition ;
    FieldDefinition:
      ClassElementName Initializer_opt
    ClassElementName:
      PropertyName
--- | 
          2530 | 
        
        
          | new-no-sc-line-method-computed-symbol-names.js | 
          ---
description: Computed property symbol names (field definitions followed by a method in a new line without a semicolon)
esid: prod-FieldDefinition
features: [class-fields-public, Symbol, computed-property-names, class]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      FieldDefinition ;
    FieldDefinition:
      ClassElementName Initializer_opt
    ClassElementName:
      PropertyName
--- | 
          2489 | 
        
        
          | new-no-sc-line-method-grammar-privatename-identifier-semantics-stringvalue.js | 
          ---
description: PrivateName Static Semantics, StringValue (field definitions followed by a method in a new line without a semicolon)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
    1. Return the String value consisting of the sequence of code
      units corresponding to PrivateName. In determining the sequence
      any occurrences of \ UnicodeEscapeSequence are first replaced
      with the code point represented by the UnicodeEscapeSequence
      and then the code points of the entire PrivateName are converted
      to code units by UTF16Encoding (10.1.1) each code point.
--- | 
          2778 | 
        
        
          | new-no-sc-line-method-literal-names-asi.js | 
          ---
description: Literal property names with ASI (field definitions followed by a method in a new line without a semicolon)
esid: prod-FieldDefinition
features: [class-fields-public, class]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      FieldDefinition ;
    FieldDefinition:
      ClassElementName Initializer_opt
    ClassElementName:
      PropertyName
--- | 
          1684 | 
        
        
          | new-no-sc-line-method-literal-names.js | 
          ---
description: Literal property names (field definitions followed by a method in a new line without a semicolon)
esid: prod-FieldDefinition
features: [class-fields-public, class]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      FieldDefinition ;
    FieldDefinition:
      ClassElementName Initializer_opt
    ClassElementName:
      PropertyName
--- | 
          2051 | 
        
        
          | new-no-sc-line-method-private-field-usage.js | 
          ---
description: PrivateName CallExpression usage (private field) (field definitions followed by a method in a new line without a semicolon)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateName
--- | 
          1404 | 
        
        
          | new-no-sc-line-method-private-method-getter-usage.js | 
          ---
description: PrivateName CallExpression usage (Accesor get method) (field definitions followed by a method in a new line without a semicolon)
esid: prod-FieldDefinition
features: [class-methods-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateName
--- | 
          1433 | 
        
        
          | new-no-sc-line-method-private-method-usage.js | 
          ---
description: PrivateName CallExpression usage (private method) (field definitions followed by a method in a new line without a semicolon)
esid: prod-FieldDefinition
features: [class-methods-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateName
--- | 
          1420 | 
        
        
          | new-no-sc-line-method-private-names.js | 
          ---
description: private names (field definitions followed by a method in a new line without a semicolon)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      FieldDefinition ;
    FieldDefinition :
      ClassElementName Initializer_opt
    ClassElementName :
      PrivateName
    PrivateName :
      # IdentifierName
--- | 
          1981 | 
        
        
          | new-no-sc-line-method-rs-field-identifier-initializer.js | 
          ---
description: Valid FieldDefinition (field definitions followed by a method in a new line without a semicolon)
esid: prod-FieldDefinition
features: [class-fields-public, class]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
    PropertyName :
      LiteralPropertyName
      ComputedPropertyName
    LiteralPropertyName :
      IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2036 | 
        
        
          | new-no-sc-line-method-rs-field-identifier.js | 
          ---
description: Valid FieldDefinition (field definitions followed by a method in a new line without a semicolon)
esid: prod-FieldDefinition
features: [class-fields-public, class]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
    PropertyName :
      LiteralPropertyName
      ComputedPropertyName
    LiteralPropertyName :
      IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2086 | 
        
        
          | new-no-sc-line-method-rs-private-getter-alt.js | 
          ---
description: Valid PrivateName as private getter (field definitions followed by a method in a new line without a semicolon)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ...
      get ClassElementName ( ){ FunctionBody }
      ...
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2731 | 
        
        
          | new-no-sc-line-method-rs-private-getter.js | 
          ---
description: Valid PrivateName as private getter (field definitions followed by a method in a new line without a semicolon)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ...
      get ClassElementName ( ){ FunctionBody }
      ...
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2790 | 
        
        
          | new-no-sc-line-method-rs-private-method-alt.js | 
          ---
description: Valid PrivateName as private method (field definitions followed by a method in a new line without a semicolon)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ClassElementName ( UniqueFormalParameters ) { FunctionBody }
      ...
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2729 | 
        
        
          | new-no-sc-line-method-rs-private-method.js | 
          ---
description: Valid PrivateName as private method (field definitions followed by a method in a new line without a semicolon)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ClassElementName ( UniqueFormalParameters ) { FunctionBody }
      ...
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2788 | 
        
        
          | new-no-sc-line-method-rs-private-setter-alt.js | 
          ---
description: Valid PrivateName as private setter (field definitions followed by a method in a new line without a semicolon)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ...
      set ClassElementName ( PropertySetParameterList ) { FunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2783 | 
        
        
          | new-no-sc-line-method-rs-private-setter.js | 
          ---
description: Valid PrivateName as private setter (field definitions followed by a method in a new line without a semicolon)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ...
      set ClassElementName ( PropertySetParameterList ) { FunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2842 | 
        
        
          | new-no-sc-line-method-rs-privatename-identifier-alt.js | 
          ---
description: Valid PrivateName (field definitions followed by a method in a new line without a semicolon)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2429 | 
        
        
          | new-no-sc-line-method-rs-privatename-identifier-initializer-alt.js | 
          ---
description: Valid PrivateName (field definitions followed by a method in a new line without a semicolon)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2281 | 
        
        
          | new-no-sc-line-method-rs-privatename-identifier-initializer.js | 
          ---
description: Valid PrivateName (field definitions followed by a method in a new line without a semicolon)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2313 | 
        
        
          | new-no-sc-line-method-rs-privatename-identifier.js | 
          ---
description: Valid PrivateName (field definitions followed by a method in a new line without a semicolon)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2470 | 
        
        
          | new-no-sc-line-method-rs-static-async-generator-method-privatename-identifier-alt.js | 
          ---
description: Valid Static AsyncGeneratorMethod PrivateName (field definitions followed by a method in a new line without a semicolon)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      AsyncGeneratorMethod
    AsyncGeneratorMethod :
      async [no LineTerminator here] * ClassElementName ( UniqueFormalParameters){ AsyncGeneratorBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3321 | 
        
        
          | new-no-sc-line-method-rs-static-async-generator-method-privatename-identifier.js | 
          ---
description: Valid Static AsyncGeneratorMethod PrivateName (field definitions followed by a method in a new line without a semicolon)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      AsyncGeneratorMethod
    AsyncGeneratorMethod :
      async [no LineTerminator here] * ClassElementName ( UniqueFormalParameters){ AsyncGeneratorBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3140 | 
        
        
          | new-no-sc-line-method-rs-static-async-method-privatename-identifier-alt.js | 
          ---
description: Valid Static AsyncMethod PrivateName (field definitions followed by a method in a new line without a semicolon)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      AsyncMethod
    AsyncMethod :
      async [no LineTerminator here] ClassElementName ( UniqueFormalParameters ){ AsyncFunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3300 | 
        
        
          | new-no-sc-line-method-rs-static-async-method-privatename-identifier.js | 
          ---
description: Valid Static AsyncMethod PrivateName (field definitions followed by a method in a new line without a semicolon)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      AsyncMethod
    AsyncMethod :
      async [no LineTerminator here] ClassElementName ( UniqueFormalParameters ){ AsyncFunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3113 | 
        
        
          | new-no-sc-line-method-rs-static-generator-method-privatename-identifier-alt.js | 
          ---
description: Valid Static GeneratorMethod PrivateName (field definitions followed by a method in a new line without a semicolon)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      GeneratorMethod
    GeneratorMethod :
 ClassElementName ( UniqueFormalParameters ){ GeneratorBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2919 | 
        
        
          | new-no-sc-line-method-rs-static-generator-method-privatename-identifier.js | 
          ---
description: Valid Static GeneratorMethod PrivateName (field definitions followed by a method in a new line without a semicolon)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      GeneratorMethod
    GeneratorMethod :
 ClassElementName ( UniqueFormalParameters ){ GeneratorBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2852 | 
        
        
          | new-no-sc-line-method-rs-static-method-privatename-identifier-alt.js | 
          ---
description: Valid Static Method PrivateName (field definitions followed by a method in a new line without a semicolon)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      ClassElementName ( UniqueFormalParameters ){ FunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2913 | 
        
        
          | new-no-sc-line-method-rs-static-method-privatename-identifier.js | 
          ---
description: Valid Static Method PrivateName (field definitions followed by a method in a new line without a semicolon)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      ClassElementName ( UniqueFormalParameters ){ FunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2725 | 
        
        
          | new-no-sc-line-method-rs-static-privatename-identifier-alt-by-classname.js | 
          ---
description: Valid Static PrivateName (field definitions followed by a method in a new line without a semicolon)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2778 | 
        
        
          | new-no-sc-line-method-rs-static-privatename-identifier-alt.js | 
          ---
description: Valid Static PrivateName (field definitions followed by a method in a new line without a semicolon)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2801 | 
        
        
          | new-no-sc-line-method-rs-static-privatename-identifier-by-classname.js | 
          ---
description: Valid Static PrivateName (field definitions followed by a method in a new line without a semicolon)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2583 | 
        
        
          | new-no-sc-line-method-rs-static-privatename-identifier-initializer-alt-by-classname.js | 
          ---
description: Valid Static PrivateName (field definitions followed by a method in a new line without a semicolon)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2412 | 
        
        
          | new-no-sc-line-method-rs-static-privatename-identifier-initializer-alt.js | 
          ---
description: Valid Static PrivateName (field definitions followed by a method in a new line without a semicolon)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2417 | 
        
        
          | new-no-sc-line-method-rs-static-privatename-identifier-initializer.js | 
          ---
description: Valid Static PrivateName (field definitions followed by a method in a new line without a semicolon)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2449 | 
        
        
          | new-no-sc-line-method-rs-static-privatename-identifier.js | 
          ---
description: Valid Static PrivateName (field definitions followed by a method in a new line without a semicolon)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2606 | 
        
        
          | new-no-sc-line-method-static-private-fields.js | 
          ---
description: static private fields (field definitions followed by a method in a new line without a semicolon)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      static FieldDefinition ;
    FieldDefinition :
      ClassElementName Initializer_opt
    ClassElementName :
      PrivateName
    PrivateName :
      # IdentifierName
--- | 
          2039 | 
        
        
          | new-no-sc-line-method-static-private-methods-with-fields.js | 
          ---
description: static private methods with fields (field definitions followed by a method in a new line without a semicolon)
esid: prod-FieldDefinition
features: [class-static-methods-private, class-static-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      static FieldDefinition ;
    FieldDefinition :
      ClassElementName Initializer_opt
    ClassElementName :
      PrivateName
    PrivateName :
      # IdentifierName
--- | 
          2801 | 
        
        
          | new-no-sc-line-method-static-private-methods.js | 
          ---
description: static private methods (field definitions followed by a method in a new line without a semicolon)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      static FieldDefinition ;
    FieldDefinition :
      ClassElementName Initializer_opt
    ClassElementName :
      PrivateName
    PrivateName :
      # IdentifierName
--- | 
          2089 | 
        
        
          | new-no-sc-line-method-string-literal-names.js | 
          ---
description: String literal names (field definitions followed by a method in a new line without a semicolon)
esid: prod-FieldDefinition
features: [class-fields-public, class]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      FieldDefinition ;
    FieldDefinition:
      ClassElementName Initializer_opt
    ClassElementName:
      PropertyName
--- | 
          2400 | 
        
        
          | new-sc-line-gen-computed-names.js | 
          ---
description: Computed property names (field definitions followed by a method in a new line with a semicolon)
esid: prod-FieldDefinition
features: [class-fields-public, computed-property-names, class, generators]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      FieldDefinition ;
    FieldDefinition:
      ClassElementName Initializer_opt
    ClassElementName:
      PropertyName
--- | 
          2554 | 
        
        
          | new-sc-line-gen-computed-symbol-names.js | 
          ---
description: Computed property symbol names (field definitions followed by a method in a new line with a semicolon)
esid: prod-FieldDefinition
features: [class-fields-public, Symbol, computed-property-names, class, generators]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      FieldDefinition ;
    FieldDefinition:
      ClassElementName Initializer_opt
    ClassElementName:
      PropertyName
--- | 
          2513 | 
        
        
          | new-sc-line-gen-grammar-privatename-identifier-semantics-stringvalue.js | 
          ---
description: PrivateName Static Semantics, StringValue (field definitions followed by a method in a new line with a semicolon)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public, generators]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
    1. Return the String value consisting of the sequence of code
      units corresponding to PrivateName. In determining the sequence
      any occurrences of \ UnicodeEscapeSequence are first replaced
      with the code point represented by the UnicodeEscapeSequence
      and then the code points of the entire PrivateName are converted
      to code units by UTF16Encoding (10.1.1) each code point.
--- | 
          2802 | 
        
        
          | new-sc-line-gen-literal-names-asi.js | 
          ---
description: Literal property names with ASI (field definitions followed by a method in a new line with a semicolon)
esid: prod-FieldDefinition
features: [class-fields-public, class, generators]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      FieldDefinition ;
    FieldDefinition:
      ClassElementName Initializer_opt
    ClassElementName:
      PropertyName
--- | 
          1708 | 
        
        
          | new-sc-line-gen-literal-names.js | 
          ---
description: Literal property names (field definitions followed by a method in a new line with a semicolon)
esid: prod-FieldDefinition
features: [class-fields-public, class, generators]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      FieldDefinition ;
    FieldDefinition:
      ClassElementName Initializer_opt
    ClassElementName:
      PropertyName
--- | 
          2075 | 
        
        
          | new-sc-line-gen-private-field-usage.js | 
          ---
description: PrivateName CallExpression usage (private field) (field definitions followed by a method in a new line with a semicolon)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public, generators]
flags: [generated]
includes: [propertyHelper.js]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateName
--- | 
          1428 | 
        
        
          | new-sc-line-gen-private-method-getter-usage.js | 
          ---
description: PrivateName CallExpression usage (Accesor get method) (field definitions followed by a method in a new line with a semicolon)
esid: prod-FieldDefinition
features: [class-methods-private, class, class-fields-public, generators]
flags: [generated]
includes: [propertyHelper.js]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateName
--- | 
          1457 | 
        
        
          | new-sc-line-gen-private-method-usage.js | 
          ---
description: PrivateName CallExpression usage (private method) (field definitions followed by a method in a new line with a semicolon)
esid: prod-FieldDefinition
features: [class-methods-private, class, class-fields-public, generators]
flags: [generated]
includes: [propertyHelper.js]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateName
--- | 
          1444 | 
        
        
          | new-sc-line-gen-private-names.js | 
          ---
description: private names (field definitions followed by a method in a new line with a semicolon)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public, generators]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      FieldDefinition ;
    FieldDefinition :
      ClassElementName Initializer_opt
    ClassElementName :
      PrivateName
    PrivateName :
      # IdentifierName
--- | 
          2005 | 
        
        
          | new-sc-line-gen-rs-field-identifier-initializer.js | 
          ---
description: Valid FieldDefinition (field definitions followed by a method in a new line with a semicolon)
esid: prod-FieldDefinition
features: [class-fields-public, class, generators]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
    PropertyName :
      LiteralPropertyName
      ComputedPropertyName
    LiteralPropertyName :
      IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2060 | 
        
        
          | new-sc-line-gen-rs-field-identifier.js | 
          ---
description: Valid FieldDefinition (field definitions followed by a method in a new line with a semicolon)
esid: prod-FieldDefinition
features: [class-fields-public, class, generators]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
    PropertyName :
      LiteralPropertyName
      ComputedPropertyName
    LiteralPropertyName :
      IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2110 | 
        
        
          | new-sc-line-gen-rs-private-getter-alt.js | 
          ---
description: Valid PrivateName as private getter (field definitions followed by a method in a new line with a semicolon)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public, generators]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ...
      get ClassElementName ( ){ FunctionBody }
      ...
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2755 | 
        
        
          | new-sc-line-gen-rs-private-getter.js | 
          ---
description: Valid PrivateName as private getter (field definitions followed by a method in a new line with a semicolon)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public, generators]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ...
      get ClassElementName ( ){ FunctionBody }
      ...
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2814 | 
        
        
          | new-sc-line-gen-rs-private-method-alt.js | 
          ---
description: Valid PrivateName as private method (field definitions followed by a method in a new line with a semicolon)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public, generators]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ClassElementName ( UniqueFormalParameters ) { FunctionBody }
      ...
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2753 | 
        
        
          | new-sc-line-gen-rs-private-method.js | 
          ---
description: Valid PrivateName as private method (field definitions followed by a method in a new line with a semicolon)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public, generators]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ClassElementName ( UniqueFormalParameters ) { FunctionBody }
      ...
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2812 | 
        
        
          | new-sc-line-gen-rs-private-setter-alt.js | 
          ---
description: Valid PrivateName as private setter (field definitions followed by a method in a new line with a semicolon)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public, generators]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ...
      set ClassElementName ( PropertySetParameterList ) { FunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2807 | 
        
        
          | new-sc-line-gen-rs-private-setter.js | 
          ---
description: Valid PrivateName as private setter (field definitions followed by a method in a new line with a semicolon)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public, generators]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ...
      set ClassElementName ( PropertySetParameterList ) { FunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2866 | 
        
        
          | new-sc-line-gen-rs-privatename-identifier-alt.js | 
          ---
description: Valid PrivateName (field definitions followed by a method in a new line with a semicolon)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public, generators]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2453 | 
        
        
          | new-sc-line-gen-rs-privatename-identifier-initializer-alt.js | 
          ---
description: Valid PrivateName (field definitions followed by a method in a new line with a semicolon)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public, generators]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2305 | 
        
        
          | new-sc-line-gen-rs-privatename-identifier-initializer.js | 
          ---
description: Valid PrivateName (field definitions followed by a method in a new line with a semicolon)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public, generators]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2337 | 
        
        
          | new-sc-line-gen-rs-privatename-identifier.js | 
          ---
description: Valid PrivateName (field definitions followed by a method in a new line with a semicolon)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public, generators]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2494 | 
        
        
          | new-sc-line-gen-rs-static-async-generator-method-privatename-identifier-alt.js | 
          ---
description: Valid Static AsyncGeneratorMethod PrivateName (field definitions followed by a method in a new line with a semicolon)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public, generators]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      AsyncGeneratorMethod
    AsyncGeneratorMethod :
      async [no LineTerminator here] * ClassElementName ( UniqueFormalParameters){ AsyncGeneratorBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3345 | 
        
        
          | new-sc-line-gen-rs-static-async-generator-method-privatename-identifier.js | 
          ---
description: Valid Static AsyncGeneratorMethod PrivateName (field definitions followed by a method in a new line with a semicolon)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public, generators]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      AsyncGeneratorMethod
    AsyncGeneratorMethod :
      async [no LineTerminator here] * ClassElementName ( UniqueFormalParameters){ AsyncGeneratorBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3164 | 
        
        
          | new-sc-line-gen-rs-static-async-method-privatename-identifier-alt.js | 
          ---
description: Valid Static AsyncMethod PrivateName (field definitions followed by a method in a new line with a semicolon)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public, generators]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      AsyncMethod
    AsyncMethod :
      async [no LineTerminator here] ClassElementName ( UniqueFormalParameters ){ AsyncFunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3324 | 
        
        
          | new-sc-line-gen-rs-static-async-method-privatename-identifier.js | 
          ---
description: Valid Static AsyncMethod PrivateName (field definitions followed by a method in a new line with a semicolon)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public, generators]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      AsyncMethod
    AsyncMethod :
      async [no LineTerminator here] ClassElementName ( UniqueFormalParameters ){ AsyncFunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3137 | 
        
        
          | new-sc-line-gen-rs-static-generator-method-privatename-identifier-alt.js | 
          ---
description: Valid Static GeneratorMethod PrivateName (field definitions followed by a method in a new line with a semicolon)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public, generators]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      GeneratorMethod
    GeneratorMethod :
 ClassElementName ( UniqueFormalParameters ){ GeneratorBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2943 | 
        
        
          | new-sc-line-gen-rs-static-generator-method-privatename-identifier.js | 
          ---
description: Valid Static GeneratorMethod PrivateName (field definitions followed by a method in a new line with a semicolon)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public, generators]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      GeneratorMethod
    GeneratorMethod :
 ClassElementName ( UniqueFormalParameters ){ GeneratorBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2876 | 
        
        
          | new-sc-line-gen-rs-static-method-privatename-identifier-alt.js | 
          ---
description: Valid Static Method PrivateName (field definitions followed by a method in a new line with a semicolon)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public, generators]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      ClassElementName ( UniqueFormalParameters ){ FunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2937 | 
        
        
          | new-sc-line-gen-rs-static-method-privatename-identifier.js | 
          ---
description: Valid Static Method PrivateName (field definitions followed by a method in a new line with a semicolon)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public, generators]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      ClassElementName ( UniqueFormalParameters ){ FunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2749 | 
        
        
          | new-sc-line-gen-rs-static-privatename-identifier-alt-by-classname.js | 
          ---
description: Valid Static PrivateName (field definitions followed by a method in a new line with a semicolon)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public, generators]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2802 | 
        
        
          | new-sc-line-gen-rs-static-privatename-identifier-alt.js | 
          ---
description: Valid Static PrivateName (field definitions followed by a method in a new line with a semicolon)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public, generators]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2825 | 
        
        
          | new-sc-line-gen-rs-static-privatename-identifier-by-classname.js | 
          ---
description: Valid Static PrivateName (field definitions followed by a method in a new line with a semicolon)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public, generators]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2607 | 
        
        
          | new-sc-line-gen-rs-static-privatename-identifier-initializer-alt-by-classname.js | 
          ---
description: Valid Static PrivateName (field definitions followed by a method in a new line with a semicolon)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public, generators]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2436 | 
        
        
          | new-sc-line-gen-rs-static-privatename-identifier-initializer-alt.js | 
          ---
description: Valid Static PrivateName (field definitions followed by a method in a new line with a semicolon)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public, generators]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2441 | 
        
        
          | new-sc-line-gen-rs-static-privatename-identifier-initializer.js | 
          ---
description: Valid Static PrivateName (field definitions followed by a method in a new line with a semicolon)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public, generators]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2473 | 
        
        
          | new-sc-line-gen-rs-static-privatename-identifier.js | 
          ---
description: Valid Static PrivateName (field definitions followed by a method in a new line with a semicolon)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public, generators]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2630 | 
        
        
          | new-sc-line-gen-static-private-fields.js | 
          ---
description: static private fields (field definitions followed by a method in a new line with a semicolon)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public, generators]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      static FieldDefinition ;
    FieldDefinition :
      ClassElementName Initializer_opt
    ClassElementName :
      PrivateName
    PrivateName :
      # IdentifierName
--- | 
          2063 | 
        
        
          | new-sc-line-gen-static-private-methods-with-fields.js | 
          ---
description: static private methods with fields (field definitions followed by a method in a new line with a semicolon)
esid: prod-FieldDefinition
features: [class-static-methods-private, class-static-fields-private, class, class-fields-public, generators]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      static FieldDefinition ;
    FieldDefinition :
      ClassElementName Initializer_opt
    ClassElementName :
      PrivateName
    PrivateName :
      # IdentifierName
--- | 
          2825 | 
        
        
          | new-sc-line-gen-static-private-methods.js | 
          ---
description: static private methods (field definitions followed by a method in a new line with a semicolon)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public, generators]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      static FieldDefinition ;
    FieldDefinition :
      ClassElementName Initializer_opt
    ClassElementName :
      PrivateName
    PrivateName :
      # IdentifierName
--- | 
          2113 | 
        
        
          | new-sc-line-gen-string-literal-names.js | 
          ---
description: String literal names (field definitions followed by a method in a new line with a semicolon)
esid: prod-FieldDefinition
features: [class-fields-public, class, generators]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      FieldDefinition ;
    FieldDefinition:
      ClassElementName Initializer_opt
    ClassElementName:
      PropertyName
--- | 
          2424 | 
        
        
          | new-sc-line-method-computed-names.js | 
          ---
description: Computed property names (field definitions followed by a method in a new line with a semicolon)
esid: prod-FieldDefinition
features: [class-fields-public, computed-property-names, class]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      FieldDefinition ;
    FieldDefinition:
      ClassElementName Initializer_opt
    ClassElementName:
      PropertyName
--- | 
          2525 | 
        
        
          | new-sc-line-method-computed-symbol-names.js | 
          ---
description: Computed property symbol names (field definitions followed by a method in a new line with a semicolon)
esid: prod-FieldDefinition
features: [class-fields-public, Symbol, computed-property-names, class]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      FieldDefinition ;
    FieldDefinition:
      ClassElementName Initializer_opt
    ClassElementName:
      PropertyName
--- | 
          2484 | 
        
        
          | new-sc-line-method-grammar-privatename-identifier-semantics-stringvalue.js | 
          ---
description: PrivateName Static Semantics, StringValue (field definitions followed by a method in a new line with a semicolon)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
    1. Return the String value consisting of the sequence of code
      units corresponding to PrivateName. In determining the sequence
      any occurrences of \ UnicodeEscapeSequence are first replaced
      with the code point represented by the UnicodeEscapeSequence
      and then the code points of the entire PrivateName are converted
      to code units by UTF16Encoding (10.1.1) each code point.
--- | 
          2773 | 
        
        
          | new-sc-line-method-literal-names-asi.js | 
          ---
description: Literal property names with ASI (field definitions followed by a method in a new line with a semicolon)
esid: prod-FieldDefinition
features: [class-fields-public, class]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      FieldDefinition ;
    FieldDefinition:
      ClassElementName Initializer_opt
    ClassElementName:
      PropertyName
--- | 
          1679 | 
        
        
          | new-sc-line-method-literal-names.js | 
          ---
description: Literal property names (field definitions followed by a method in a new line with a semicolon)
esid: prod-FieldDefinition
features: [class-fields-public, class]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      FieldDefinition ;
    FieldDefinition:
      ClassElementName Initializer_opt
    ClassElementName:
      PropertyName
--- | 
          2046 | 
        
        
          | new-sc-line-method-private-field-usage.js | 
          ---
description: PrivateName CallExpression usage (private field) (field definitions followed by a method in a new line with a semicolon)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateName
--- | 
          1399 | 
        
        
          | new-sc-line-method-private-method-getter-usage.js | 
          ---
description: PrivateName CallExpression usage (Accesor get method) (field definitions followed by a method in a new line with a semicolon)
esid: prod-FieldDefinition
features: [class-methods-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateName
--- | 
          1428 | 
        
        
          | new-sc-line-method-private-method-usage.js | 
          ---
description: PrivateName CallExpression usage (private method) (field definitions followed by a method in a new line with a semicolon)
esid: prod-FieldDefinition
features: [class-methods-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateName
--- | 
          1415 | 
        
        
          | new-sc-line-method-private-names.js | 
          ---
description: private names (field definitions followed by a method in a new line with a semicolon)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      FieldDefinition ;
    FieldDefinition :
      ClassElementName Initializer_opt
    ClassElementName :
      PrivateName
    PrivateName :
      # IdentifierName
--- | 
          1976 | 
        
        
          | new-sc-line-method-rs-field-identifier-initializer.js | 
          ---
description: Valid FieldDefinition (field definitions followed by a method in a new line with a semicolon)
esid: prod-FieldDefinition
features: [class-fields-public, class]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
    PropertyName :
      LiteralPropertyName
      ComputedPropertyName
    LiteralPropertyName :
      IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2031 | 
        
        
          | new-sc-line-method-rs-field-identifier.js | 
          ---
description: Valid FieldDefinition (field definitions followed by a method in a new line with a semicolon)
esid: prod-FieldDefinition
features: [class-fields-public, class]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
    PropertyName :
      LiteralPropertyName
      ComputedPropertyName
    LiteralPropertyName :
      IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2081 | 
        
        
          | new-sc-line-method-rs-private-getter-alt.js | 
          ---
description: Valid PrivateName as private getter (field definitions followed by a method in a new line with a semicolon)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ...
      get ClassElementName ( ){ FunctionBody }
      ...
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2726 | 
        
        
          | new-sc-line-method-rs-private-getter.js | 
          ---
description: Valid PrivateName as private getter (field definitions followed by a method in a new line with a semicolon)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ...
      get ClassElementName ( ){ FunctionBody }
      ...
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2785 | 
        
        
          | new-sc-line-method-rs-private-method-alt.js | 
          ---
description: Valid PrivateName as private method (field definitions followed by a method in a new line with a semicolon)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ClassElementName ( UniqueFormalParameters ) { FunctionBody }
      ...
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2724 | 
        
        
          | new-sc-line-method-rs-private-method.js | 
          ---
description: Valid PrivateName as private method (field definitions followed by a method in a new line with a semicolon)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ClassElementName ( UniqueFormalParameters ) { FunctionBody }
      ...
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2783 | 
        
        
          | new-sc-line-method-rs-private-setter-alt.js | 
          ---
description: Valid PrivateName as private setter (field definitions followed by a method in a new line with a semicolon)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ...
      set ClassElementName ( PropertySetParameterList ) { FunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2778 | 
        
        
          | new-sc-line-method-rs-private-setter.js | 
          ---
description: Valid PrivateName as private setter (field definitions followed by a method in a new line with a semicolon)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ...
      set ClassElementName ( PropertySetParameterList ) { FunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2837 | 
        
        
          | new-sc-line-method-rs-privatename-identifier-alt.js | 
          ---
description: Valid PrivateName (field definitions followed by a method in a new line with a semicolon)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2424 | 
        
        
          | new-sc-line-method-rs-privatename-identifier-initializer-alt.js | 
          ---
description: Valid PrivateName (field definitions followed by a method in a new line with a semicolon)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2276 | 
        
        
          | new-sc-line-method-rs-privatename-identifier-initializer.js | 
          ---
description: Valid PrivateName (field definitions followed by a method in a new line with a semicolon)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2308 | 
        
        
          | new-sc-line-method-rs-privatename-identifier.js | 
          ---
description: Valid PrivateName (field definitions followed by a method in a new line with a semicolon)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2465 | 
        
        
          | new-sc-line-method-rs-static-async-generator-method-privatename-identifier-alt.js | 
          ---
description: Valid Static AsyncGeneratorMethod PrivateName (field definitions followed by a method in a new line with a semicolon)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      AsyncGeneratorMethod
    AsyncGeneratorMethod :
      async [no LineTerminator here] * ClassElementName ( UniqueFormalParameters){ AsyncGeneratorBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3316 | 
        
        
          | new-sc-line-method-rs-static-async-generator-method-privatename-identifier.js | 
          ---
description: Valid Static AsyncGeneratorMethod PrivateName (field definitions followed by a method in a new line with a semicolon)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      AsyncGeneratorMethod
    AsyncGeneratorMethod :
      async [no LineTerminator here] * ClassElementName ( UniqueFormalParameters){ AsyncGeneratorBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3135 | 
        
        
          | new-sc-line-method-rs-static-async-method-privatename-identifier-alt.js | 
          ---
description: Valid Static AsyncMethod PrivateName (field definitions followed by a method in a new line with a semicolon)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      AsyncMethod
    AsyncMethod :
      async [no LineTerminator here] ClassElementName ( UniqueFormalParameters ){ AsyncFunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3295 | 
        
        
          | new-sc-line-method-rs-static-async-method-privatename-identifier.js | 
          ---
description: Valid Static AsyncMethod PrivateName (field definitions followed by a method in a new line with a semicolon)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      AsyncMethod
    AsyncMethod :
      async [no LineTerminator here] ClassElementName ( UniqueFormalParameters ){ AsyncFunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3108 | 
        
        
          | new-sc-line-method-rs-static-generator-method-privatename-identifier-alt.js | 
          ---
description: Valid Static GeneratorMethod PrivateName (field definitions followed by a method in a new line with a semicolon)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      GeneratorMethod
    GeneratorMethod :
 ClassElementName ( UniqueFormalParameters ){ GeneratorBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2914 | 
        
        
          | new-sc-line-method-rs-static-generator-method-privatename-identifier.js | 
          ---
description: Valid Static GeneratorMethod PrivateName (field definitions followed by a method in a new line with a semicolon)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      GeneratorMethod
    GeneratorMethod :
 ClassElementName ( UniqueFormalParameters ){ GeneratorBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2847 | 
        
        
          | new-sc-line-method-rs-static-method-privatename-identifier-alt.js | 
          ---
description: Valid Static Method PrivateName (field definitions followed by a method in a new line with a semicolon)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      ClassElementName ( UniqueFormalParameters ){ FunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2908 | 
        
        
          | new-sc-line-method-rs-static-method-privatename-identifier.js | 
          ---
description: Valid Static Method PrivateName (field definitions followed by a method in a new line with a semicolon)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      ClassElementName ( UniqueFormalParameters ){ FunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2720 | 
        
        
          | new-sc-line-method-rs-static-privatename-identifier-alt-by-classname.js | 
          ---
description: Valid Static PrivateName (field definitions followed by a method in a new line with a semicolon)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2773 | 
        
        
          | new-sc-line-method-rs-static-privatename-identifier-alt.js | 
          ---
description: Valid Static PrivateName (field definitions followed by a method in a new line with a semicolon)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2796 | 
        
        
          | new-sc-line-method-rs-static-privatename-identifier-by-classname.js | 
          ---
description: Valid Static PrivateName (field definitions followed by a method in a new line with a semicolon)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2578 | 
        
        
          | new-sc-line-method-rs-static-privatename-identifier-initializer-alt-by-classname.js | 
          ---
description: Valid Static PrivateName (field definitions followed by a method in a new line with a semicolon)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2407 | 
        
        
          | new-sc-line-method-rs-static-privatename-identifier-initializer-alt.js | 
          ---
description: Valid Static PrivateName (field definitions followed by a method in a new line with a semicolon)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2412 | 
        
        
          | new-sc-line-method-rs-static-privatename-identifier-initializer.js | 
          ---
description: Valid Static PrivateName (field definitions followed by a method in a new line with a semicolon)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2444 | 
        
        
          | new-sc-line-method-rs-static-privatename-identifier.js | 
          ---
description: Valid Static PrivateName (field definitions followed by a method in a new line with a semicolon)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2601 | 
        
        
          | new-sc-line-method-static-private-fields.js | 
          ---
description: static private fields (field definitions followed by a method in a new line with a semicolon)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      static FieldDefinition ;
    FieldDefinition :
      ClassElementName Initializer_opt
    ClassElementName :
      PrivateName
    PrivateName :
      # IdentifierName
--- | 
          2034 | 
        
        
          | new-sc-line-method-static-private-methods-with-fields.js | 
          ---
description: static private methods with fields (field definitions followed by a method in a new line with a semicolon)
esid: prod-FieldDefinition
features: [class-static-methods-private, class-static-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      static FieldDefinition ;
    FieldDefinition :
      ClassElementName Initializer_opt
    ClassElementName :
      PrivateName
    PrivateName :
      # IdentifierName
--- | 
          2796 | 
        
        
          | new-sc-line-method-static-private-methods.js | 
          ---
description: static private methods (field definitions followed by a method in a new line with a semicolon)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      static FieldDefinition ;
    FieldDefinition :
      ClassElementName Initializer_opt
    ClassElementName :
      PrivateName
    PrivateName :
      # IdentifierName
--- | 
          2084 | 
        
        
          | new-sc-line-method-string-literal-names.js | 
          ---
description: String literal names (field definitions followed by a method in a new line with a semicolon)
esid: prod-FieldDefinition
features: [class-fields-public, class]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      FieldDefinition ;
    FieldDefinition:
      ClassElementName Initializer_opt
    ClassElementName:
      PropertyName
--- | 
          2395 | 
        
        
          | private-accessor-name | 
           | 
           | 
        
        
          | private-arrow-fnc-init-err-contains-arguments.js | 
          ---
description: Syntax error if `arguments` used in class field (private field, arrow function expression)
esid: sec-class-definitions-static-semantics-early-errors
features: [class, class-fields-public, arrow-function, class-fields-private]
flags: [generated]
negative:
  phase: parse
  type: SyntaxError
info: |
    Static Semantics: Early Errors
      FieldDefinition:
        PropertyNameInitializeropt
      - It is a Syntax Error if ContainsArguments of Initializer is true.
    Static Semantics: ContainsArguments
      IdentifierReference : Identifier
      1. If the StringValue of Identifier is "arguments", return true.
      ...
      For all other grammatical productions, recurse on all nonterminals. If any piece returns true, then return true. Otherwise return false.
--- | 
          1102 | 
        
        
          | private-arrow-fnc-init-err-contains-super.js | 
          ---
description: Syntax error if `super()` used in class field (private field, arrow function expression)
esid: sec-class-definitions-static-semantics-early-errors
features: [class, class-fields-public, arrow-function, class-fields-private]
flags: [generated]
negative:
  phase: parse
  type: SyntaxError
info: |
    Static Semantics: Early Errors
      FieldDefinition:
        PropertyNameInitializeropt
      - It is a Syntax Error if Initializer is present and Initializer Contains SuperCall is true.
--- | 
          814 | 
        
        
          | private-async-generator-method-name.js | 
          ---
description: Private async generators methods have name property properly configured (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-methods-private, class]
flags: [generated]
info: |
    Updated Productions
    ClassElement : MethodDefinition
      1. Return ClassElementEvaluation of MethodDefinition with arguments ! Get(homeObject, "prototype"),enumerable, and "prototype".
    ClassElement : MethodDefinition
    ClassElement : static MethodDefinition
      1. Perform ? PropertyDefinitionEvaluation with parameters object and enumerable.
      2. Return empty.
    AsyncMethod : async [no LineTerminator here] * ClassElementName (UniqueFormalParameters) { AsyncFunctionBody }
      1. Let propKey be the result of evaluating ClassElementName.
      ...
      12. Perform ? DefineOrdinaryMethod(key, homeObject, closure, enumerable).
    ClassElementName : PrivateIdentifier
      1. Let bindingName be StringValue of PrivateIdentifier.
      ...
      5. If scopeEnvRec's binding for bindingName is uninitialized,
        a. Let field be NewPrivateName(bindingName).
        b. Perform ! scopeEnvRec.InitializeBinding(bindingName, field).
      6. Otherwise,
        a. Let field be scopeEnvRec.GetBindingValue(bindingName).
      7. Assert: field.[[Description]] is bindingName.
      8. Return field.
    DefineOrdinaryMethod(key, homeObject, closure, enumerable)
      1. Perform SetFunctionName(closure, key).
      2. If key is a Private Name,
        a. Assert: key does not have a [[Kind]] field.
        b. Set key.[[Kind]] to "method".
        c. Set key.[[Value]] to closure.
        d. Set key.[[Brand]] to homeObject.
      3. Else,
        a. Let desc be the PropertyDescriptor{[[Value]]: closure, [[Writable]]: true, [[Enumerable]]: enumerable, [[Configurable]]: true}.
        b. Perform ? DefinePropertyOrThrow(homeObject, key, desc).
--- | 
          2289 | 
        
        
          | private-async-method-name.js | 
          ---
description: Private async methods have name property properly configured (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-methods-private, class]
flags: [generated]
info: |
    Updated Productions
    ClassElement : MethodDefinition
      1. Return ClassElementEvaluation of MethodDefinition with arguments ! Get(homeObject, "prototype"),enumerable, and "prototype".
    ClassElement : MethodDefinition
    ClassElement : static MethodDefinition
      1. Perform ? PropertyDefinitionEvaluation with parameters object and enumerable.
      2. Return empty.
    AsyncMethod : async [no LineTerminator here] ClassElementName (UniqueFormalParameters) { AsyncFunctionBody }
      1. Let propKey be the result of evaluating ClassElementName.
      ...
      10. Perform ? DefineOrdinaryMethod(key, homeObject, closure, enumerable).
    ClassElementName : PrivateIdentifier
      1. Let bindingName be StringValue of PrivateIdentifier.
      ...
      5. If scopeEnvRec's binding for bindingName is uninitialized,
        a. Let field be NewPrivateName(bindingName).
        b. Perform ! scopeEnvRec.InitializeBinding(bindingName, field).
      6. Otherwise,
        a. Let field be scopeEnvRec.GetBindingValue(bindingName).
      7. Assert: field.[[Description]] is bindingName.
      8. Return field.
    DefineOrdinaryMethod(key, homeObject, closure, enumerable)
      1. Perform SetFunctionName(closure, key).
      2. If key is a Private Name,
        a. Assert: key does not have a [[Kind]] field.
        b. Set key.[[Kind]] to "method".
        c. Set key.[[Value]] to closure.
        d. Set key.[[Brand]] to homeObject.
      3. Else,
        a. Let desc be the PropertyDescriptor{[[Value]]: closure, [[Writable]]: true, [[Enumerable]]: enumerable, [[Configurable]]: true}.
        b. Perform ? DefinePropertyOrThrow(homeObject, key, desc).
--- | 
          2264 | 
        
        
          | private-derived-cls-direct-eval-contains-superproperty-1.js | 
          ---
description: super.x in StatementList of eval (direct eval)
esid: sec-performeval-rules-in-initializer
features: [class, class-fields-public, class-fields-private]
flags: [generated]
info: |
    Additional Early Error Rules for Eval Inside Initializer
    These static semantics are applied by PerformEval when a direct eval call occurs inside a class field initializer.
    ScriptBody : StatementList
      ...
      The remaining eval rules apply as outside a constructor, inside a method, and inside a function.
    Additional Early Error Rules for Eval Outside Methods
    These static semantics are applied by PerformEval when a direct eval call occurs outside of a MethodDefinition.
    ScriptBody : StatementList
      It is a Syntax Error if StatementList Contains SuperProperty.
--- | 
          1204 | 
        
        
          | private-derived-cls-direct-eval-contains-superproperty-2.js | 
          ---
description: super['x'] in StatementList of eval (direct eval)
esid: sec-performeval-rules-in-initializer
features: [class, class-fields-public, class-fields-private]
flags: [generated]
info: |
    The remaining eval rules apply as outside a constructor, inside a method, and inside a function.
    Additional Early Error Rules for Eval Outside Methods
      These static semantics are applied by PerformEval when a direct eval call occurs outside of a MethodDefinition.
      ScriptBody : StatementList
      It is a Syntax Error if StatementList Contains SuperProperty.
--- | 
          992 | 
        
        
          | private-derived-cls-direct-eval-err-contains-supercall-1.js | 
          ---
description: error if `super()['x']` in StatementList of eval (direct eval)
esid: sec-performeval-rules-in-initializer
features: [class, class-fields-public, class-fields-private]
flags: [generated]
info: |
    Additional Early Error Rules for Eval Inside Initializer
    These static semantics are applied by PerformEval when a direct eval call occurs inside a class field initializer.
    ScriptBody : StatementList
      ...
      The remaining eval rules apply as outside a constructor, inside a method, and inside a function.
    Additional Early Error Rules for Eval Outside Constructor Methods
    These static semantics are applied by PerformEval when a direct eval call occurs outside of the constructor method of a ClassDeclaration or ClassExpression.
    ScriptBody : StatementList
      It is a Syntax Error if StatementList Contains SuperCall.
--- | 
          1320 | 
        
        
          | private-derived-cls-direct-eval-err-contains-supercall-2.js | 
          ---
description: error if `super().x` in StatementList of eval (direct eval)
esid: sec-performeval-rules-in-initializer
features: [class, class-fields-public, class-fields-private]
flags: [generated]
info: |
    Additional Early Error Rules for Eval Outside Constructor Methods
    These static semantics are applied by PerformEval when a direct eval call occurs outside of the constructor method of a ClassDeclaration or ClassExpression.
    ScriptBody : StatementList
      It is a Syntax Error if StatementList Contains SuperCall.
--- | 
          988 | 
        
        
          | private-derived-cls-direct-eval-err-contains-supercall.js | 
          ---
description: error if `super()` in StatementList of eval (direct eval)
esid: sec-performeval-rules-in-initializer
features: [class, class-fields-public, class-fields-private]
flags: [generated]
info: |
    Additional Early Error Rules for Eval Inside Initializer
    These static semantics are applied by PerformEval when a direct eval call occurs inside a class field initializer.
    ScriptBody : StatementList
      ...
      The remaining eval rules apply as outside a constructor, inside a method, and inside a function.
    Additional Early Error Rules for Eval Outside Constructor Methods
    These static semantics are applied by PerformEval when a direct eval call occurs outside of the constructor method of a ClassDeclaration or ClassExpression.
    ScriptBody : StatementList
      It is a Syntax Error if StatementList Contains SuperCall.
--- | 
          1308 | 
        
        
          | private-derived-cls-indirect-eval-contains-superproperty-1.js | 
          ---
description: super.x in StatementList of eval (indirect eval)
esid: sec-performeval-rules-in-initializer
features: [class, class-fields-public, class-fields-private]
flags: [generated]
info: |
    Additional Early Error Rules for Eval Inside Initializer
    These static semantics are applied by PerformEval when a direct eval call occurs inside a class field initializer.
    ScriptBody : StatementList
      ...
      The remaining eval rules apply as outside a constructor, inside a method, and inside a function.
    Additional Early Error Rules for Eval Outside Methods
    These static semantics are applied by PerformEval when a direct eval call occurs outside of a MethodDefinition.
    ScriptBody : StatementList
      It is a Syntax Error if StatementList Contains SuperProperty.
--- | 
          1267 | 
        
        
          | private-derived-cls-indirect-eval-contains-superproperty-2.js | 
          ---
description: super['x'] in StatementList of eval (indirect eval)
esid: sec-performeval-rules-in-initializer
features: [class, class-fields-public, class-fields-private]
flags: [generated]
info: |
    The remaining eval rules apply as outside a constructor, inside a method, and inside a function.
    Additional Early Error Rules for Eval Outside Methods
      These static semantics are applied by PerformEval when a direct eval call occurs outside of a MethodDefinition.
      ScriptBody : StatementList
      It is a Syntax Error if StatementList Contains SuperProperty.
--- | 
          1055 | 
        
        
          | private-derived-cls-indirect-eval-err-contains-supercall-1.js | 
          ---
description: error if `super()['x']` in StatementList of eval (indirect eval)
esid: sec-performeval-rules-in-initializer
features: [class, class-fields-public, class-fields-private]
flags: [generated]
info: |
    Additional Early Error Rules for Eval Inside Initializer
    These static semantics are applied by PerformEval when a direct eval call occurs inside a class field initializer.
    ScriptBody : StatementList
      ...
      The remaining eval rules apply as outside a constructor, inside a method, and inside a function.
    Additional Early Error Rules for Eval Outside Constructor Methods
    These static semantics are applied by PerformEval when a direct eval call occurs outside of the constructor method of a ClassDeclaration or ClassExpression.
    ScriptBody : StatementList
      It is a Syntax Error if StatementList Contains SuperCall.
--- | 
          1336 | 
        
        
          | private-derived-cls-indirect-eval-err-contains-supercall-2.js | 
          ---
description: error if `super().x` in StatementList of eval (indirect eval)
esid: sec-performeval-rules-in-initializer
features: [class, class-fields-public, class-fields-private]
flags: [generated]
info: |
    Additional Early Error Rules for Eval Outside Constructor Methods
    These static semantics are applied by PerformEval when a direct eval call occurs outside of the constructor method of a ClassDeclaration or ClassExpression.
    ScriptBody : StatementList
      It is a Syntax Error if StatementList Contains SuperCall.
--- | 
          1004 | 
        
        
          | private-derived-cls-indirect-eval-err-contains-supercall.js | 
          ---
description: error if `super()` in StatementList of eval (indirect eval)
esid: sec-performeval-rules-in-initializer
features: [class, class-fields-public, class-fields-private]
flags: [generated]
info: |
    Additional Early Error Rules for Eval Inside Initializer
    These static semantics are applied by PerformEval when a direct eval call occurs inside a class field initializer.
    ScriptBody : StatementList
      ...
      The remaining eval rules apply as outside a constructor, inside a method, and inside a function.
    Additional Early Error Rules for Eval Outside Constructor Methods
    These static semantics are applied by PerformEval when a direct eval call occurs outside of the constructor method of a ClassDeclaration or ClassExpression.
    ScriptBody : StatementList
      It is a Syntax Error if StatementList Contains SuperCall.
--- | 
          1324 | 
        
        
          | private-direct-eval-err-contains-arguments.js | 
          ---
description: error if `arguments` in StatementList of eval (direct eval)
esid: sec-performeval-rules-in-initializer
features: [class, class-fields-public, class-fields-private]
flags: [generated]
info: |
    Additional Early Error Rules for Eval Inside Initializer
    These static semantics are applied by PerformEval when a direct eval call occurs inside a class field initializer.
    ScriptBody : StatementList
      It is a Syntax Error if ContainsArguments of StatementList is true.
      ...
    Static Semantics: ContainsArguments
      IdentifierReference : Identifier
      1. If the StringValue of Identifier is "arguments", return true.
      ...
      For all other grammatical productions, recurse on all nonterminals. If any piece returns true, then return true. Otherwise return false.
--- | 
          1239 | 
        
        
          | private-direct-eval-err-contains-newtarget.js | 
          ---
description: error if `new.target` in StatementList of eval (direct eval)
esid: sec-performeval-rules-in-initializer
features: [class, new.target, class-fields-private]
flags: [generated]
info: |
    Additional Early Error Rules for Eval Inside Initializer
    These static semantics are applied by PerformEval when a direct eval call occurs inside a class field initializer.
    ScriptBody : StatementList
      ...
      The remaining eval rules apply as outside a constructor, inside a method, and inside a function.
    Additional Early Error Rules for Eval Outside Functions
    These static semantics are applied by PerformEval when a direct eval call occurs outside of any function.
    ScriptBody : StatementList
      It is a Syntax Error if StatementList Contains NewTarget.
--- | 
          1211 | 
        
        
          | private-field-access-on-inner-arrow-function.js | 
          ---
description: PrivateName of private field is visible on inner arrow function of class scope (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-fields-private, class]
flags: [generated]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateName
--- | 
          1234 | 
        
        
          | private-field-access-on-inner-function.js | 
          ---
description: PrivateName of private field is visible on inner function of class scope (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-fields-private, class]
flags: [generated]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateName
--- | 
          1242 | 
        
        
          | private-field-after-optional-chain.js | 
          ---
description: OptionalChain.PrivateIdentifier is a valid syntax (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-fields-private, optional-chaining, class]
flags: [generated]
info: |
    Updated Productions
    OptionalChain[Yield, Await] :
      `?.` `[` Expression[+In, ?Yield, ?Await] `]`
      `?.` IdentifierName
      `?.` Arguments[?Yield, ?Await]
      `?.` TemplateLiteral[?Yield, ?Await, +Tagged]
      OptionalChain[?Yield, ?Await]  `[` Expression[+In, ?Yield, ?Await] `]`
      OptionalChain[?Yield, ?Await] `.` IdentifierName
      OptionalChain[?Yield, ?Await] Arguments[?Yield, ?Await]
      OptionalChain[?Yield, ?Await] TemplateLiteral[?Yield, ?Await, +Tagged]
      OptionalChain[?Yield, ?Await] `.` PrivateIdentifier
--- | 
          1369 | 
        
        
          | private-field-as-arrow-function.js | 
          ---
description: Calling arrow function returned from private field access (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-fields-private, arrow-function, class]
flags: [generated]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateName
--- | 
          1031 | 
        
        
          | private-field-as-async-arrow-function.js | 
          ---
description: Calling async arrow function returned from private field access (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-fields-private, async-functions, arrow-function, class]
flags: [generated, async]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateName
--- | 
          1117 | 
        
        
          | private-field-as-async-function.js | 
          ---
description: Calling async function returned from private field access (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-fields-private, async-functions, class]
flags: [generated, async]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateName
--- | 
          1106 | 
        
        
          | private-field-as-function.js | 
          ---
description: Calling result returned from private field access (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-fields-private, class]
flags: [generated]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateName
--- | 
          1019 | 
        
        
          | private-field-on-nested-class.js | 
          ---
description: PrivateName CallExpression usage (private field) (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-fields-private, class-fields-public, class]
flags: [generated]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateName
--- | 
          1307 | 
        
        
          | private-fields-proxy-default-handler-throws.js | 
          ---
esid: sec-privatefieldget
description: Private fields not accessible via default Proxy handler
info: |
  1. Assert: P is a Private Name value.
  2. If O is not an object, throw a TypeError exception.
  3. Let entry be PrivateFieldFind(P, O).
  4. If entry is empty, throw a TypeError exception.
features: [class, class-fields-private]
--- | 
          685 | 
        
        
          | private-generator-method-name.js | 
          ---
description: Private generator methods have name property properly configured (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-methods-private, class]
flags: [generated]
info: |
    Updated Productions
    ClassElement : MethodDefinition
      1. Return ClassElementEvaluation of MethodDefinition with arguments ! Get(homeObject, "prototype"),enumerable, and "prototype".
    GeneratorMethod : * ClassElementName (UniqueFormalParameters) { GeneratorBody }
      1. Let key be the result of evaluating ClassElementName.
      ...
      12. Return DefineOrdinaryMethod(key, homeObject, closure, enumerable).
    ClassElement : MethodDefinition
    ClassElement : static MethodDefinition
      1. Perform ? PropertyDefinitionEvaluation with parameters object and enumerable.
      2. Return empty.
    ClassElementName : PrivateIdentifier
      1. Let bindingName be StringValue of PrivateIdentifier.
      ...
      5. If scopeEnvRec's binding for bindingName is uninitialized,
        a. Let field be NewPrivateName(bindingName).
        b. Perform ! scopeEnvRec.InitializeBinding(bindingName, field).
      6. Otherwise,
        a. Let field be scopeEnvRec.GetBindingValue(bindingName).
      7. Assert: field.[[Description]] is bindingName.
      8. Return field.
    DefineOrdinaryMethod(key, homeObject, closure, enumerable)
      1. Perform SetFunctionName(closure, key).
      2. If key is a Private Name,
        a. Assert: key does not have a [[Kind]] field.
        b. Set key.[[Kind]] to "method".
        c. Set key.[[Value]] to closure.
        d. Set key.[[Brand]] to homeObject.
      3. Else,
        a. Let desc be the PropertyDescriptor{[[Value]]: closure, [[Writable]]: true, [[Enumerable]]: enumerable, [[Configurable]]: true}.
        b. Perform ? DefinePropertyOrThrow(homeObject, key, desc).
--- | 
          2232 | 
        
        
          | private-getter-access-on-inner-arrow-function.js | 
          ---
description: PrivateName of private getter is visible on inner arrow function of class scope (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-methods-private, class]
flags: [generated]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateName
--- | 
          1255 | 
        
        
          | private-getter-access-on-inner-function.js | 
          ---
description: PrivateName of private getter is visible on inner function of class scope (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-methods-private, class]
flags: [generated]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateName
--- | 
          1263 | 
        
        
          | private-getter-is-not-a-own-property.js | 
          ---
description: Private getter is not stored as an own property of objects (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-methods-private, class]
flags: [generated]
info: |
    PrivateFieldGet (P, O)
      1. Assert: P is a Private Name.
      2. If O is not an object, throw a TypeError exception.
      3. If P.[[Kind]] is "field",
        a. Let entry be PrivateFieldFind(P, O).
        b. If entry is empty, throw a TypeError exception.
        c. Return entry.[[PrivateFieldValue]].
      4. Perform ? PrivateBrandCheck(O, P).
      5. If P.[[Kind]] is "method",
        a. Return P.[[Value]].
      6. Else,
        a. Assert: P.[[Kind]] is "accessor".
        b. If P does not have a [[Get]] field, throw a TypeError exception.
        c. Let getter be P.[[Get]].
        d. Return ? Call(getter, O).
--- | 
          1429 | 
        
        
          | private-getter-on-nested-class.js | 
          ---
description: PrivateName of private getter is available on inner classes (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-public, class]
flags: [generated]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateName
--- | 
          1097 | 
        
        
          | private-getter-shadowed-by-field-on-nested-class.js | 
          ---
description: PrivateName of private getter can be shadowed on inner classes by a private field (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class-fields-public, class]
flags: [generated]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateName
--- | 
          1388 | 
        
        
          | private-getter-shadowed-by-getter-on-nested-class.js | 
          ---
description: PrivateName of private getter can be shadowed on inner classes by a private getter (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-public, class]
flags: [generated]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateName
--- | 
          1384 | 
        
        
          | private-getter-shadowed-by-method-on-nested-class.js | 
          ---
description: PrivateName of private getter can be shadowed on inner class by a private method (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-public, class]
flags: [generated]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateName
--- | 
          1307 | 
        
        
          | private-getter-shadowed-by-setter-on-nested-class.js | 
          ---
description: PrivateName of private getter can be shadowed on inner classes by a private setter (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-public, class]
flags: [generated]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateName
--- | 
          1452 | 
        
        
          | private-indirect-eval-contains-arguments.js | 
          ---
description: No error if `arguments` in StatementList of eval (indirect eval)
esid: sec-performeval-rules-in-initializer
features: [class, class-fields-public, class-fields-private]
flags: [generated, noStrict]
info: |
    For indirect eval, the "Additional Early Error Rules for Eval Inside Initializer"
    (in #sec-performeval-rules-in-initializer) are NOT applicable.
--- | 
          781 | 
        
        
          | private-indirect-eval-err-contains-newtarget.js | 
          ---
description: error if `new.target` in StatementList of eval (indirect eval)
esid: sec-performeval-rules-in-initializer
features: [class, new.target, class-fields-private]
flags: [generated]
info: |
    Additional Early Error Rules for Eval Inside Initializer
    These static semantics are applied by PerformEval when a direct eval call occurs inside a class field initializer.
    ScriptBody : StatementList
      ...
      The remaining eval rules apply as outside a constructor, inside a method, and inside a function.
    Additional Early Error Rules for Eval Outside Functions
    These static semantics are applied by PerformEval when a direct eval call occurs outside of any function.
    ScriptBody : StatementList
      It is a Syntax Error if StatementList Contains NewTarget.
--- | 
          1232 | 
        
        
          | private-literal-name-init-err-contains-arguments.js | 
          ---
description: Syntax error if `arguments` used in class field (ClassElementName PrivateName)
esid: sec-class-definitions-static-semantics-early-errors
features: [class, class-fields-public, class-fields-private]
flags: [generated]
negative:
  phase: parse
  type: SyntaxError
info: |
    Static Semantics: Early Errors
      FieldDefinition:
        PropertyNameInitializeropt
      - It is a Syntax Error if ContainsArguments of Initializer is true.
    Static Semantics: ContainsArguments
      IdentifierReference : Identifier
      1. If the StringValue of Identifier is "arguments", return true.
      ...
      For all other grammatical productions, recurse on all nonterminals. If any piece returns true, then return true. Otherwise return false.
--- | 
          1063 | 
        
        
          | private-literal-name-init-err-contains-super.js | 
          ---
description: Syntax error if `super()` used in class field (ClassElementName PrivateName)
esid: sec-class-definitions-static-semantics-early-errors
features: [class, class-fields-public, class-fields-private]
flags: [generated]
negative:
  phase: parse
  type: SyntaxError
info: |
    Static Semantics: Early Errors
      FieldDefinition:
        PropertyNameInitializeropt
      - It is a Syntax Error if Initializer is present and Initializer Contains SuperCall is true.
--- | 
          775 | 
        
        
          | private-method-access-on-inner-arrow-function.js | 
          ---
description: PrivateName of private method is visible on inner arrow function of class scope (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-methods-private, class]
flags: [generated]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateName
--- | 
          1251 | 
        
        
          | private-method-access-on-inner-function.js | 
          ---
description: PrivateName of private method is visible on inner function of class scope (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-methods-private, class]
flags: [generated]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateName
--- | 
          1259 | 
        
        
          | private-method-comparison.js | 
          ---
description: PrivateFieldGet of a private method returns the same function object to every instance of the same class (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class, class-methods-private]
flags: [generated]
info: |
    PrivateFieldGet (P, O)
      1. Assert: P is a Private Name.
      2. If O is not an object, throw a TypeError exception.
      3. If P.[[Kind]] is "field",
        a. Let entry be PrivateFieldFind(P, O).
        b. If entry is empty, throw a TypeError exception.
        c. Return entry.[[PrivateFieldValue]].
      4. Perform ? PrivateBrandCheck(O, P).
      5. If P.[[Kind]] is "method",
        a. Return P.[[Value]].
      6. Else,
        a. Assert: P.[[Kind]] is "accessor".
        b. If P does not have a [[Get]] field, throw a TypeError exception.
        c. Let getter be P.[[Get]].
        d. Return ? Call(getter, O).
    PrivateBrandCheck(O, P)
      1. If O.[[PrivateBrands]] does not contain an entry e such that SameValue(e, P.[[Brand]]) is true,
        a. Throw a TypeError exception.
--- | 
          1478 | 
        
        
          | private-method-get-and-call.js | 
          ---
description: Function returned by a private method can be called with other values as 'this' (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class, class-methods-private]
flags: [generated]
info: |
    PrivateFieldGet (P, O)
      1. Assert: P is a Private Name.
      2. If O is not an object, throw a TypeError exception.
      3. If P.[[Kind]] is "field",
        a. Let entry be PrivateFieldFind(P, O).
        b. If entry is empty, throw a TypeError exception.
        c. Return entry.[[PrivateFieldValue]].
      4. Perform ? PrivateBrandCheck(O, P).
      5. If P.[[Kind]] is "method",
        a. Return P.[[Value]].
      6. Else,
        a. Assert: P.[[Kind]] is "accessor".
        b. If P does not have a [[Get]] field, throw a TypeError exception.
        c. Let getter be P.[[Get]].
        d. Return ? Call(getter, O).
    PrivateBrandCheck(O, P)
      1. If O.[[PrivateBrands]] does not contain an entry e such that SameValue(e, P.[[Brand]]) is true,
        a. Throw a TypeError exception.
--- | 
          1535 | 
        
        
          | private-method-is-not-a-own-property.js | 
          ---
description: Private method is not stored as an own property of objects (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-methods-private, class]
flags: [generated]
info: |
    PrivateFieldGet (P, O)
      1. Assert: P is a Private Name.
      2. If O is not an object, throw a TypeError exception.
      3. If P.[[Kind]] is "field",
        a. Let entry be PrivateFieldFind(P, O).
        b. If entry is empty, throw a TypeError exception.
        c. Return entry.[[PrivateFieldValue]].
      4. Perform ? PrivateBrandCheck(O, P).
      5. If P.[[Kind]] is "method",
        a. Return P.[[Value]].
      6. Else,
        a. Assert: P.[[Kind]] is "accessor".
        b. If P does not have a [[Get]] field, throw a TypeError exception.
        c. Let getter be P.[[Get]].
        d. Return ? Call(getter, O).
--- | 
          1368 | 
        
        
          | private-method-length.js | 
          ---
description: Private methods have length property properly configured (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-methods-private, class]
flags: [generated]
info: |
    Updated Productions
    ClassElement : MethodDefinition
      1. Return ClassElementEvaluation of MethodDefinition with arguments ! Get(homeObject, "prototype"),enumerable, and "prototype".
    ClassElement : static MethodDefinition
      1. Return ClassElementEvaluation of MethodDefinition with arguments homeObject, enumerable and "static".
    MethodDefinition : ClassElementName( UniqueFormalParameters ) { FunctionBody }
      1. Let methodDef be DefineMethod of MethodDefinition with argument homeObject.
      2. ReturnIfAbrupt(methodDef).
      3. Perform ? DefineOrdinaryMethod(methodDef.[[Key]], homeObject, methodDef.[[Closure]], _enumerable).
    ClassElement : MethodDefinition
    ClassElement : static MethodDefinition
      1. Perform ? PropertyDefinitionEvaluation with parameters object and enumerable.
      2. Return empty.
    MethodDefinition : ClassElementName (UniqueFormalParameters) { FunctionBody }
      ...
      8. Let closure be FunctionCreate(kind, UniqueFormalParameters, FunctionBody, scope, privateScope, strict, prototype).
      9. Perform MakeMethod(closure, object).
      10. Return the Record{[[Key]]: propKey, [[Closure]]: closure}.
--- | 
          1755 | 
        
        
          | private-method-on-nested-class.js | 
          ---
description: PrivateName of private method is available on inner classes (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-public, class]
flags: [generated]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateName
--- | 
          1095 | 
        
        
          | private-method-referenced-from-static-method.js | 
          ---
description: Private method referenced from a static method (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-methods-private, class]
flags: [generated]
info: |
    PrivateFieldGet (P, O)
      1. Assert: P is a Private Name.
      2. If O is not an object, throw a TypeError exception.
      3. If P.[[Kind]] is "field",
          ...
      4. Perform ? PrivateBrandCheck(O, P).
      5. If P.[[Kind]] is "method",
        a. Return P.[[Value]].
      ...
    PrivateBrandCheck(O, P)
      1. If O.[[PrivateBrands]] does not contain an entry e such that SameValue(e, P.[[Brand]]) is true,
        a. Throw a TypeError exception.
--- | 
          1138 | 
        
        
          | private-method-shadowed-by-field-on-nested-class.js | 
          ---
description: PrivateName of private method can be shadowed on inner classes by a private field (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class-fields-public, class]
flags: [generated]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateName
--- | 
          1386 | 
        
        
          | private-method-shadowed-by-getter-on-nested-class.js | 
          ---
description: PrivateName of private method can be shadowed on inner classes by a private getter (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-public, class]
flags: [generated]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateName
--- | 
          1459 | 
        
        
          | private-method-shadowed-by-setter-on-nested-class.js | 
          ---
description: PrivateName of private method can be shadowed on inner classes by a private setter (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-public, class]
flags: [generated]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateName
--- | 
          1450 | 
        
        
          | private-method-shadowed-on-nested-class.js | 
          ---
description: PrivateName of private method can be shadowed by inner class private method (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-public, class]
flags: [generated]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateName
--- | 
          1161 | 
        
        
          | private-methods | 
           | 
           | 
        
        
          | private-setter-access-on-inner-arrow-function.js | 
          ---
description: PrivateName of private setter is visible on inner arrow function of class scope (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-methods-private, class]
flags: [generated]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateName
--- | 
          1253 | 
        
        
          | private-setter-access-on-inner-function.js | 
          ---
description: PrivateName of private setter is visible on inner function of class scope (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-methods-private, class]
flags: [generated]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateName
--- | 
          1261 | 
        
        
          | private-setter-is-not-a-own-property.js | 
          ---
description: Private setter is not stored as an own property of objects (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-methods-private, class]
flags: [generated]
info: |
    PrivateFieldGet (P, O)
      1. Assert: P is a Private Name.
      2. If O is not an object, throw a TypeError exception.
      3. If P.[[Kind]] is "field",
        a. Let entry be PrivateFieldFind(P, O).
        b. If entry is empty, throw a TypeError exception.
        c. Return entry.[[PrivateFieldValue]].
      4. Perform ? PrivateBrandCheck(O, P).
      5. If P.[[Kind]] is "method",
        a. Return P.[[Value]].
      6. Else,
        a. Assert: P.[[Kind]] is "accessor".
        b. If P does not have a [[Get]] field, throw a TypeError exception.
        c. Let getter be P.[[Get]].
        d. Return ? Call(getter, O).
--- | 
          1450 | 
        
        
          | private-setter-on-nested-class.js | 
          ---
description: PrivateName of private setter is available on inner classes (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-public, class]
flags: [generated]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateName
--- | 
          1110 | 
        
        
          | private-setter-shadowed-by-field-on-nested-class.js | 
          ---
description: PrivateName of private setter can be shadowed on inner classes by a private field (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class-fields-public, class]
flags: [generated]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateName
--- | 
          1449 | 
        
        
          | private-setter-shadowed-by-getter-on-nested-class.js | 
          ---
description: PrivateName of private setter can be shadowed on inner classes by a private getter (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-public, class]
flags: [generated]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateName
--- | 
          1468 | 
        
        
          | private-setter-shadowed-by-method-on-nested-class.js | 
          ---
description: PrivateName of private setter can be shadowed on inner class by a private method (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-public, class]
flags: [generated]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateName
--- | 
          1470 | 
        
        
          | private-setter-shadowed-by-setter-on-nested-class.js | 
          ---
description: PrivateName of private setter can be shadowed on inner classes by a private setter (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-public, class]
flags: [generated]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateName
--- | 
          1424 | 
        
        
          | private-static-async-generator-method-name.js | 
          ---
description: Private static async generator methods have name property properly configured (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-static-methods-private, class]
flags: [generated]
info: |
    Updated Productions
    ClassElement : MethodDefinition
      1. Return ClassElementEvaluation of MethodDefinition with arguments ! Get(homeObject, "prototype"),enumerable, and "prototype".
    ClassElement : static MethodDefinition
      1. Return ClassElementEvaluation of MethodDefinition with arguments homeObject, enumerable and "static".
    AsyncMethod : async [no LineTerminator here] * ClassElementName (UniqueFormalParameters) { AsyncFunctionBody }
      ...
      12. Perform ? DefineOrdinaryMethod(key, homeObject, closure, _enumerable).
    ClassElement : MethodDefinition
    ClassElement : static MethodDefinition
      1. Perform ? PropertyDefinitionEvaluation with parameters object and enumerable.
      2. Return empty.
    ClassElementName : PrivateIdentifier
      1. Let bindingName be StringValue of PrivateIdentifier.
      ...
      5. If scopeEnvRec's binding for bindingName is uninitialized,
        a. Let field be NewPrivateName(bindingName).
        b. Perform ! scopeEnvRec.InitializeBinding(bindingName, field).
      6. Otherwise,
        a. Let field be scopeEnvRec.GetBindingValue(bindingName).
      7. Assert: field.[[Description]] is bindingName.
      8. Return field.
    DefineOrdinaryMethod(key, homeObject, closure, enumerable)
      1. Perform SetFunctionName(closure, key).
      2. If key is a Private Name,
        a. Assert: key does not have a [[Kind]] field.
        b. Set key.[[Kind]] to "method".
        c. Set key.[[Value]] to closure.
        d. Set key.[[Brand]] to homeObject.
      3. Else,
        a. Let desc be the PropertyDescriptor{[[Value]]: closure, [[Writable]]: true, [[Enumerable]]: enumerable, [[Configurable]]: true}.
        b. Perform ? DefinePropertyOrThrow(homeObject, key, desc).
--- | 
          2395 | 
        
        
          | private-static-async-method-name.js | 
          ---
description: Private static async methods have name property properly configured (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-static-methods-private, class]
flags: [generated]
info: |
    Updated Productions
    ClassElement : MethodDefinition
      1. Return ClassElementEvaluation of MethodDefinition with arguments ! Get(homeObject, "prototype"),enumerable, and "prototype".
    ClassElement : static MethodDefinition
      1. Return ClassElementEvaluation of MethodDefinition with arguments homeObject, enumerable and "static".
    AsyncMethod : async [no LineTerminator here] ClassElementName (UniqueFormalParameters) { AsyncFunctionBody }
      ...
      10. Perform ? DefineOrdinaryMethod(key, homeObject, closure, _enumerable).
    ClassElement : MethodDefinition
    ClassElement : static MethodDefinition
      1. Perform ? PropertyDefinitionEvaluation with parameters object and enumerable.
      2. Return empty.
    ClassElementName : PrivateIdentifier
      1. Let bindingName be StringValue of PrivateIdentifier.
      ...
      5. If scopeEnvRec's binding for bindingName is uninitialized,
        a. Let field be NewPrivateName(bindingName).
        b. Perform ! scopeEnvRec.InitializeBinding(bindingName, field).
      6. Otherwise,
        a. Let field be scopeEnvRec.GetBindingValue(bindingName).
      7. Assert: field.[[Description]] is bindingName.
      8. Return field.
    DefineOrdinaryMethod(key, homeObject, closure, enumerable)
      1. Perform SetFunctionName(closure, key).
      2. If key is a Private Name,
        a. Assert: key does not have a [[Kind]] field.
        b. Set key.[[Kind]] to "method".
        c. Set key.[[Value]] to closure.
        d. Set key.[[Brand]] to homeObject.
      3. Else,
        a. Let desc be the PropertyDescriptor{[[Value]]: closure, [[Writable]]: true, [[Enumerable]]: enumerable, [[Configurable]]: true}.
        b. Perform ? DefinePropertyOrThrow(homeObject, key, desc).
--- | 
          2371 | 
        
        
          | private-static-field-shadowed-by-field-on-nested-class.js | 
          ---
description: PrivateName of private static field can be shadowed on inner classes by a private field (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-static-fields-private, class-static-fields-public, class-fields-private, class]
flags: [generated]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateIdentifier
    ClassTail : ClassHeritage { ClassBody }
      ...
      6. Let classPrivateEnvironment be NewDeclarativeEnvironment(outerPrivateEnvironment).
      7. Let classPrivateEnvRec be classPrivateEnvironment's EnvironmentRecord.
      ...
      15. Set the running execution context's LexicalEnvironment to classScope.
      16. Set the running execution context's PrivateEnvironment to classPrivateEnvironment.
      ...
      33. If PrivateBoundIdentifiers of ClassBody contains a Private Name P such that P's [[Kind]] field is either "method" or "accessor" and P's [[Brand]] is F,
        a. PrivateBrandAdd(F, F).
      34. For each item fieldRecord in order from staticFields,
        a. Perform ? DefineField(F, field).
      FieldDefinition : ClassElementName Initializer_opt
        1. Let name be the result of evaluating ClassElementName.
        2. ReturnIfAbrupt(name).
        3. If Initializer_opt is present,
          a. Let lex be the Lexical Environment of the running execution context.
          b. Let formalParameterList be an instance of the production FormalParameters : [empty].
          c. Let privateScope be the PrivateEnvironment of the running execution context.
          d. Let initializer be FunctionCreate(Method, formalParameterList, Initializer, lex, true, privateScope).
          e. Perform MakeMethod(initializer, homeObject).
          f. Let isAnonymousFunctionDefinition be IsAnonymousFunctionDefinition(Initializer).
        4. Else,
          a. Let initializer be empty.
          b. Let isAnonymousFunctionDeclaration be false.
        5. Return a Record { [[Name]]: name, [[Initializer]]: initializer, [[IsAnonymousFunctionDefinition]]: isAnonymousFunctionDefinition }.
    MemberExpression : MemberExpression.PrivateIdentifier
      1. Let baseReference be the result of evaluating MemberExpression.
      2. Let baseValue be ? GetValue(baseReference).
      3. Let bv be ? RequireObjectCoercible(baseValue).
      4. Let fieldNameString be the StringValue of PrivateIdentifier.
      5. Return MakePrivateReference(bv, fieldNameString).
    MakePrivateReference(baseValue, privateIdentifier)
      1. Let env be the running execution context's PrivateEnvironment.
      2. Let privateNameBinding be ? ResolveBinding(privateIdentifier, env).
      3. Let privateName be GetValue(privateNameBinding).
      4. Assert: privateName is a Private Name.
      5. Return a value of type Reference whose base value is baseValue, whose referenced name is privateName, whose strict reference flag is true.
--- | 
          3977 | 
        
        
          | private-static-field-shadowed-by-getter-on-nested-class.js | 
          ---
description: PrivateName of private static field can be shadowed on inner classes by a private getter (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-static-fields-private, class-static-fields-public, class-methods-private, class]
flags: [generated]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateIdentifier
    ClassTail : ClassHeritage { ClassBody }
      ...
      6. Let classPrivateEnvironment be NewDeclarativeEnvironment(outerPrivateEnvironment).
      7. Let classPrivateEnvRec be classPrivateEnvironment's EnvironmentRecord.
      ...
      15. Set the running execution context's LexicalEnvironment to classScope.
      16. Set the running execution context's PrivateEnvironment to classPrivateEnvironment.
      ...
      33. If PrivateBoundIdentifiers of ClassBody contains a Private Name P such that P's [[Kind]] field is either "method" or "accessor" and P's [[Brand]] is F,
        a. PrivateBrandAdd(F, F).
      34. For each item fieldRecord in order from staticFields,
        a. Perform ? DefineField(F, field).
      FieldDefinition : ClassElementName Initializer_opt
        1. Let name be the result of evaluating ClassElementName.
        2. ReturnIfAbrupt(name).
        3. If Initializer_opt is present,
          a. Let lex be the Lexical Environment of the running execution context.
          b. Let formalParameterList be an instance of the production FormalParameters : [empty].
          c. Let privateScope be the PrivateEnvironment of the running execution context.
          d. Let initializer be FunctionCreate(Method, formalParameterList, Initializer, lex, true, privateScope).
          e. Perform MakeMethod(initializer, homeObject).
          f. Let isAnonymousFunctionDefinition be IsAnonymousFunctionDefinition(Initializer).
        4. Else,
          a. Let initializer be empty.
          b. Let isAnonymousFunctionDeclaration be false.
        5. Return a Record { [[Name]]: name, [[Initializer]]: initializer, [[IsAnonymousFunctionDefinition]]: isAnonymousFunctionDefinition }.
    MemberExpression : MemberExpression.PrivateIdentifier
      1. Let baseReference be the result of evaluating MemberExpression.
      2. Let baseValue be ? GetValue(baseReference).
      3. Let bv be ? RequireObjectCoercible(baseValue).
      4. Let fieldNameString be the StringValue of PrivateIdentifier.
      5. Return MakePrivateReference(bv, fieldNameString).
    MakePrivateReference(baseValue, privateIdentifier)
      1. Let env be the running execution context's PrivateEnvironment.
      2. Let privateNameBinding be ? ResolveBinding(privateIdentifier, env).
      3. Let privateName be GetValue(privateNameBinding).
      4. Assert: privateName is a Private Name.
      5. Return a value of type Reference whose base value is baseValue, whose referenced name is privateName, whose strict reference flag is true.
--- | 
          3982 | 
        
        
          | private-static-field-shadowed-by-method-on-nested-class.js | 
          ---
description: PrivateName of private static field can be shadowed on inner classes by a private method (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-static-fields-private, class-static-fields-public, class-methods-private, class]
flags: [generated]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateIdentifier
    ClassTail : ClassHeritage { ClassBody }
      ...
      6. Let classPrivateEnvironment be NewDeclarativeEnvironment(outerPrivateEnvironment).
      7. Let classPrivateEnvRec be classPrivateEnvironment's EnvironmentRecord.
      ...
      15. Set the running execution context's LexicalEnvironment to classScope.
      16. Set the running execution context's PrivateEnvironment to classPrivateEnvironment.
      ...
      33. If PrivateBoundIdentifiers of ClassBody contains a Private Name P such that P's [[Kind]] field is either "method" or "accessor" and P's [[Brand]] is F,
        a. PrivateBrandAdd(F, F).
      34. For each item fieldRecord in order from staticFields,
        a. Perform ? DefineField(F, field).
      FieldDefinition : ClassElementName Initializer_opt
        1. Let name be the result of evaluating ClassElementName.
        2. ReturnIfAbrupt(name).
        3. If Initializer_opt is present,
          a. Let lex be the Lexical Environment of the running execution context.
          b. Let formalParameterList be an instance of the production FormalParameters : [empty].
          c. Let privateScope be the PrivateEnvironment of the running execution context.
          d. Let initializer be FunctionCreate(Method, formalParameterList, Initializer, lex, true, privateScope).
          e. Perform MakeMethod(initializer, homeObject).
          f. Let isAnonymousFunctionDefinition be IsAnonymousFunctionDefinition(Initializer).
        4. Else,
          a. Let initializer be empty.
          b. Let isAnonymousFunctionDeclaration be false.
        5. Return a Record { [[Name]]: name, [[Initializer]]: initializer, [[IsAnonymousFunctionDefinition]]: isAnonymousFunctionDefinition }.
    MemberExpression : MemberExpression.PrivateIdentifier
      1. Let baseReference be the result of evaluating MemberExpression.
      2. Let baseValue be ? GetValue(baseReference).
      3. Let bv be ? RequireObjectCoercible(baseValue).
      4. Let fieldNameString be the StringValue of PrivateIdentifier.
      5. Return MakePrivateReference(bv, fieldNameString).
    MakePrivateReference(baseValue, privateIdentifier)
      1. Let env be the running execution context's PrivateEnvironment.
      2. Let privateNameBinding be ? ResolveBinding(privateIdentifier, env).
      3. Let privateName be GetValue(privateNameBinding).
      4. Assert: privateName is a Private Name.
      5. Return a value of type Reference whose base value is baseValue, whose referenced name is privateName, whose strict reference flag is true.
--- | 
          3988 | 
        
        
          | private-static-field-shadowed-by-setter-on-nested-class.js | 
          ---
description: PrivateName of private static field can be shadowed on inner classes by a private setter (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-static-fields-private, class-static-fields-public, class-methods-private, class]
flags: [generated]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateIdentifier
    ClassTail : ClassHeritage { ClassBody }
      ...
      6. Let classPrivateEnvironment be NewDeclarativeEnvironment(outerPrivateEnvironment).
      7. Let classPrivateEnvRec be classPrivateEnvironment's EnvironmentRecord.
      ...
      15. Set the running execution context's LexicalEnvironment to classScope.
      16. Set the running execution context's PrivateEnvironment to classPrivateEnvironment.
      ...
      33. If PrivateBoundIdentifiers of ClassBody contains a Private Name P such that P's [[Kind]] field is either "method" or "accessor" and P's [[Brand]] is F,
        a. PrivateBrandAdd(F, F).
      34. For each item fieldRecord in order from staticFields,
        a. Perform ? DefineField(F, field).
      FieldDefinition : ClassElementName Initializer_opt
        1. Let name be the result of evaluating ClassElementName.
        2. ReturnIfAbrupt(name).
        3. If Initializer_opt is present,
          a. Let lex be the Lexical Environment of the running execution context.
          b. Let formalParameterList be an instance of the production FormalParameters : [empty].
          c. Let privateScope be the PrivateEnvironment of the running execution context.
          d. Let initializer be FunctionCreate(Method, formalParameterList, Initializer, lex, true, privateScope).
          e. Perform MakeMethod(initializer, homeObject).
          f. Let isAnonymousFunctionDefinition be IsAnonymousFunctionDefinition(Initializer).
        4. Else,
          a. Let initializer be empty.
          b. Let isAnonymousFunctionDeclaration be false.
        5. Return a Record { [[Name]]: name, [[Initializer]]: initializer, [[IsAnonymousFunctionDefinition]]: isAnonymousFunctionDefinition }.
    MemberExpression : MemberExpression.PrivateIdentifier
      1. Let baseReference be the result of evaluating MemberExpression.
      2. Let baseValue be ? GetValue(baseReference).
      3. Let bv be ? RequireObjectCoercible(baseValue).
      4. Let fieldNameString be the StringValue of PrivateIdentifier.
      5. Return MakePrivateReference(bv, fieldNameString).
    MakePrivateReference(baseValue, privateIdentifier)
      1. Let env be the running execution context's PrivateEnvironment.
      2. Let privateNameBinding be ? ResolveBinding(privateIdentifier, env).
      3. Let privateName be GetValue(privateNameBinding).
      4. Assert: privateName is a Private Name.
      5. Return a value of type Reference whose base value is baseValue, whose referenced name is privateName, whose strict reference flag is true.
--- | 
          3989 | 
        
        
          | private-static-field-usage-inside-nested-class.js | 
          ---
description: PrivateName of private static field is available inside inner classes (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-static-fields-private, class-static-fields-public, class]
flags: [generated]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateIdentifier
    ClassTail : ClassHeritage { ClassBody }
      ...
      6. Let classPrivateEnvironment be NewDeclarativeEnvironment(outerPrivateEnvironment).
      7. Let classPrivateEnvRec be classPrivateEnvironment's EnvironmentRecord.
      ...
      15. Set the running execution context's LexicalEnvironment to classScope.
      16. Set the running execution context's PrivateEnvironment to classPrivateEnvironment.
      ...
      33. If PrivateBoundIdentifiers of ClassBody contains a Private Name P such that P's [[Kind]] field is either "method" or "accessor" and P's [[Brand]] is F,
        a. PrivateBrandAdd(F, F).
      34. For each item fieldRecord in order from staticFields,
        a. Perform ? DefineField(F, field).
      FieldDefinition : ClassElementName Initializer_opt
        1. Let name be the result of evaluating ClassElementName.
        2. ReturnIfAbrupt(name).
        3. If Initializer_opt is present,
          a. Let lex be the Lexical Environment of the running execution context.
          b. Let formalParameterList be an instance of the production FormalParameters : [empty].
          c. Let privateScope be the PrivateEnvironment of the running execution context.
          d. Let initializer be FunctionCreate(Method, formalParameterList, Initializer, lex, true, privateScope).
          e. Perform MakeMethod(initializer, homeObject).
          f. Let isAnonymousFunctionDefinition be IsAnonymousFunctionDefinition(Initializer).
        4. Else,
          a. Let initializer be empty.
          b. Let isAnonymousFunctionDeclaration be false.
        5. Return a Record { [[Name]]: name, [[Initializer]]: initializer, [[IsAnonymousFunctionDefinition]]: isAnonymousFunctionDefinition }.
    MemberExpression : MemberExpression.PrivateIdentifier
      1. Let baseReference be the result of evaluating MemberExpression.
      2. Let baseValue be ? GetValue(baseReference).
      3. Let bv be ? RequireObjectCoercible(baseValue).
      4. Let fieldNameString be the StringValue of PrivateIdentifier.
      5. Return MakePrivateReference(bv, fieldNameString).
    MakePrivateReference(baseValue, privateIdentifier)
      1. Let env be the running execution context's PrivateEnvironment.
      2. Let privateNameBinding be ? ResolveBinding(privateIdentifier, env).
      3. Let privateName be GetValue(privateNameBinding).
      4. Assert: privateName is a Private Name.
      5. Return a value of type Reference whose base value is baseValue, whose referenced name is privateName, whose strict reference flag is true.
--- | 
          3793 | 
        
        
          | private-static-generator-method-name.js | 
          ---
description: Private static generator methods have name property properly configured (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-static-methods-private, class]
flags: [generated]
info: |
    Updated Productions
    ClassElement : MethodDefinition
      1. Return ClassElementEvaluation of MethodDefinition with arguments ! Get(homeObject, "prototype"),enumerable, and "prototype".
    ClassElement : static MethodDefinition
      1. Return ClassElementEvaluation of MethodDefinition with arguments homeObject, enumerable and "static".
    GeneratorMethod : * ClassElementName (UniqueFormalParameters) { GeneratorBody }
      ...
      12. Perform ? DefineOrdinaryMethod(key, homeObject, closure, _enumerable).
    ClassElement : MethodDefinition
    ClassElement : static MethodDefinition
      1. Perform ? PropertyDefinitionEvaluation with parameters object and enumerable.
      2. Return empty.
    ClassElementName : PrivateIdentifier
      1. Let bindingName be StringValue of PrivateIdentifier.
      ...
      5. If scopeEnvRec's binding for bindingName is uninitialized,
        a. Let field be NewPrivateName(bindingName).
        b. Perform ! scopeEnvRec.InitializeBinding(bindingName, field).
      6. Otherwise,
        a. Let field be scopeEnvRec.GetBindingValue(bindingName).
      7. Assert: field.[[Description]] is bindingName.
      8. Return field.
    DefineOrdinaryMethod(key, homeObject, closure, enumerable)
      1. Perform SetFunctionName(closure, key).
      2. If key is a Private Name,
        a. Assert: key does not have a [[Kind]] field.
        b. Set key.[[Kind]] to "method".
        c. Set key.[[Value]] to closure.
        d. Set key.[[Brand]] to homeObject.
      3. Else,
        a. Let desc be the PropertyDescriptor{[[Value]]: closure, [[Writable]]: true, [[Enumerable]]: enumerable, [[Configurable]]: true}.
        b. Perform ? DefinePropertyOrThrow(homeObject, key, desc).
--- | 
          2346 | 
        
        
          | private-static-method-length.js | 
          ---
description: Private static methods have length property properly configured (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-static-methods-private, class]
flags: [generated]
info: |
    Updated Productions
    ClassElement : MethodDefinition
      1. Return ClassElementEvaluation of MethodDefinition with arguments ! Get(homeObject, "prototype"),enumerable, and "prototype".
    ClassElement : static MethodDefinition
      1. Return ClassElementEvaluation of MethodDefinition with arguments homeObject, enumerable and "static".
    MethodDefinition : ClassElementName( UniqueFormalParameters ) { FunctionBody }
      1. Let methodDef be DefineMethod of MethodDefinition with argument homeObject.
      2. ReturnIfAbrupt(methodDef).
      3. Perform ? DefineOrdinaryMethod(methodDef.[[Key]], homeObject, methodDef.[[Closure]], _enumerable).
    ClassElement : MethodDefinition
    ClassElement : static MethodDefinition
      1. Perform ? PropertyDefinitionEvaluation with parameters object and enumerable.
      2. Return empty.
    MethodDefinition : ClassElementName (UniqueFormalParameters) { FunctionBody }
      ...
      8. Let closure be FunctionCreate(kind, UniqueFormalParameters, FunctionBody, scope, privateScope, strict, prototype).
      9. Perform MakeMethod(closure, object).
      10. Return the Record{[[Key]]: propKey, [[Closure]]: closure}.
--- | 
          1779 | 
        
        
          | private-static-method-name.js | 
          ---
description: Private static methods have name property properly configured (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-static-methods-private, class]
flags: [generated]
info: |
    Updated Productions
    ClassElement : MethodDefinition
      1. Return ClassElementEvaluation of MethodDefinition with arguments ! Get(homeObject, "prototype"),enumerable, and "prototype".
    ClassElement : static MethodDefinition
      1. Return ClassElementEvaluation of MethodDefinition with arguments homeObject, enumerable and "static".
    MethodDefinition : ClassElementName( UniqueFormalParameters ) { FunctionBody }
      1. Let methodDef be DefineMethod of MethodDefinition with argument homeObject.
      2. ReturnIfAbrupt(methodDef).
      3. Perform ? DefineOrdinaryMethod(methodDef.[[Key]], homeObject, methodDef.[[Closure]], _enumerable).
    ClassElement : MethodDefinition
    ClassElement : static MethodDefinition
      1. Perform ? PropertyDefinitionEvaluation with parameters object and enumerable.
      2. Return empty.
    MethodDefinition : ClassElementName (UniqueFormalParameters) { FunctionBody }
      1. Let propKey be the result of evaluating ClassElementName.
      ...
      8. Let closure be FunctionCreate(kind, UniqueFormalParameters, FunctionBody, scope, privateScope, strict, prototype).
      9. Perform MakeMethod(closure, object).
      10. Return the Record{[[Key]]: propKey, [[Closure]]: closure}.
    ClassElementName : PrivateIdentifier
      1. Let bindingName be StringValue of PrivateIdentifier.
      ...
      5. If scopeEnvRec's binding for bindingName is uninitialized,
        a. Let field be NewPrivateName(bindingName).
        b. Perform ! scopeEnvRec.InitializeBinding(bindingName, field).
      6. Otherwise,
        a. Let field be scopeEnvRec.GetBindingValue(bindingName).
      7. Assert: field.[[Description]] is bindingName.
      8. Return field.
    DefineOrdinaryMethod(key, homeObject, closure, enumerable)
      1. Perform SetFunctionName(closure, key).
      2. If key is a Private Name,
        a. Assert: key does not have a [[Kind]] field.
        b. Set key.[[Kind]] to "method".
        c. Set key.[[Value]] to closure.
        d. Set key.[[Brand]] to homeObject.
      3. Else,
        a. Let desc be the PropertyDescriptor{[[Value]]: closure, [[Writable]]: true, [[Enumerable]]: enumerable, [[Configurable]]: true}.
        b. Perform ? DefinePropertyOrThrow(homeObject, key, desc).
--- | 
          2886 | 
        
        
          | private-static-method-shadowed-by-field-on-nested-class.js | 
          ---
description: PrivateName of private static method can be shadowed on inner classes by a private field (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-static-methods-private, class-static-fields-public, class-fields-private, class]
flags: [generated]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateIdentifier
    ClassTail : ClassHeritage { ClassBody }
      ...
      6. Let classPrivateEnvironment be NewDeclarativeEnvironment(outerPrivateEnvironment).
      7. Let classPrivateEnvRec be classPrivateEnvironment's EnvironmentRecord.
      ...
      15. Set the running execution context's LexicalEnvironment to classScope.
      16. Set the running execution context's PrivateEnvironment to classPrivateEnvironment.
      ...
      33. If PrivateBoundIdentifiers of ClassBody contains a Private Name P such that P's [[Kind]] field is either "method" or "accessor" and P's [[Brand]] is F,
        a. PrivateBrandAdd(F, F).
      34. For each item fieldRecord in order from staticFields,
        a. Perform ? DefineField(F, field).
      FieldDefinition : ClassElementName Initializer_opt
        1. Let name be the result of evaluating ClassElementName.
        2. ReturnIfAbrupt(name).
        3. If Initializer_opt is present,
          a. Let lex be the Lexical Environment of the running execution context.
          b. Let formalParameterList be an instance of the production FormalParameters : [empty].
          c. Let privateScope be the PrivateEnvironment of the running execution context.
          d. Let initializer be FunctionCreate(Method, formalParameterList, Initializer, lex, true, privateScope).
          e. Perform MakeMethod(initializer, homeObject).
          f. Let isAnonymousFunctionDefinition be IsAnonymousFunctionDefinition(Initializer).
        4. Else,
          a. Let initializer be empty.
          b. Let isAnonymousFunctionDeclaration be false.
        5. Return a Record { [[Name]]: name, [[Initializer]]: initializer, [[IsAnonymousFunctionDefinition]]: isAnonymousFunctionDefinition }.
    MemberExpression : MemberExpression.PrivateIdentifier
      1. Let baseReference be the result of evaluating MemberExpression.
      2. Let baseValue be ? GetValue(baseReference).
      3. Let bv be ? RequireObjectCoercible(baseValue).
      4. Let fieldNameString be the StringValue of PrivateIdentifier.
      5. Return MakePrivateReference(bv, fieldNameString).
    MakePrivateReference(baseValue, privateIdentifier)
      1. Let env be the running execution context's PrivateEnvironment.
      2. Let privateNameBinding be ? ResolveBinding(privateIdentifier, env).
      3. Let privateName be GetValue(privateNameBinding).
      4. Assert: privateName is a Private Name.
      5. Return a value of type Reference whose base value is baseValue, whose referenced name is privateName, whose strict reference flag is true.
--- | 
          3995 | 
        
        
          | private-static-method-shadowed-by-getter-on-nested-class.js | 
          ---
description: PrivateName of private static method can be shadowed on inner classes by a private getter (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-static-methods-private, class-static-fields-public, class-methods-private, class]
flags: [generated]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateIdentifier
    ClassTail : ClassHeritage { ClassBody }
      ...
      6. Let classPrivateEnvironment be NewDeclarativeEnvironment(outerPrivateEnvironment).
      7. Let classPrivateEnvRec be classPrivateEnvironment's EnvironmentRecord.
      ...
      15. Set the running execution context's LexicalEnvironment to classScope.
      16. Set the running execution context's PrivateEnvironment to classPrivateEnvironment.
      ...
      33. If PrivateBoundIdentifiers of ClassBody contains a Private Name P such that P's [[Kind]] field is either "method" or "accessor" and P's [[Brand]] is F,
        a. PrivateBrandAdd(F, F).
      34. For each item fieldRecord in order from staticFields,
        a. Perform ? DefineField(F, field).
      FieldDefinition : ClassElementName Initializer_opt
        1. Let name be the result of evaluating ClassElementName.
        2. ReturnIfAbrupt(name).
        3. If Initializer_opt is present,
          a. Let lex be the Lexical Environment of the running execution context.
          b. Let formalParameterList be an instance of the production FormalParameters : [empty].
          c. Let privateScope be the PrivateEnvironment of the running execution context.
          d. Let initializer be FunctionCreate(Method, formalParameterList, Initializer, lex, true, privateScope).
          e. Perform MakeMethod(initializer, homeObject).
          f. Let isAnonymousFunctionDefinition be IsAnonymousFunctionDefinition(Initializer).
        4. Else,
          a. Let initializer be empty.
          b. Let isAnonymousFunctionDeclaration be false.
        5. Return a Record { [[Name]]: name, [[Initializer]]: initializer, [[IsAnonymousFunctionDefinition]]: isAnonymousFunctionDefinition }.
    MemberExpression : MemberExpression.PrivateIdentifier
      1. Let baseReference be the result of evaluating MemberExpression.
      2. Let baseValue be ? GetValue(baseReference).
      3. Let bv be ? RequireObjectCoercible(baseValue).
      4. Let fieldNameString be the StringValue of PrivateIdentifier.
      5. Return MakePrivateReference(bv, fieldNameString).
    MakePrivateReference(baseValue, privateIdentifier)
      1. Let env be the running execution context's PrivateEnvironment.
      2. Let privateNameBinding be ? ResolveBinding(privateIdentifier, env).
      3. Let privateName be GetValue(privateNameBinding).
      4. Assert: privateName is a Private Name.
      5. Return a value of type Reference whose base value is baseValue, whose referenced name is privateName, whose strict reference flag is true.
--- | 
          4000 | 
        
        
          | private-static-method-shadowed-by-method-on-nested-class.js | 
          ---
description: PrivateName of private static method can be shadowed on inner classes by a private method (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-static-methods-private, class-static-fields-public, class-methods-private, class]
flags: [generated]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateIdentifier
    ClassTail : ClassHeritage { ClassBody }
      ...
      6. Let classPrivateEnvironment be NewDeclarativeEnvironment(outerPrivateEnvironment).
      7. Let classPrivateEnvRec be classPrivateEnvironment's EnvironmentRecord.
      ...
      15. Set the running execution context's LexicalEnvironment to classScope.
      16. Set the running execution context's PrivateEnvironment to classPrivateEnvironment.
      ...
      33. If PrivateBoundIdentifiers of ClassBody contains a Private Name P such that P's [[Kind]] field is either "method" or "accessor" and P's [[Brand]] is F,
        a. PrivateBrandAdd(F, F).
      34. For each item fieldRecord in order from staticFields,
        a. Perform ? DefineField(F, field).
      FieldDefinition : ClassElementName Initializer_opt
        1. Let name be the result of evaluating ClassElementName.
        2. ReturnIfAbrupt(name).
        3. If Initializer_opt is present,
          a. Let lex be the Lexical Environment of the running execution context.
          b. Let formalParameterList be an instance of the production FormalParameters : [empty].
          c. Let privateScope be the PrivateEnvironment of the running execution context.
          d. Let initializer be FunctionCreate(Method, formalParameterList, Initializer, lex, true, privateScope).
          e. Perform MakeMethod(initializer, homeObject).
          f. Let isAnonymousFunctionDefinition be IsAnonymousFunctionDefinition(Initializer).
        4. Else,
          a. Let initializer be empty.
          b. Let isAnonymousFunctionDeclaration be false.
        5. Return a Record { [[Name]]: name, [[Initializer]]: initializer, [[IsAnonymousFunctionDefinition]]: isAnonymousFunctionDefinition }.
    MemberExpression : MemberExpression.PrivateIdentifier
      1. Let baseReference be the result of evaluating MemberExpression.
      2. Let baseValue be ? GetValue(baseReference).
      3. Let bv be ? RequireObjectCoercible(baseValue).
      4. Let fieldNameString be the StringValue of PrivateIdentifier.
      5. Return MakePrivateReference(bv, fieldNameString).
    MakePrivateReference(baseValue, privateIdentifier)
      1. Let env be the running execution context's PrivateEnvironment.
      2. Let privateNameBinding be ? ResolveBinding(privateIdentifier, env).
      3. Let privateName be GetValue(privateNameBinding).
      4. Assert: privateName is a Private Name.
      5. Return a value of type Reference whose base value is baseValue, whose referenced name is privateName, whose strict reference flag is true.
--- | 
          3998 | 
        
        
          | private-static-method-shadowed-by-setter-on-nested-class.js | 
          ---
description: PrivateName of private static method can be shadowed on inner classes by a private setter (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-static-methods-private, class-static-fields-public, class-methods-private, class]
flags: [generated]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateIdentifier
    ClassTail : ClassHeritage { ClassBody }
      ...
      6. Let classPrivateEnvironment be NewDeclarativeEnvironment(outerPrivateEnvironment).
      7. Let classPrivateEnvRec be classPrivateEnvironment's EnvironmentRecord.
      ...
      15. Set the running execution context's LexicalEnvironment to classScope.
      16. Set the running execution context's PrivateEnvironment to classPrivateEnvironment.
      ...
      33. If PrivateBoundIdentifiers of ClassBody contains a Private Name P such that P's [[Kind]] field is either "method" or "accessor" and P's [[Brand]] is F,
        a. PrivateBrandAdd(F, F).
      34. For each item fieldRecord in order from staticFields,
        a. Perform ? DefineField(F, field).
      FieldDefinition : ClassElementName Initializer_opt
        1. Let name be the result of evaluating ClassElementName.
        2. ReturnIfAbrupt(name).
        3. If Initializer_opt is present,
          a. Let lex be the Lexical Environment of the running execution context.
          b. Let formalParameterList be an instance of the production FormalParameters : [empty].
          c. Let privateScope be the PrivateEnvironment of the running execution context.
          d. Let initializer be FunctionCreate(Method, formalParameterList, Initializer, lex, true, privateScope).
          e. Perform MakeMethod(initializer, homeObject).
          f. Let isAnonymousFunctionDefinition be IsAnonymousFunctionDefinition(Initializer).
        4. Else,
          a. Let initializer be empty.
          b. Let isAnonymousFunctionDeclaration be false.
        5. Return a Record { [[Name]]: name, [[Initializer]]: initializer, [[IsAnonymousFunctionDefinition]]: isAnonymousFunctionDefinition }.
    MemberExpression : MemberExpression.PrivateIdentifier
      1. Let baseReference be the result of evaluating MemberExpression.
      2. Let baseValue be ? GetValue(baseReference).
      3. Let bv be ? RequireObjectCoercible(baseValue).
      4. Let fieldNameString be the StringValue of PrivateIdentifier.
      5. Return MakePrivateReference(bv, fieldNameString).
    MakePrivateReference(baseValue, privateIdentifier)
      1. Let env be the running execution context's PrivateEnvironment.
      2. Let privateNameBinding be ? ResolveBinding(privateIdentifier, env).
      3. Let privateName be GetValue(privateNameBinding).
      4. Assert: privateName is a Private Name.
      5. Return a value of type Reference whose base value is baseValue, whose referenced name is privateName, whose strict reference flag is true.
--- | 
          4007 | 
        
        
          | private-static-method-usage-inside-nested-class.js | 
          ---
description: PrivateName of private static method is available inside inner classes (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-static-methods-private, class-static-fields-public, class]
flags: [generated]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateIdentifier
    ClassTail : ClassHeritage { ClassBody }
      ...
      6. Let classPrivateEnvironment be NewDeclarativeEnvironment(outerPrivateEnvironment).
      7. Let classPrivateEnvRec be classPrivateEnvironment's EnvironmentRecord.
      ...
      15. Set the running execution context's LexicalEnvironment to classScope.
      16. Set the running execution context's PrivateEnvironment to classPrivateEnvironment.
      ...
      33. If PrivateBoundIdentifiers of ClassBody contains a Private Name P such that P's [[Kind]] field is either "method" or "accessor" and P's [[Brand]] is F,
        a. PrivateBrandAdd(F, F).
      34. For each item fieldRecord in order from staticFields,
        a. Perform ? DefineField(F, field).
      FieldDefinition : ClassElementName Initializer_opt
        1. Let name be the result of evaluating ClassElementName.
        2. ReturnIfAbrupt(name).
        3. If Initializer_opt is present,
          a. Let lex be the Lexical Environment of the running execution context.
          b. Let formalParameterList be an instance of the production FormalParameters : [empty].
          c. Let privateScope be the PrivateEnvironment of the running execution context.
          d. Let initializer be FunctionCreate(Method, formalParameterList, Initializer, lex, true, privateScope).
          e. Perform MakeMethod(initializer, homeObject).
          f. Let isAnonymousFunctionDefinition be IsAnonymousFunctionDefinition(Initializer).
        4. Else,
          a. Let initializer be empty.
          b. Let isAnonymousFunctionDeclaration be false.
        5. Return a Record { [[Name]]: name, [[Initializer]]: initializer, [[IsAnonymousFunctionDefinition]]: isAnonymousFunctionDefinition }.
    MemberExpression : MemberExpression.PrivateIdentifier
      1. Let baseReference be the result of evaluating MemberExpression.
      2. Let baseValue be ? GetValue(baseReference).
      3. Let bv be ? RequireObjectCoercible(baseValue).
      4. Let fieldNameString be the StringValue of PrivateIdentifier.
      5. Return MakePrivateReference(bv, fieldNameString).
    MakePrivateReference(baseValue, privateIdentifier)
      1. Let env be the running execution context's PrivateEnvironment.
      2. Let privateNameBinding be ? ResolveBinding(privateIdentifier, env).
      3. Let privateName be GetValue(privateNameBinding).
      4. Assert: privateName is a Private Name.
      5. Return a value of type Reference whose base value is baseValue, whose referenced name is privateName, whose strict reference flag is true.
--- | 
          3818 | 
        
        
          | private-ternary-init-err-contains-arguments.js | 
          ---
description: Syntax error if `arguments` used in class field (private field, ternary expression)
esid: sec-class-definitions-static-semantics-early-errors
features: [class, class-fields-public, class-fields-private]
flags: [generated]
negative:
  phase: parse
  type: SyntaxError
info: |
    Static Semantics: Early Errors
      FieldDefinition:
        PropertyNameInitializeropt
      - It is a Syntax Error if ContainsArguments of Initializer is true.
    Static Semantics: ContainsArguments
      IdentifierReference : Identifier
      1. If the StringValue of Identifier is "arguments", return true.
      ...
      For all other grammatical productions, recurse on all nonterminals. If any piece returns true, then return true. Otherwise return false.
--- | 
          1083 | 
        
        
          | private-ternary-init-err-contains-super.js | 
          ---
description: Syntax error if `super()` used in class field (private field, ternary expression)
esid: sec-class-definitions-static-semantics-early-errors
features: [class, class-fields-public, class-fields-private]
flags: [generated]
negative:
  phase: parse
  type: SyntaxError
info: |
    Static Semantics: Early Errors
      FieldDefinition:
        PropertyNameInitializeropt
      - It is a Syntax Error if Initializer is present and Initializer Contains SuperCall is true.
--- | 
          795 | 
        
        
          | private-typeof-init-err-contains-arguments.js | 
          ---
description: Syntax error if `arguments` used in class field (private field, typeof expression)
esid: sec-class-definitions-static-semantics-early-errors
features: [class, class-fields-public, class-fields-private]
flags: [generated]
negative:
  phase: parse
  type: SyntaxError
info: |
    Static Semantics: Early Errors
      FieldDefinition:
        PropertyNameInitializeropt
      - It is a Syntax Error if ContainsArguments of Initializer is true.
    Static Semantics: ContainsArguments
      IdentifierReference : Identifier
      1. If the StringValue of Identifier is "arguments", return true.
      ...
      For all other grammatical productions, recurse on all nonterminals. If any piece returns true, then return true. Otherwise return false.
--- | 
          1076 | 
        
        
          | private-typeof-init-err-contains-super.js | 
          ---
description: Syntax error if `super()` used in class field (private field, typeof expression)
esid: sec-class-definitions-static-semantics-early-errors
features: [class, class-fields-public, class-fields-private]
flags: [generated]
negative:
  phase: parse
  type: SyntaxError
info: |
    Static Semantics: Early Errors
      FieldDefinition:
        PropertyNameInitializeropt
      - It is a Syntax Error if Initializer is present and Initializer Contains SuperCall is true.
--- | 
          788 | 
        
        
          | prod-private-getter-before-super-return-in-constructor.js | 
          ---
description: Private getters are installed "when super returns" and no earlier (call in constructor) (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-methods-private, class]
flags: [generated]
info: |
    SuperCall: super Arguments
      1. Let newTarget be GetNewTarget().
      2. If newTarget is undefined, throw a ReferenceError exception.
      3. Let func be ? GetSuperConstructor().
      4. Let argList be ArgumentListEvaluation of Arguments.
      5. ReturnIfAbrupt(argList).
      6. Let result be ? Construct(func, argList, newTarget).
      7. Let thisER be GetThisEnvironment( ).
      8. Let F be thisER.[[FunctionObject]].
      9. Assert: F is an ECMAScript function object.
      10. Perform ? InitializeInstanceElements(result, F).
    EDITOR'S NOTE:
      Private fields are added to the object one by one, interspersed with
      evaluation of the initializers, following the construction of the
      receiver. These semantics allow for a later initializer to refer to
      a previous private field.
--- | 
          1591 | 
        
        
          | prod-private-getter-before-super-return-in-field-initializer.js | 
          ---
description: Private getters are installed "when super returns" and no earlier (call in field initializer) (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-public, class]
flags: [generated]
info: |
    SuperCall: super Arguments
      1. Let newTarget be GetNewTarget().
      2. If newTarget is undefined, throw a ReferenceError exception.
      3. Let func be ? GetSuperConstructor().
      4. Let argList be ArgumentListEvaluation of Arguments.
      5. ReturnIfAbrupt(argList).
      6. Let result be ? Construct(func, argList, newTarget).
      7. Let thisER be GetThisEnvironment( ).
      8. Let F be thisER.[[FunctionObject]].
      9. Assert: F is an ECMAScript function object.
      10. Perform ? InitializeInstanceElements(result, F).
    EDITOR'S NOTE:
      Private fields are added to the object one by one, interspersed with
      evaluation of the initializers, following the construction of the
      receiver. These semantics allow for a later initializer to refer to
      a previous private field.
--- | 
          1602 | 
        
        
          | prod-private-method-before-super-return-in-constructor.js | 
          ---
description: Private methods are installed "when super returns" and no earlier (call in constructor) (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-methods-private, class]
flags: [generated]
info: |
    SuperCall: super Arguments
      1. Let newTarget be GetNewTarget().
      2. If newTarget is undefined, throw a ReferenceError exception.
      3. Let func be ? GetSuperConstructor().
      4. Let argList be ArgumentListEvaluation of Arguments.
      5. ReturnIfAbrupt(argList).
      6. Let result be ? Construct(func, argList, newTarget).
      7. Let thisER be GetThisEnvironment( ).
      8. Let F be thisER.[[FunctionObject]].
      9. Assert: F is an ECMAScript function object.
      10. Perform ? InitializeInstanceElements(result, F).
    EDITOR'S NOTE:
      Private fields are added to the object one by one, interspersed with
      evaluation of the initializers, following the construction of the
      receiver. These semantics allow for a later initializer to refer to
      a previous private field.
--- | 
          1589 | 
        
        
          | prod-private-method-before-super-return-in-field-initializer.js | 
          ---
description: Private methods are installed "when super returns" and no earlier (call in field initializer) (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-public, class]
flags: [generated]
info: |
    SuperCall: super Arguments
      1. Let newTarget be GetNewTarget().
      2. If newTarget is undefined, throw a ReferenceError exception.
      3. Let func be ? GetSuperConstructor().
      4. Let argList be ArgumentListEvaluation of Arguments.
      5. ReturnIfAbrupt(argList).
      6. Let result be ? Construct(func, argList, newTarget).
      7. Let thisER be GetThisEnvironment( ).
      8. Let F be thisER.[[FunctionObject]].
      9. Assert: F is an ECMAScript function object.
      10. Perform ? InitializeInstanceElements(result, F).
    EDITOR'S NOTE:
      Private fields are added to the object one by one, interspersed with
      evaluation of the initializers, following the construction of the
      receiver. These semantics allow for a later initializer to refer to
      a previous private field.
--- | 
          1600 | 
        
        
          | prod-private-setter-before-super-return-in-constructor.js | 
          ---
description: Private setters are installed "when super returns" and no earlier (call in constructor) (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-methods-private, class]
flags: [generated]
info: |
    SuperCall: super Arguments
      1. Let newTarget be GetNewTarget().
      2. If newTarget is undefined, throw a ReferenceError exception.
      3. Let func be ? GetSuperConstructor().
      4. Let argList be ArgumentListEvaluation of Arguments.
      5. ReturnIfAbrupt(argList).
      6. Let result be ? Construct(func, argList, newTarget).
      7. Let thisER be GetThisEnvironment( ).
      8. Let F be thisER.[[FunctionObject]].
      9. Assert: F is an ECMAScript function object.
      10. Perform ? InitializeInstanceElements(result, F).
    EDITOR'S NOTE:
      Private fields are added to the object one by one, interspersed with
      evaluation of the initializers, following the construction of the
      receiver. These semantics allow for a later initializer to refer to
      a previous private field.
--- | 
          1587 | 
        
        
          | prod-private-setter-before-super-return-in-field-initializer.js | 
          ---
description: Private settters are installed "when super returns" and no earlier (call in field initializer) (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-public, class]
flags: [generated]
info: |
    SuperCall: super Arguments
      1. Let newTarget be GetNewTarget().
      2. If newTarget is undefined, throw a ReferenceError exception.
      3. Let func be ? GetSuperConstructor().
      4. Let argList be ArgumentListEvaluation of Arguments.
      5. ReturnIfAbrupt(argList).
      6. Let result be ? Construct(func, argList, newTarget).
      7. Let thisER be GetThisEnvironment( ).
      8. Let F be thisER.[[FunctionObject]].
      9. Assert: F is an ECMAScript function object.
      10. Perform ? InitializeInstanceElements(result, F).
    EDITOR'S NOTE:
      Private fields are added to the object one by one, interspersed with
      evaluation of the initializers, following the construction of the
      receiver. These semantics allow for a later initializer to refer to
      a previous private field.
--- | 
          1599 | 
        
        
          | redeclaration-symbol.js | 
          ---
description: Redeclaration of public fields with the same name (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-fields-public, class]
flags: [generated]
includes: [propertyHelper.js, compareArray.js]
info: |
    2.13.2 Runtime Semantics: ClassDefinitionEvaluation
    ...
    30. Set the value of F's [[Fields]] internal slot to fieldRecords.
    ...
    2.14 [[Construct]] ( argumentsList, newTarget)
    ...
    8. If kind is "base", then
      ...
      b. Let result be InitializeInstanceFields(thisArgument, F).
    ...
    2.9 InitializeInstanceFields ( O, constructor )
    3. Let fieldRecords be the value of constructor's [[Fields]] internal slot.
    4. For each item fieldRecord in order from fieldRecords,
      a. If fieldRecord.[[static]] is false, then
        i. Perform ? DefineField(O, fieldRecord).
--- | 
          1634 | 
        
        
          | redeclaration.js | 
          ---
description: Redeclaration of public fields with the same name (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-fields-public, computed-property-names, class]
flags: [generated]
includes: [propertyHelper.js, compareArray.js]
info: |
    2.13.2 Runtime Semantics: ClassDefinitionEvaluation
    ...
    30. Set the value of F's [[Fields]] internal slot to fieldRecords.
    ...
    2.14 [[Construct]] ( argumentsList, newTarget)
    ...
    8. If kind is "base", then
      ...
      b. Let result be InitializeInstanceFields(thisArgument, F).
    ...
    2.9 InitializeInstanceFields ( O, constructor )
    3. Let fieldRecords be the value of constructor's [[Fields]] internal slot.
    4. For each item fieldRecord in order from fieldRecords,
      a. If fieldRecord.[[static]] is false, then
        i. Perform ? DefineField(O, fieldRecord).
--- | 
          1683 | 
        
        
          | regular-definitions-computed-names.js | 
          ---
description: Computed property names (regular fields defintion)
esid: prod-FieldDefinition
features: [class-fields-public, computed-property-names, class]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      FieldDefinition ;
    FieldDefinition:
      ClassElementName Initializer_opt
    ClassElementName:
      PropertyName
--- | 
          2172 | 
        
        
          | regular-definitions-computed-symbol-names.js | 
          ---
description: Computed property symbol names (regular fields defintion)
esid: prod-FieldDefinition
features: [class-fields-public, Symbol, computed-property-names, class]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      FieldDefinition ;
    FieldDefinition:
      ClassElementName Initializer_opt
    ClassElementName:
      PropertyName
--- | 
          2131 | 
        
        
          | regular-definitions-grammar-privatename-identifier-semantics-stringvalue.js | 
          ---
description: PrivateName Static Semantics, StringValue (regular fields defintion)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public]
flags: [generated]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
    1. Return the String value consisting of the sequence of code
      units corresponding to PrivateName. In determining the sequence
      any occurrences of \ UnicodeEscapeSequence are first replaced
      with the code point represented by the UnicodeEscapeSequence
      and then the code points of the entire PrivateName are converted
      to code units by UTF16Encoding (10.1.1) each code point.
--- | 
          2390 | 
        
        
          | regular-definitions-literal-names-asi.js | 
          ---
description: Literal property names with ASI (regular fields defintion)
esid: prod-FieldDefinition
features: [class-fields-public, class]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      FieldDefinition ;
    FieldDefinition:
      ClassElementName Initializer_opt
    ClassElementName:
      PropertyName
--- | 
          1326 | 
        
        
          | regular-definitions-literal-names.js | 
          ---
description: Literal property names (regular fields defintion)
esid: prod-FieldDefinition
features: [class-fields-public, class]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      FieldDefinition ;
    FieldDefinition:
      ClassElementName Initializer_opt
    ClassElementName:
      PropertyName
--- | 
          1693 | 
        
        
          | regular-definitions-private-field-usage.js | 
          ---
description: PrivateName CallExpression usage (private field) (regular fields defintion)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public]
flags: [generated]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateName
--- | 
          1016 | 
        
        
          | regular-definitions-private-method-getter-usage.js | 
          ---
description: PrivateName CallExpression usage (Accesor get method) (regular fields defintion)
esid: prod-FieldDefinition
features: [class-methods-private, class, class-fields-public]
flags: [generated]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateName
--- | 
          1045 | 
        
        
          | regular-definitions-private-method-usage.js | 
          ---
description: PrivateName CallExpression usage (private method) (regular fields defintion)
esid: prod-FieldDefinition
features: [class-methods-private, class, class-fields-public]
flags: [generated]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateName
--- | 
          1032 | 
        
        
          | regular-definitions-private-names.js | 
          ---
description: private names (regular fields defintion)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public]
flags: [generated]
info: |
    ClassElement :
      ...
      FieldDefinition ;
    FieldDefinition :
      ClassElementName Initializer_opt
    ClassElementName :
      PrivateName
    PrivateName :
      # IdentifierName
--- | 
          1593 | 
        
        
          | regular-definitions-rs-field-identifier-initializer.js | 
          ---
description: Valid FieldDefinition (regular fields defintion)
esid: prod-FieldDefinition
features: [class-fields-public, class]
flags: [generated]
info: |
    ClassElement :
      ...
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
    PropertyName :
      LiteralPropertyName
      ComputedPropertyName
    LiteralPropertyName :
      IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          1648 | 
        
        
          | regular-definitions-rs-field-identifier.js | 
          ---
description: Valid FieldDefinition (regular fields defintion)
esid: prod-FieldDefinition
features: [class-fields-public, class]
flags: [generated]
info: |
    ClassElement :
      ...
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
    PropertyName :
      LiteralPropertyName
      ComputedPropertyName
    LiteralPropertyName :
      IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          1698 | 
        
        
          | regular-definitions-rs-private-getter-alt.js | 
          ---
description: Valid PrivateName as private getter (regular fields defintion)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public]
flags: [generated]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ...
      get ClassElementName ( ){ FunctionBody }
      ...
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2343 | 
        
        
          | regular-definitions-rs-private-getter.js | 
          ---
description: Valid PrivateName as private getter (regular fields defintion)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public]
flags: [generated]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ...
      get ClassElementName ( ){ FunctionBody }
      ...
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2402 | 
        
        
          | regular-definitions-rs-private-method-alt.js | 
          ---
description: Valid PrivateName as private method (regular fields defintion)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public]
flags: [generated]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ClassElementName ( UniqueFormalParameters ) { FunctionBody }
      ...
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2341 | 
        
        
          | regular-definitions-rs-private-method.js | 
          ---
description: Valid PrivateName as private method (regular fields defintion)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public]
flags: [generated]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ClassElementName ( UniqueFormalParameters ) { FunctionBody }
      ...
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2400 | 
        
        
          | regular-definitions-rs-private-setter-alt.js | 
          ---
description: Valid PrivateName as private setter (regular fields defintion)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public]
flags: [generated]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ...
      set ClassElementName ( PropertySetParameterList ) { FunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2395 | 
        
        
          | regular-definitions-rs-private-setter.js | 
          ---
description: Valid PrivateName as private setter (regular fields defintion)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public]
flags: [generated]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ...
      set ClassElementName ( PropertySetParameterList ) { FunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2454 | 
        
        
          | regular-definitions-rs-privatename-identifier-alt.js | 
          ---
description: Valid PrivateName (regular fields defintion)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public]
flags: [generated]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2041 | 
        
        
          | regular-definitions-rs-privatename-identifier-initializer-alt.js | 
          ---
description: Valid PrivateName (regular fields defintion)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public]
flags: [generated]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          1893 | 
        
        
          | regular-definitions-rs-privatename-identifier-initializer.js | 
          ---
description: Valid PrivateName (regular fields defintion)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public]
flags: [generated]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          1925 | 
        
        
          | regular-definitions-rs-privatename-identifier.js | 
          ---
description: Valid PrivateName (regular fields defintion)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public]
flags: [generated]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2082 | 
        
        
          | regular-definitions-rs-static-async-generator-method-privatename-identifier-alt.js | 
          ---
description: Valid Static AsyncGeneratorMethod PrivateName (regular fields defintion)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public]
flags: [generated, async]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      AsyncGeneratorMethod
    AsyncGeneratorMethod :
      async [no LineTerminator here] * ClassElementName ( UniqueFormalParameters){ AsyncGeneratorBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2933 | 
        
        
          | regular-definitions-rs-static-async-generator-method-privatename-identifier.js | 
          ---
description: Valid Static AsyncGeneratorMethod PrivateName (regular fields defintion)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public]
flags: [generated, async]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      AsyncGeneratorMethod
    AsyncGeneratorMethod :
      async [no LineTerminator here] * ClassElementName ( UniqueFormalParameters){ AsyncGeneratorBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2752 | 
        
        
          | regular-definitions-rs-static-async-method-privatename-identifier-alt.js | 
          ---
description: Valid Static AsyncMethod PrivateName (regular fields defintion)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public]
flags: [generated, async]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      AsyncMethod
    AsyncMethod :
      async [no LineTerminator here] ClassElementName ( UniqueFormalParameters ){ AsyncFunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2912 | 
        
        
          | regular-definitions-rs-static-async-method-privatename-identifier.js | 
          ---
description: Valid Static AsyncMethod PrivateName (regular fields defintion)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public]
flags: [generated, async]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      AsyncMethod
    AsyncMethod :
      async [no LineTerminator here] ClassElementName ( UniqueFormalParameters ){ AsyncFunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2725 | 
        
        
          | regular-definitions-rs-static-generator-method-privatename-identifier-alt.js | 
          ---
description: Valid Static GeneratorMethod PrivateName (regular fields defintion)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public]
flags: [generated]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      GeneratorMethod
    GeneratorMethod :
 ClassElementName ( UniqueFormalParameters ){ GeneratorBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2531 | 
        
        
          | regular-definitions-rs-static-generator-method-privatename-identifier.js | 
          ---
description: Valid Static GeneratorMethod PrivateName (regular fields defintion)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public]
flags: [generated]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      GeneratorMethod
    GeneratorMethod :
 ClassElementName ( UniqueFormalParameters ){ GeneratorBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2464 | 
        
        
          | regular-definitions-rs-static-method-privatename-identifier-alt.js | 
          ---
description: Valid Static Method PrivateName (regular fields defintion)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public]
flags: [generated]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      ClassElementName ( UniqueFormalParameters ){ FunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2525 | 
        
        
          | regular-definitions-rs-static-method-privatename-identifier.js | 
          ---
description: Valid Static Method PrivateName (regular fields defintion)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public]
flags: [generated]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      ClassElementName ( UniqueFormalParameters ){ FunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2337 | 
        
        
          | regular-definitions-rs-static-privatename-identifier-alt-by-classname.js | 
          ---
description: Valid Static PrivateName (regular fields defintion)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public]
flags: [generated]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2390 | 
        
        
          | regular-definitions-rs-static-privatename-identifier-alt.js | 
          ---
description: Valid Static PrivateName (regular fields defintion)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public]
flags: [generated]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2413 | 
        
        
          | regular-definitions-rs-static-privatename-identifier-by-classname.js | 
          ---
description: Valid Static PrivateName (regular fields defintion)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public]
flags: [generated]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2195 | 
        
        
          | regular-definitions-rs-static-privatename-identifier-initializer-alt-by-classname.js | 
          ---
description: Valid Static PrivateName (regular fields defintion)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public]
flags: [generated]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2024 | 
        
        
          | regular-definitions-rs-static-privatename-identifier-initializer-alt.js | 
          ---
description: Valid Static PrivateName (regular fields defintion)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public]
flags: [generated]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2029 | 
        
        
          | regular-definitions-rs-static-privatename-identifier-initializer.js | 
          ---
description: Valid Static PrivateName (regular fields defintion)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public]
flags: [generated]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2061 | 
        
        
          | regular-definitions-rs-static-privatename-identifier.js | 
          ---
description: Valid Static PrivateName (regular fields defintion)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public]
flags: [generated]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2218 | 
        
        
          | regular-definitions-static-private-fields.js | 
          ---
description: static private fields (regular fields defintion)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public]
flags: [generated]
info: |
    ClassElement :
      ...
      static FieldDefinition ;
    FieldDefinition :
      ClassElementName Initializer_opt
    ClassElementName :
      PrivateName
    PrivateName :
      # IdentifierName
--- | 
          1651 | 
        
        
          | regular-definitions-static-private-methods-with-fields.js | 
          ---
description: static private methods with fields (regular fields defintion)
esid: prod-FieldDefinition
features: [class-static-methods-private, class-static-fields-private, class, class-fields-public]
flags: [generated]
info: |
    ClassElement :
      ...
      static FieldDefinition ;
    FieldDefinition :
      ClassElementName Initializer_opt
    ClassElementName :
      PrivateName
    PrivateName :
      # IdentifierName
--- | 
          2413 | 
        
        
          | regular-definitions-static-private-methods.js | 
          ---
description: static private methods (regular fields defintion)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public]
flags: [generated]
info: |
    ClassElement :
      ...
      static FieldDefinition ;
    FieldDefinition :
      ClassElementName Initializer_opt
    ClassElementName :
      PrivateName
    PrivateName :
      # IdentifierName
--- | 
          1701 | 
        
        
          | regular-definitions-string-literal-names.js | 
          ---
description: String literal names (regular fields defintion)
esid: prod-FieldDefinition
features: [class-fields-public, class]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      FieldDefinition ;
    FieldDefinition:
      ClassElementName Initializer_opt
    ClassElementName:
      PropertyName
--- | 
          2042 | 
        
        
          | same-line-async-gen-computed-names.js | 
          ---
description: Computed property names (field definitions after an async generator in the same line)
esid: prod-FieldDefinition
features: [class-fields-public, computed-property-names, class, async-iteration]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      FieldDefinition ;
    FieldDefinition:
      ClassElementName Initializer_opt
    ClassElementName:
      PropertyName
--- | 
          3110 | 
        
        
          | same-line-async-gen-computed-symbol-names.js | 
          ---
description: Computed property symbol names (field definitions after an async generator in the same line)
esid: prod-FieldDefinition
features: [class-fields-public, Symbol, computed-property-names, class, async-iteration]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      FieldDefinition ;
    FieldDefinition:
      ClassElementName Initializer_opt
    ClassElementName:
      PropertyName
--- | 
          3061 | 
        
        
          | same-line-async-gen-grammar-privatename-identifier-semantics-stringvalue.js | 
          ---
description: PrivateName Static Semantics, StringValue (field definitions after an async generator in the same line)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public, async-iteration]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
    1. Return the String value consisting of the sequence of code
      units corresponding to PrivateName. In determining the sequence
      any occurrences of \ UnicodeEscapeSequence are first replaced
      with the code point represented by the UnicodeEscapeSequence
      and then the code points of the entire PrivateName are converted
      to code units by UTF16Encoding (10.1.1) each code point.
--- | 
          3158 | 
        
        
          | same-line-async-gen-literal-names-asi.js | 
          ---
description: Literal property names with ASI (field definitions after an async generator in the same line)
esid: prod-FieldDefinition
features: [class-fields-public, class, async-iteration]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      FieldDefinition ;
    FieldDefinition:
      ClassElementName Initializer_opt
    ClassElementName:
      PropertyName
--- | 
          2160 | 
        
        
          | same-line-async-gen-literal-names.js | 
          ---
description: Literal property names (field definitions after an async generator in the same line)
esid: prod-FieldDefinition
features: [class-fields-public, class, async-iteration]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      FieldDefinition ;
    FieldDefinition:
      ClassElementName Initializer_opt
    ClassElementName:
      PropertyName
--- | 
          2583 | 
        
        
          | same-line-async-gen-private-field-usage.js | 
          ---
description: PrivateName CallExpression usage (private field) (field definitions after an async generator in the same line)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public, async-iteration]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateName
--- | 
          1772 | 
        
        
          | same-line-async-gen-private-method-getter-usage.js | 
          ---
description: PrivateName CallExpression usage (Accesor get method) (field definitions after an async generator in the same line)
esid: prod-FieldDefinition
features: [class-methods-private, class, class-fields-public, async-iteration]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateName
--- | 
          1801 | 
        
        
          | same-line-async-gen-private-method-usage.js | 
          ---
description: PrivateName CallExpression usage (private method) (field definitions after an async generator in the same line)
esid: prod-FieldDefinition
features: [class-methods-private, class, class-fields-public, async-iteration]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateName
--- | 
          1788 | 
        
        
          | same-line-async-gen-private-names.js | 
          ---
description: private names (field definitions after an async generator in the same line)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public, async-iteration]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      FieldDefinition ;
    FieldDefinition :
      ClassElementName Initializer_opt
    ClassElementName :
      PrivateName
    PrivateName :
      # IdentifierName
--- | 
          2397 | 
        
        
          | same-line-async-gen-rs-field-identifier-initializer.js | 
          ---
description: Valid FieldDefinition (field definitions after an async generator in the same line)
esid: prod-FieldDefinition
features: [class-fields-public, class, async-iteration]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
    PropertyName :
      LiteralPropertyName
      ComputedPropertyName
    LiteralPropertyName :
      IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2424 | 
        
        
          | same-line-async-gen-rs-field-identifier.js | 
          ---
description: Valid FieldDefinition (field definitions after an async generator in the same line)
esid: prod-FieldDefinition
features: [class-fields-public, class, async-iteration]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
    PropertyName :
      LiteralPropertyName
      ComputedPropertyName
    LiteralPropertyName :
      IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2498 | 
        
        
          | same-line-async-gen-rs-private-getter-alt.js | 
          ---
description: Valid PrivateName as private getter (field definitions after an async generator in the same line)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public, async-iteration]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ...
      get ClassElementName ( ){ FunctionBody }
      ...
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3119 | 
        
        
          | same-line-async-gen-rs-private-getter.js | 
          ---
description: Valid PrivateName as private getter (field definitions after an async generator in the same line)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public, async-iteration]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ...
      get ClassElementName ( ){ FunctionBody }
      ...
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3178 | 
        
        
          | same-line-async-gen-rs-private-method-alt.js | 
          ---
description: Valid PrivateName as private method (field definitions after an async generator in the same line)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public, async-iteration]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ClassElementName ( UniqueFormalParameters ) { FunctionBody }
      ...
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3117 | 
        
        
          | same-line-async-gen-rs-private-method.js | 
          ---
description: Valid PrivateName as private method (field definitions after an async generator in the same line)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public, async-iteration]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ClassElementName ( UniqueFormalParameters ) { FunctionBody }
      ...
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3176 | 
        
        
          | same-line-async-gen-rs-private-setter-alt.js | 
          ---
description: Valid PrivateName as private setter (field definitions after an async generator in the same line)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public, async-iteration]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ...
      set ClassElementName ( PropertySetParameterList ) { FunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3171 | 
        
        
          | same-line-async-gen-rs-private-setter.js | 
          ---
description: Valid PrivateName as private setter (field definitions after an async generator in the same line)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public, async-iteration]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ...
      set ClassElementName ( PropertySetParameterList ) { FunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3230 | 
        
        
          | same-line-async-gen-rs-privatename-identifier-alt.js | 
          ---
description: Valid PrivateName (field definitions after an async generator in the same line)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public, async-iteration]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2817 | 
        
        
          | same-line-async-gen-rs-privatename-identifier-initializer-alt.js | 
          ---
description: Valid PrivateName (field definitions after an async generator in the same line)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public, async-iteration]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2669 | 
        
        
          | same-line-async-gen-rs-privatename-identifier-initializer.js | 
          ---
description: Valid PrivateName (field definitions after an async generator in the same line)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public, async-iteration]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2701 | 
        
        
          | same-line-async-gen-rs-privatename-identifier.js | 
          ---
description: Valid PrivateName (field definitions after an async generator in the same line)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public, async-iteration]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2858 | 
        
        
          | same-line-async-gen-rs-static-async-generator-method-privatename-identifier-alt.js | 
          ---
description: Valid Static AsyncGeneratorMethod PrivateName (field definitions after an async generator in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public, async-iteration]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      AsyncGeneratorMethod
    AsyncGeneratorMethod :
      async [no LineTerminator here] * ClassElementName ( UniqueFormalParameters){ AsyncGeneratorBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3741 | 
        
        
          | same-line-async-gen-rs-static-async-generator-method-privatename-identifier.js | 
          ---
description: Valid Static AsyncGeneratorMethod PrivateName (field definitions after an async generator in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public, async-iteration]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      AsyncGeneratorMethod
    AsyncGeneratorMethod :
      async [no LineTerminator here] * ClassElementName ( UniqueFormalParameters){ AsyncGeneratorBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3560 | 
        
        
          | same-line-async-gen-rs-static-async-method-privatename-identifier-alt.js | 
          ---
description: Valid Static AsyncMethod PrivateName (field definitions after an async generator in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public, async-iteration]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      AsyncMethod
    AsyncMethod :
      async [no LineTerminator here] ClassElementName ( UniqueFormalParameters ){ AsyncFunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3720 | 
        
        
          | same-line-async-gen-rs-static-async-method-privatename-identifier.js | 
          ---
description: Valid Static AsyncMethod PrivateName (field definitions after an async generator in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public, async-iteration]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      AsyncMethod
    AsyncMethod :
      async [no LineTerminator here] ClassElementName ( UniqueFormalParameters ){ AsyncFunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3533 | 
        
        
          | same-line-async-gen-rs-static-generator-method-privatename-identifier-alt.js | 
          ---
description: Valid Static GeneratorMethod PrivateName (field definitions after an async generator in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public, async-iteration]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      GeneratorMethod
    GeneratorMethod :
 ClassElementName ( UniqueFormalParameters ){ GeneratorBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3307 | 
        
        
          | same-line-async-gen-rs-static-generator-method-privatename-identifier.js | 
          ---
description: Valid Static GeneratorMethod PrivateName (field definitions after an async generator in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public, async-iteration]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      GeneratorMethod
    GeneratorMethod :
 ClassElementName ( UniqueFormalParameters ){ GeneratorBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3240 | 
        
        
          | same-line-async-gen-rs-static-method-privatename-identifier-alt.js | 
          ---
description: Valid Static Method PrivateName (field definitions after an async generator in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public, async-iteration]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      ClassElementName ( UniqueFormalParameters ){ FunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3301 | 
        
        
          | same-line-async-gen-rs-static-method-privatename-identifier.js | 
          ---
description: Valid Static Method PrivateName (field definitions after an async generator in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public, async-iteration]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      ClassElementName ( UniqueFormalParameters ){ FunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3113 | 
        
        
          | same-line-async-gen-rs-static-privatename-identifier-alt-by-classname.js | 
          ---
description: Valid Static PrivateName (field definitions after an async generator in the same line)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public, async-iteration]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3166 | 
        
        
          | same-line-async-gen-rs-static-privatename-identifier-alt.js | 
          ---
description: Valid Static PrivateName (field definitions after an async generator in the same line)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public, async-iteration]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3189 | 
        
        
          | same-line-async-gen-rs-static-privatename-identifier-by-classname.js | 
          ---
description: Valid Static PrivateName (field definitions after an async generator in the same line)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public, async-iteration]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2971 | 
        
        
          | same-line-async-gen-rs-static-privatename-identifier-initializer-alt-by-classname.js | 
          ---
description: Valid Static PrivateName (field definitions after an async generator in the same line)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public, async-iteration]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2800 | 
        
        
          | same-line-async-gen-rs-static-privatename-identifier-initializer-alt.js | 
          ---
description: Valid Static PrivateName (field definitions after an async generator in the same line)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public, async-iteration]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2805 | 
        
        
          | same-line-async-gen-rs-static-privatename-identifier-initializer.js | 
          ---
description: Valid Static PrivateName (field definitions after an async generator in the same line)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public, async-iteration]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2837 | 
        
        
          | same-line-async-gen-rs-static-privatename-identifier.js | 
          ---
description: Valid Static PrivateName (field definitions after an async generator in the same line)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public, async-iteration]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2994 | 
        
        
          | same-line-async-gen-static-private-fields.js | 
          ---
description: static private fields (field definitions after an async generator in the same line)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public, async-iteration]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      static FieldDefinition ;
    FieldDefinition :
      ClassElementName Initializer_opt
    ClassElementName :
      PrivateName
    PrivateName :
      # IdentifierName
--- | 
          2455 | 
        
        
          | same-line-async-gen-static-private-methods-with-fields.js | 
          ---
description: static private methods with fields (field definitions after an async generator in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, class-static-fields-private, class, class-fields-public, async-iteration]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      static FieldDefinition ;
    FieldDefinition :
      ClassElementName Initializer_opt
    ClassElementName :
      PrivateName
    PrivateName :
      # IdentifierName
--- | 
          3249 | 
        
        
          | same-line-async-gen-static-private-methods.js | 
          ---
description: static private methods (field definitions after an async generator in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public, async-iteration]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      static FieldDefinition ;
    FieldDefinition :
      ClassElementName Initializer_opt
    ClassElementName :
      PrivateName
    PrivateName :
      # IdentifierName
--- | 
          2505 | 
        
        
          | same-line-async-gen-string-literal-names.js | 
          ---
description: String literal names (field definitions after an async generator in the same line)
esid: prod-FieldDefinition
features: [class-fields-public, class, async-iteration]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      FieldDefinition ;
    FieldDefinition:
      ClassElementName Initializer_opt
    ClassElementName:
      PropertyName
--- | 
          2988 | 
        
        
          | same-line-async-method-computed-names.js | 
          ---
description: Computed property names (field definitions after an async method in the same line)
esid: prod-FieldDefinition
features: [class-fields-public, computed-property-names, class, async-functions]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      FieldDefinition ;
    FieldDefinition:
      ClassElementName Initializer_opt
    ClassElementName:
      PropertyName
--- | 
          3062 | 
        
        
          | same-line-async-method-computed-symbol-names.js | 
          ---
description: Computed property symbol names (field definitions after an async method in the same line)
esid: prod-FieldDefinition
features: [class-fields-public, Symbol, computed-property-names, class, async-functions]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      FieldDefinition ;
    FieldDefinition:
      ClassElementName Initializer_opt
    ClassElementName:
      PropertyName
--- | 
          3013 | 
        
        
          | same-line-async-method-grammar-privatename-identifier-semantics-stringvalue.js | 
          ---
description: PrivateName Static Semantics, StringValue (field definitions after an async method in the same line)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public, async-functions]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
    1. Return the String value consisting of the sequence of code
      units corresponding to PrivateName. In determining the sequence
      any occurrences of \ UnicodeEscapeSequence are first replaced
      with the code point represented by the UnicodeEscapeSequence
      and then the code points of the entire PrivateName are converted
      to code units by UTF16Encoding (10.1.1) each code point.
--- | 
          3110 | 
        
        
          | same-line-async-method-literal-names-asi.js | 
          ---
description: Literal property names with ASI (field definitions after an async method in the same line)
esid: prod-FieldDefinition
features: [class-fields-public, class, async-functions]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      FieldDefinition ;
    FieldDefinition:
      ClassElementName Initializer_opt
    ClassElementName:
      PropertyName
--- | 
          2112 | 
        
        
          | same-line-async-method-literal-names.js | 
          ---
description: Literal property names (field definitions after an async method in the same line)
esid: prod-FieldDefinition
features: [class-fields-public, class, async-functions]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      FieldDefinition ;
    FieldDefinition:
      ClassElementName Initializer_opt
    ClassElementName:
      PropertyName
--- | 
          2535 | 
        
        
          | same-line-async-method-private-field-usage.js | 
          ---
description: PrivateName CallExpression usage (private field) (field definitions after an async method in the same line)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public, async-functions]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateName
--- | 
          1724 | 
        
        
          | same-line-async-method-private-method-getter-usage.js | 
          ---
description: PrivateName CallExpression usage (Accesor get method) (field definitions after an async method in the same line)
esid: prod-FieldDefinition
features: [class-methods-private, class, class-fields-public, async-functions]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateName
--- | 
          1753 | 
        
        
          | same-line-async-method-private-method-usage.js | 
          ---
description: PrivateName CallExpression usage (private method) (field definitions after an async method in the same line)
esid: prod-FieldDefinition
features: [class-methods-private, class, class-fields-public, async-functions]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateName
--- | 
          1740 | 
        
        
          | same-line-async-method-private-names.js | 
          ---
description: private names (field definitions after an async method in the same line)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public, async-functions]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      FieldDefinition ;
    FieldDefinition :
      ClassElementName Initializer_opt
    ClassElementName :
      PrivateName
    PrivateName :
      # IdentifierName
--- | 
          2349 | 
        
        
          | same-line-async-method-rs-field-identifier-initializer.js | 
          ---
description: Valid FieldDefinition (field definitions after an async method in the same line)
esid: prod-FieldDefinition
features: [class-fields-public, class, async-functions]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
    PropertyName :
      LiteralPropertyName
      ComputedPropertyName
    LiteralPropertyName :
      IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2376 | 
        
        
          | same-line-async-method-rs-field-identifier.js | 
          ---
description: Valid FieldDefinition (field definitions after an async method in the same line)
esid: prod-FieldDefinition
features: [class-fields-public, class, async-functions]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
    PropertyName :
      LiteralPropertyName
      ComputedPropertyName
    LiteralPropertyName :
      IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2450 | 
        
        
          | same-line-async-method-rs-private-getter-alt.js | 
          ---
description: Valid PrivateName as private getter (field definitions after an async method in the same line)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public, async-functions]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ...
      get ClassElementName ( ){ FunctionBody }
      ...
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3071 | 
        
        
          | same-line-async-method-rs-private-getter.js | 
          ---
description: Valid PrivateName as private getter (field definitions after an async method in the same line)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public, async-functions]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ...
      get ClassElementName ( ){ FunctionBody }
      ...
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3130 | 
        
        
          | same-line-async-method-rs-private-method-alt.js | 
          ---
description: Valid PrivateName as private method (field definitions after an async method in the same line)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public, async-functions]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ClassElementName ( UniqueFormalParameters ) { FunctionBody }
      ...
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3069 | 
        
        
          | same-line-async-method-rs-private-method.js | 
          ---
description: Valid PrivateName as private method (field definitions after an async method in the same line)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public, async-functions]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ClassElementName ( UniqueFormalParameters ) { FunctionBody }
      ...
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3128 | 
        
        
          | same-line-async-method-rs-private-setter-alt.js | 
          ---
description: Valid PrivateName as private setter (field definitions after an async method in the same line)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public, async-functions]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ...
      set ClassElementName ( PropertySetParameterList ) { FunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3123 | 
        
        
          | same-line-async-method-rs-private-setter.js | 
          ---
description: Valid PrivateName as private setter (field definitions after an async method in the same line)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public, async-functions]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ...
      set ClassElementName ( PropertySetParameterList ) { FunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3182 | 
        
        
          | same-line-async-method-rs-privatename-identifier-alt.js | 
          ---
description: Valid PrivateName (field definitions after an async method in the same line)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public, async-functions]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2769 | 
        
        
          | same-line-async-method-rs-privatename-identifier-initializer-alt.js | 
          ---
description: Valid PrivateName (field definitions after an async method in the same line)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public, async-functions]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2621 | 
        
        
          | same-line-async-method-rs-privatename-identifier-initializer.js | 
          ---
description: Valid PrivateName (field definitions after an async method in the same line)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public, async-functions]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2653 | 
        
        
          | same-line-async-method-rs-privatename-identifier.js | 
          ---
description: Valid PrivateName (field definitions after an async method in the same line)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public, async-functions]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2810 | 
        
        
          | same-line-async-method-rs-static-async-generator-method-privatename-identifier-alt.js | 
          ---
description: Valid Static AsyncGeneratorMethod PrivateName (field definitions after an async method in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public, async-functions]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      AsyncGeneratorMethod
    AsyncGeneratorMethod :
      async [no LineTerminator here] * ClassElementName ( UniqueFormalParameters){ AsyncGeneratorBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3693 | 
        
        
          | same-line-async-method-rs-static-async-generator-method-privatename-identifier.js | 
          ---
description: Valid Static AsyncGeneratorMethod PrivateName (field definitions after an async method in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public, async-functions]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      AsyncGeneratorMethod
    AsyncGeneratorMethod :
      async [no LineTerminator here] * ClassElementName ( UniqueFormalParameters){ AsyncGeneratorBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3512 | 
        
        
          | same-line-async-method-rs-static-async-method-privatename-identifier-alt.js | 
          ---
description: Valid Static AsyncMethod PrivateName (field definitions after an async method in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public, async-functions]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      AsyncMethod
    AsyncMethod :
      async [no LineTerminator here] ClassElementName ( UniqueFormalParameters ){ AsyncFunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3672 | 
        
        
          | same-line-async-method-rs-static-async-method-privatename-identifier.js | 
          ---
description: Valid Static AsyncMethod PrivateName (field definitions after an async method in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public, async-functions]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      AsyncMethod
    AsyncMethod :
      async [no LineTerminator here] ClassElementName ( UniqueFormalParameters ){ AsyncFunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3485 | 
        
        
          | same-line-async-method-rs-static-generator-method-privatename-identifier-alt.js | 
          ---
description: Valid Static GeneratorMethod PrivateName (field definitions after an async method in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public, async-functions]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      GeneratorMethod
    GeneratorMethod :
 ClassElementName ( UniqueFormalParameters ){ GeneratorBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3259 | 
        
        
          | same-line-async-method-rs-static-generator-method-privatename-identifier.js | 
          ---
description: Valid Static GeneratorMethod PrivateName (field definitions after an async method in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public, async-functions]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      GeneratorMethod
    GeneratorMethod :
 ClassElementName ( UniqueFormalParameters ){ GeneratorBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3192 | 
        
        
          | same-line-async-method-rs-static-method-privatename-identifier-alt.js | 
          ---
description: Valid Static Method PrivateName (field definitions after an async method in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public, async-functions]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      ClassElementName ( UniqueFormalParameters ){ FunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3253 | 
        
        
          | same-line-async-method-rs-static-method-privatename-identifier.js | 
          ---
description: Valid Static Method PrivateName (field definitions after an async method in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public, async-functions]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      ClassElementName ( UniqueFormalParameters ){ FunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3065 | 
        
        
          | same-line-async-method-rs-static-privatename-identifier-alt-by-classname.js | 
          ---
description: Valid Static PrivateName (field definitions after an async method in the same line)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public, async-functions]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3118 | 
        
        
          | same-line-async-method-rs-static-privatename-identifier-alt.js | 
          ---
description: Valid Static PrivateName (field definitions after an async method in the same line)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public, async-functions]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3141 | 
        
        
          | same-line-async-method-rs-static-privatename-identifier-by-classname.js | 
          ---
description: Valid Static PrivateName (field definitions after an async method in the same line)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public, async-functions]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2923 | 
        
        
          | same-line-async-method-rs-static-privatename-identifier-initializer-alt-by-classname.js | 
          ---
description: Valid Static PrivateName (field definitions after an async method in the same line)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public, async-functions]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2752 | 
        
        
          | same-line-async-method-rs-static-privatename-identifier-initializer-alt.js | 
          ---
description: Valid Static PrivateName (field definitions after an async method in the same line)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public, async-functions]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2757 | 
        
        
          | same-line-async-method-rs-static-privatename-identifier-initializer.js | 
          ---
description: Valid Static PrivateName (field definitions after an async method in the same line)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public, async-functions]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2789 | 
        
        
          | same-line-async-method-rs-static-privatename-identifier.js | 
          ---
description: Valid Static PrivateName (field definitions after an async method in the same line)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public, async-functions]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2946 | 
        
        
          | same-line-async-method-static-private-fields.js | 
          ---
description: static private fields (field definitions after an async method in the same line)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public, async-functions]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      static FieldDefinition ;
    FieldDefinition :
      ClassElementName Initializer_opt
    ClassElementName :
      PrivateName
    PrivateName :
      # IdentifierName
--- | 
          2407 | 
        
        
          | same-line-async-method-static-private-methods-with-fields.js | 
          ---
description: static private methods with fields (field definitions after an async method in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, class-static-fields-private, class, class-fields-public, async-functions]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      static FieldDefinition ;
    FieldDefinition :
      ClassElementName Initializer_opt
    ClassElementName :
      PrivateName
    PrivateName :
      # IdentifierName
--- | 
          3201 | 
        
        
          | same-line-async-method-static-private-methods.js | 
          ---
description: static private methods (field definitions after an async method in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public, async-functions]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      static FieldDefinition ;
    FieldDefinition :
      ClassElementName Initializer_opt
    ClassElementName :
      PrivateName
    PrivateName :
      # IdentifierName
--- | 
          2457 | 
        
        
          | same-line-async-method-string-literal-names.js | 
          ---
description: String literal names (field definitions after an async method in the same line)
esid: prod-FieldDefinition
features: [class-fields-public, class, async-functions]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      FieldDefinition ;
    FieldDefinition:
      ClassElementName Initializer_opt
    ClassElementName:
      PropertyName
--- | 
          2940 | 
        
        
          | same-line-gen-computed-names.js | 
          ---
description: Computed property names (field definitions followed by a generator method in the same line)
esid: prod-FieldDefinition
features: [class-fields-public, computed-property-names, class, generators]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      FieldDefinition ;
    FieldDefinition:
      ClassElementName Initializer_opt
    ClassElementName:
      PropertyName
--- | 
          2546 | 
        
        
          | same-line-gen-computed-symbol-names.js | 
          ---
description: Computed property symbol names (field definitions followed by a generator method in the same line)
esid: prod-FieldDefinition
features: [class-fields-public, Symbol, computed-property-names, class, generators]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      FieldDefinition ;
    FieldDefinition:
      ClassElementName Initializer_opt
    ClassElementName:
      PropertyName
--- | 
          2505 | 
        
        
          | same-line-gen-grammar-privatename-identifier-semantics-stringvalue.js | 
          ---
description: PrivateName Static Semantics, StringValue (field definitions followed by a generator method in the same line)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public, generators]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
    1. Return the String value consisting of the sequence of code
      units corresponding to PrivateName. In determining the sequence
      any occurrences of \ UnicodeEscapeSequence are first replaced
      with the code point represented by the UnicodeEscapeSequence
      and then the code points of the entire PrivateName are converted
      to code units by UTF16Encoding (10.1.1) each code point.
--- | 
          2794 | 
        
        
          | same-line-gen-literal-names-asi.js | 
          ---
description: Literal property names with ASI (field definitions followed by a generator method in the same line)
esid: prod-FieldDefinition
features: [class-fields-public, class, generators]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      FieldDefinition ;
    FieldDefinition:
      ClassElementName Initializer_opt
    ClassElementName:
      PropertyName
--- | 
          1700 | 
        
        
          | same-line-gen-literal-names.js | 
          ---
description: Literal property names (field definitions followed by a generator method in the same line)
esid: prod-FieldDefinition
features: [class-fields-public, class, generators]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      FieldDefinition ;
    FieldDefinition:
      ClassElementName Initializer_opt
    ClassElementName:
      PropertyName
--- | 
          2067 | 
        
        
          | same-line-gen-private-field-usage.js | 
          ---
description: PrivateName CallExpression usage (private field) (field definitions followed by a generator method in the same line)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public, generators]
flags: [generated]
includes: [propertyHelper.js]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateName
--- | 
          1420 | 
        
        
          | same-line-gen-private-method-getter-usage.js | 
          ---
description: PrivateName CallExpression usage (Accesor get method) (field definitions followed by a generator method in the same line)
esid: prod-FieldDefinition
features: [class-methods-private, class, class-fields-public, generators]
flags: [generated]
includes: [propertyHelper.js]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateName
--- | 
          1449 | 
        
        
          | same-line-gen-private-method-usage.js | 
          ---
description: PrivateName CallExpression usage (private method) (field definitions followed by a generator method in the same line)
esid: prod-FieldDefinition
features: [class-methods-private, class, class-fields-public, generators]
flags: [generated]
includes: [propertyHelper.js]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateName
--- | 
          1436 | 
        
        
          | same-line-gen-private-names.js | 
          ---
description: private names (field definitions followed by a generator method in the same line)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public, generators]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      FieldDefinition ;
    FieldDefinition :
      ClassElementName Initializer_opt
    ClassElementName :
      PrivateName
    PrivateName :
      # IdentifierName
--- | 
          1997 | 
        
        
          | same-line-gen-rs-field-identifier-initializer.js | 
          ---
description: Valid FieldDefinition (field definitions followed by a generator method in the same line)
esid: prod-FieldDefinition
features: [class-fields-public, class, generators]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
    PropertyName :
      LiteralPropertyName
      ComputedPropertyName
    LiteralPropertyName :
      IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2052 | 
        
        
          | same-line-gen-rs-field-identifier.js | 
          ---
description: Valid FieldDefinition (field definitions followed by a generator method in the same line)
esid: prod-FieldDefinition
features: [class-fields-public, class, generators]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
    PropertyName :
      LiteralPropertyName
      ComputedPropertyName
    LiteralPropertyName :
      IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2102 | 
        
        
          | same-line-gen-rs-private-getter-alt.js | 
          ---
description: Valid PrivateName as private getter (field definitions followed by a generator method in the same line)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public, generators]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ...
      get ClassElementName ( ){ FunctionBody }
      ...
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2747 | 
        
        
          | same-line-gen-rs-private-getter.js | 
          ---
description: Valid PrivateName as private getter (field definitions followed by a generator method in the same line)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public, generators]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ...
      get ClassElementName ( ){ FunctionBody }
      ...
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2806 | 
        
        
          | same-line-gen-rs-private-method-alt.js | 
          ---
description: Valid PrivateName as private method (field definitions followed by a generator method in the same line)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public, generators]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ClassElementName ( UniqueFormalParameters ) { FunctionBody }
      ...
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2745 | 
        
        
          | same-line-gen-rs-private-method.js | 
          ---
description: Valid PrivateName as private method (field definitions followed by a generator method in the same line)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public, generators]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ClassElementName ( UniqueFormalParameters ) { FunctionBody }
      ...
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2804 | 
        
        
          | same-line-gen-rs-private-setter-alt.js | 
          ---
description: Valid PrivateName as private setter (field definitions followed by a generator method in the same line)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public, generators]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ...
      set ClassElementName ( PropertySetParameterList ) { FunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2799 | 
        
        
          | same-line-gen-rs-private-setter.js | 
          ---
description: Valid PrivateName as private setter (field definitions followed by a generator method in the same line)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public, generators]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ...
      set ClassElementName ( PropertySetParameterList ) { FunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2858 | 
        
        
          | same-line-gen-rs-privatename-identifier-alt.js | 
          ---
description: Valid PrivateName (field definitions followed by a generator method in the same line)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public, generators]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2445 | 
        
        
          | same-line-gen-rs-privatename-identifier-initializer-alt.js | 
          ---
description: Valid PrivateName (field definitions followed by a generator method in the same line)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public, generators]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2297 | 
        
        
          | same-line-gen-rs-privatename-identifier-initializer.js | 
          ---
description: Valid PrivateName (field definitions followed by a generator method in the same line)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public, generators]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2329 | 
        
        
          | same-line-gen-rs-privatename-identifier.js | 
          ---
description: Valid PrivateName (field definitions followed by a generator method in the same line)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public, generators]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2486 | 
        
        
          | same-line-gen-rs-static-async-generator-method-privatename-identifier-alt.js | 
          ---
description: Valid Static AsyncGeneratorMethod PrivateName (field definitions followed by a generator method in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public, generators]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      AsyncGeneratorMethod
    AsyncGeneratorMethod :
      async [no LineTerminator here] * ClassElementName ( UniqueFormalParameters){ AsyncGeneratorBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3337 | 
        
        
          | same-line-gen-rs-static-async-generator-method-privatename-identifier.js | 
          ---
description: Valid Static AsyncGeneratorMethod PrivateName (field definitions followed by a generator method in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public, generators]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      AsyncGeneratorMethod
    AsyncGeneratorMethod :
      async [no LineTerminator here] * ClassElementName ( UniqueFormalParameters){ AsyncGeneratorBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3156 | 
        
        
          | same-line-gen-rs-static-async-method-privatename-identifier-alt.js | 
          ---
description: Valid Static AsyncMethod PrivateName (field definitions followed by a generator method in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public, generators]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      AsyncMethod
    AsyncMethod :
      async [no LineTerminator here] ClassElementName ( UniqueFormalParameters ){ AsyncFunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3316 | 
        
        
          | same-line-gen-rs-static-async-method-privatename-identifier.js | 
          ---
description: Valid Static AsyncMethod PrivateName (field definitions followed by a generator method in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public, generators]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      AsyncMethod
    AsyncMethod :
      async [no LineTerminator here] ClassElementName ( UniqueFormalParameters ){ AsyncFunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3129 | 
        
        
          | same-line-gen-rs-static-generator-method-privatename-identifier-alt.js | 
          ---
description: Valid Static GeneratorMethod PrivateName (field definitions followed by a generator method in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public, generators]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      GeneratorMethod
    GeneratorMethod :
 ClassElementName ( UniqueFormalParameters ){ GeneratorBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2935 | 
        
        
          | same-line-gen-rs-static-generator-method-privatename-identifier.js | 
          ---
description: Valid Static GeneratorMethod PrivateName (field definitions followed by a generator method in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public, generators]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      GeneratorMethod
    GeneratorMethod :
 ClassElementName ( UniqueFormalParameters ){ GeneratorBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2868 | 
        
        
          | same-line-gen-rs-static-method-privatename-identifier-alt.js | 
          ---
description: Valid Static Method PrivateName (field definitions followed by a generator method in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public, generators]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      ClassElementName ( UniqueFormalParameters ){ FunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2929 | 
        
        
          | same-line-gen-rs-static-method-privatename-identifier.js | 
          ---
description: Valid Static Method PrivateName (field definitions followed by a generator method in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public, generators]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      ClassElementName ( UniqueFormalParameters ){ FunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2741 | 
        
        
          | same-line-gen-rs-static-privatename-identifier-alt-by-classname.js | 
          ---
description: Valid Static PrivateName (field definitions followed by a generator method in the same line)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public, generators]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2794 | 
        
        
          | same-line-gen-rs-static-privatename-identifier-alt.js | 
          ---
description: Valid Static PrivateName (field definitions followed by a generator method in the same line)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public, generators]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2817 | 
        
        
          | same-line-gen-rs-static-privatename-identifier-by-classname.js | 
          ---
description: Valid Static PrivateName (field definitions followed by a generator method in the same line)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public, generators]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2599 | 
        
        
          | same-line-gen-rs-static-privatename-identifier-initializer-alt-by-classname.js | 
          ---
description: Valid Static PrivateName (field definitions followed by a generator method in the same line)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public, generators]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2428 | 
        
        
          | same-line-gen-rs-static-privatename-identifier-initializer-alt.js | 
          ---
description: Valid Static PrivateName (field definitions followed by a generator method in the same line)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public, generators]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2433 | 
        
        
          | same-line-gen-rs-static-privatename-identifier-initializer.js | 
          ---
description: Valid Static PrivateName (field definitions followed by a generator method in the same line)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public, generators]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2465 | 
        
        
          | same-line-gen-rs-static-privatename-identifier.js | 
          ---
description: Valid Static PrivateName (field definitions followed by a generator method in the same line)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public, generators]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2622 | 
        
        
          | same-line-gen-static-private-fields.js | 
          ---
description: static private fields (field definitions followed by a generator method in the same line)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public, generators]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      static FieldDefinition ;
    FieldDefinition :
      ClassElementName Initializer_opt
    ClassElementName :
      PrivateName
    PrivateName :
      # IdentifierName
--- | 
          2055 | 
        
        
          | same-line-gen-static-private-methods-with-fields.js | 
          ---
description: static private methods with fields (field definitions followed by a generator method in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, class-static-fields-private, class, class-fields-public, generators]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      static FieldDefinition ;
    FieldDefinition :
      ClassElementName Initializer_opt
    ClassElementName :
      PrivateName
    PrivateName :
      # IdentifierName
--- | 
          2817 | 
        
        
          | same-line-gen-static-private-methods.js | 
          ---
description: static private methods (field definitions followed by a generator method in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public, generators]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      static FieldDefinition ;
    FieldDefinition :
      ClassElementName Initializer_opt
    ClassElementName :
      PrivateName
    PrivateName :
      # IdentifierName
--- | 
          2105 | 
        
        
          | same-line-gen-string-literal-names.js | 
          ---
description: String literal names (field definitions followed by a generator method in the same line)
esid: prod-FieldDefinition
features: [class-fields-public, class, generators]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      FieldDefinition ;
    FieldDefinition:
      ClassElementName Initializer_opt
    ClassElementName:
      PropertyName
--- | 
          2416 | 
        
        
          | same-line-method-computed-names.js | 
          ---
description: Computed property names (field definitions followed by a method in the same line)
esid: prod-FieldDefinition
features: [class-fields-public, computed-property-names, class]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      FieldDefinition ;
    FieldDefinition:
      ClassElementName Initializer_opt
    ClassElementName:
      PropertyName
--- | 
          2507 | 
        
        
          | same-line-method-computed-symbol-names.js | 
          ---
description: Computed property symbol names (field definitions followed by a method in the same line)
esid: prod-FieldDefinition
features: [class-fields-public, Symbol, computed-property-names, class]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      FieldDefinition ;
    FieldDefinition:
      ClassElementName Initializer_opt
    ClassElementName:
      PropertyName
--- | 
          2466 | 
        
        
          | same-line-method-grammar-privatename-identifier-semantics-stringvalue.js | 
          ---
description: PrivateName Static Semantics, StringValue (field definitions followed by a method in the same line)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
    1. Return the String value consisting of the sequence of code
      units corresponding to PrivateName. In determining the sequence
      any occurrences of \ UnicodeEscapeSequence are first replaced
      with the code point represented by the UnicodeEscapeSequence
      and then the code points of the entire PrivateName are converted
      to code units by UTF16Encoding (10.1.1) each code point.
--- | 
          2755 | 
        
        
          | same-line-method-literal-names-asi.js | 
          ---
description: Literal property names with ASI (field definitions followed by a method in the same line)
esid: prod-FieldDefinition
features: [class-fields-public, class]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      FieldDefinition ;
    FieldDefinition:
      ClassElementName Initializer_opt
    ClassElementName:
      PropertyName
--- | 
          1661 | 
        
        
          | same-line-method-literal-names.js | 
          ---
description: Literal property names (field definitions followed by a method in the same line)
esid: prod-FieldDefinition
features: [class-fields-public, class]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      FieldDefinition ;
    FieldDefinition:
      ClassElementName Initializer_opt
    ClassElementName:
      PropertyName
--- | 
          2028 | 
        
        
          | same-line-method-private-field-usage.js | 
          ---
description: PrivateName CallExpression usage (private field) (field definitions followed by a method in the same line)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateName
--- | 
          1381 | 
        
        
          | same-line-method-private-method-getter-usage.js | 
          ---
description: PrivateName CallExpression usage (Accesor get method) (field definitions followed by a method in the same line)
esid: prod-FieldDefinition
features: [class-methods-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateName
--- | 
          1410 | 
        
        
          | same-line-method-private-method-usage.js | 
          ---
description: PrivateName CallExpression usage (private method) (field definitions followed by a method in the same line)
esid: prod-FieldDefinition
features: [class-methods-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateName
--- | 
          1397 | 
        
        
          | same-line-method-private-names.js | 
          ---
description: private names (field definitions followed by a method in the same line)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      FieldDefinition ;
    FieldDefinition :
      ClassElementName Initializer_opt
    ClassElementName :
      PrivateName
    PrivateName :
      # IdentifierName
--- | 
          1958 | 
        
        
          | same-line-method-rs-field-identifier-initializer.js | 
          ---
description: Valid FieldDefinition (field definitions followed by a method in the same line)
esid: prod-FieldDefinition
features: [class-fields-public, class]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
    PropertyName :
      LiteralPropertyName
      ComputedPropertyName
    LiteralPropertyName :
      IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2013 | 
        
        
          | same-line-method-rs-field-identifier.js | 
          ---
description: Valid FieldDefinition (field definitions followed by a method in the same line)
esid: prod-FieldDefinition
features: [class-fields-public, class]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
    PropertyName :
      LiteralPropertyName
      ComputedPropertyName
    LiteralPropertyName :
      IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2063 | 
        
        
          | same-line-method-rs-private-getter-alt.js | 
          ---
description: Valid PrivateName as private getter (field definitions followed by a method in the same line)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ...
      get ClassElementName ( ){ FunctionBody }
      ...
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2708 | 
        
        
          | same-line-method-rs-private-getter.js | 
          ---
description: Valid PrivateName as private getter (field definitions followed by a method in the same line)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ...
      get ClassElementName ( ){ FunctionBody }
      ...
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2767 | 
        
        
          | same-line-method-rs-private-method-alt.js | 
          ---
description: Valid PrivateName as private method (field definitions followed by a method in the same line)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ClassElementName ( UniqueFormalParameters ) { FunctionBody }
      ...
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2706 | 
        
        
          | same-line-method-rs-private-method.js | 
          ---
description: Valid PrivateName as private method (field definitions followed by a method in the same line)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ClassElementName ( UniqueFormalParameters ) { FunctionBody }
      ...
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2765 | 
        
        
          | same-line-method-rs-private-setter-alt.js | 
          ---
description: Valid PrivateName as private setter (field definitions followed by a method in the same line)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ...
      set ClassElementName ( PropertySetParameterList ) { FunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2760 | 
        
        
          | same-line-method-rs-private-setter.js | 
          ---
description: Valid PrivateName as private setter (field definitions followed by a method in the same line)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ...
      set ClassElementName ( PropertySetParameterList ) { FunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2819 | 
        
        
          | same-line-method-rs-privatename-identifier-alt.js | 
          ---
description: Valid PrivateName (field definitions followed by a method in the same line)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2406 | 
        
        
          | same-line-method-rs-privatename-identifier-initializer-alt.js | 
          ---
description: Valid PrivateName (field definitions followed by a method in the same line)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2258 | 
        
        
          | same-line-method-rs-privatename-identifier-initializer.js | 
          ---
description: Valid PrivateName (field definitions followed by a method in the same line)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2290 | 
        
        
          | same-line-method-rs-privatename-identifier.js | 
          ---
description: Valid PrivateName (field definitions followed by a method in the same line)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2447 | 
        
        
          | same-line-method-rs-static-async-generator-method-privatename-identifier-alt.js | 
          ---
description: Valid Static AsyncGeneratorMethod PrivateName (field definitions followed by a method in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      AsyncGeneratorMethod
    AsyncGeneratorMethod :
      async [no LineTerminator here] * ClassElementName ( UniqueFormalParameters){ AsyncGeneratorBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3298 | 
        
        
          | same-line-method-rs-static-async-generator-method-privatename-identifier.js | 
          ---
description: Valid Static AsyncGeneratorMethod PrivateName (field definitions followed by a method in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      AsyncGeneratorMethod
    AsyncGeneratorMethod :
      async [no LineTerminator here] * ClassElementName ( UniqueFormalParameters){ AsyncGeneratorBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3117 | 
        
        
          | same-line-method-rs-static-async-method-privatename-identifier-alt.js | 
          ---
description: Valid Static AsyncMethod PrivateName (field definitions followed by a method in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      AsyncMethod
    AsyncMethod :
      async [no LineTerminator here] ClassElementName ( UniqueFormalParameters ){ AsyncFunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3277 | 
        
        
          | same-line-method-rs-static-async-method-privatename-identifier.js | 
          ---
description: Valid Static AsyncMethod PrivateName (field definitions followed by a method in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public]
flags: [generated, async]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      AsyncMethod
    AsyncMethod :
      async [no LineTerminator here] ClassElementName ( UniqueFormalParameters ){ AsyncFunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          3090 | 
        
        
          | same-line-method-rs-static-generator-method-privatename-identifier-alt.js | 
          ---
description: Valid Static GeneratorMethod PrivateName (field definitions followed by a method in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      GeneratorMethod
    GeneratorMethod :
 ClassElementName ( UniqueFormalParameters ){ GeneratorBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2896 | 
        
        
          | same-line-method-rs-static-generator-method-privatename-identifier.js | 
          ---
description: Valid Static GeneratorMethod PrivateName (field definitions followed by a method in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      GeneratorMethod
    GeneratorMethod :
 ClassElementName ( UniqueFormalParameters ){ GeneratorBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2829 | 
        
        
          | same-line-method-rs-static-method-privatename-identifier-alt.js | 
          ---
description: Valid Static Method PrivateName (field definitions followed by a method in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      ClassElementName ( UniqueFormalParameters ){ FunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2890 | 
        
        
          | same-line-method-rs-static-method-privatename-identifier.js | 
          ---
description: Valid Static Method PrivateName (field definitions followed by a method in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      ClassElementName ( UniqueFormalParameters ){ FunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2702 | 
        
        
          | same-line-method-rs-static-privatename-identifier-alt-by-classname.js | 
          ---
description: Valid Static PrivateName (field definitions followed by a method in the same line)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2755 | 
        
        
          | same-line-method-rs-static-privatename-identifier-alt.js | 
          ---
description: Valid Static PrivateName (field definitions followed by a method in the same line)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2778 | 
        
        
          | same-line-method-rs-static-privatename-identifier-by-classname.js | 
          ---
description: Valid Static PrivateName (field definitions followed by a method in the same line)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2560 | 
        
        
          | same-line-method-rs-static-privatename-identifier-initializer-alt-by-classname.js | 
          ---
description: Valid Static PrivateName (field definitions followed by a method in the same line)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2389 | 
        
        
          | same-line-method-rs-static-privatename-identifier-initializer-alt.js | 
          ---
description: Valid Static PrivateName (field definitions followed by a method in the same line)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2394 | 
        
        
          | same-line-method-rs-static-privatename-identifier-initializer.js | 
          ---
description: Valid Static PrivateName (field definitions followed by a method in the same line)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2426 | 
        
        
          | same-line-method-rs-static-privatename-identifier.js | 
          ---
description: Valid Static PrivateName (field definitions followed by a method in the same line)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2583 | 
        
        
          | same-line-method-static-private-fields.js | 
          ---
description: static private fields (field definitions followed by a method in the same line)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      static FieldDefinition ;
    FieldDefinition :
      ClassElementName Initializer_opt
    ClassElementName :
      PrivateName
    PrivateName :
      # IdentifierName
--- | 
          2016 | 
        
        
          | same-line-method-static-private-methods-with-fields.js | 
          ---
description: static private methods with fields (field definitions followed by a method in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, class-static-fields-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      static FieldDefinition ;
    FieldDefinition :
      ClassElementName Initializer_opt
    ClassElementName :
      PrivateName
    PrivateName :
      # IdentifierName
--- | 
          2778 | 
        
        
          | same-line-method-static-private-methods.js | 
          ---
description: static private methods (field definitions followed by a method in the same line)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement :
      ...
      static FieldDefinition ;
    FieldDefinition :
      ClassElementName Initializer_opt
    ClassElementName :
      PrivateName
    PrivateName :
      # IdentifierName
--- | 
          2066 | 
        
        
          | same-line-method-string-literal-names.js | 
          ---
description: String literal names (field definitions followed by a method in the same line)
esid: prod-FieldDefinition
features: [class-fields-public, class]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      FieldDefinition ;
    FieldDefinition:
      ClassElementName Initializer_opt
    ClassElementName:
      PropertyName
--- | 
          2377 | 
        
        
          | shell.js | 
           | 
          0 | 
        
        
          | static-as-valid-instance-field-assigned.js | 
          ---
description: static is a valid name of an instance field (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-fields-public, class]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      FieldDefinition ;
    FieldDefinition:
      ClassElementName Initializer_opt
    ClassElementName:
      PropertyName
--- | 
          766 | 
        
        
          | static-as-valid-instance-field.js | 
          ---
description: static is a valid name of an instance field (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-fields-public, class]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      FieldDefinition ;
    FieldDefinition:
      ClassElementName Initializer_opt
    ClassElementName:
      PropertyName
--- | 
          753 | 
        
        
          | static-as-valid-static-field-assigned.js | 
          ---
description: static is a valid name of a static field (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-static-fields-public, class]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      static FieldDefinition ;
--- | 
          669 | 
        
        
          | static-as-valid-static-field.js | 
          ---
description: static is a valid name of a static field (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-static-fields-public, class]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      static FieldDefinition ;
--- | 
          648 | 
        
        
          | static-comp-name-init-err-contains-arguments.js | 
          ---
description: Syntax error if `arguments` used in class field (static computed ClassElementName)
esid: sec-class-definitions-static-semantics-early-errors
features: [class, class-fields-public, class-static-fields-public, computed-property-names]
flags: [generated]
negative:
  phase: parse
  type: SyntaxError
info: |
    Static Semantics: Early Errors
      FieldDefinition:
        PropertyNameInitializeropt
      - It is a Syntax Error if ContainsArguments of Initializer is true.
    Static Semantics: ContainsArguments
      IdentifierReference : Identifier
      1. If the StringValue of Identifier is "arguments", return true.
      ...
      For all other grammatical productions, recurse on all nonterminals. If any piece returns true, then return true. Otherwise return false.
--- | 
          1128 | 
        
        
          | static-comp-name-init-err-contains-super.js | 
          ---
description: Syntax error if `super()` used in class field (static computed ClassElementName)
esid: sec-class-definitions-static-semantics-early-errors
features: [class, class-fields-public, class-static-fields-public, computed-property-names]
flags: [generated]
negative:
  phase: parse
  type: SyntaxError
info: |
    Static Semantics: Early Errors
      FieldDefinition:
        PropertyNameInitializeropt
      - It is a Syntax Error if Initializer is present and Initializer Contains SuperCall is true.
--- | 
          840 | 
        
        
          | static-field-anonymous-function-length.js | 
          ---
description: Anonymous function in field initilizer have length properly set (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-static-fields-private, class-static-fields-public, class]
flags: [generated]
info: |
    Updated Productions
    ClassElement :
      ...
      static FieldDefinition ;
    FieldDefinition :
      ClassElementName Initializer_opt
    ClassDefinitionEvaluation:
      ...
      27. Let staticFields be a new empty List.
      28. For each ClassElement e in order from elements,
        a. If IsStatic of e is false, then
        ...
        b. Else,
          i. Let field be the result of performing PropertyDefinitionEvaluation for m ClassElementEvaluation for e with arguments F and false.
        c. If field is an abrupt completion, then
          ...
        d. If field is not empty,
          i. If IsStatic of e is false, append field to instanceFields.
          ii. Otherwise, append field to staticFields.
      34. For each item fieldRecord in order from staticFields,
        a. Perform ? DefineField(F, field).
      ...
    DefineField(receiver, fieldRecord)
      1. Assert: Type(receiver) is Object.
      2. Assert: fieldRecord is a Record as created by ClassFieldDefinitionEvaluation.
      3. Let name be fieldRecord.[[Name]].
      4. Let initializer be fieldRecord.[[Initializer]].
      5. If initializer is not empty, then
        a. Let initValue be ? Call(initializer, receiver).
      ...
--- | 
          1949 | 
        
        
          | static-field-anonymous-function-name.js | 
          ---
description: Anonymous function receives the name of static fields (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-static-fields-private, class-static-fields-public, class]
flags: [generated]
info: |
    Updated Productions
    ClassElement :
      ...
      static FieldDefinition ;
    FieldDefinition :
      ClassElementName Initializer_opt
    ClassDefinitionEvaluation:
      ...
      27. Let staticFields be a new empty List.
      28. For each ClassElement e in order from elements,
        a. If IsStatic of e is false, then
        ...
        b. Else,
          i. Let field be the result of performing PropertyDefinitionEvaluation for m ClassElementEvaluation for e with arguments F and false.
        c. If field is an abrupt completion, then
          ...
        d. If field is not empty,
          i. If IsStatic of e is false, append field to instanceFields.
          ii. Otherwise, append field to staticFields.
      34. For each item fieldRecord in order from staticFields,
        a. Perform ? DefineField(F, field).
      ...
    DefineField(receiver, fieldRecord)
      1. Assert: Type(receiver) is Object.
      2. Assert: fieldRecord is a Record as created by ClassFieldDefinitionEvaluation.
      3. Let name be fieldRecord.[[Name]].
      4. Let initializer be fieldRecord.[[Initializer]].
      5. If initializer is not empty, then
        a. Let initValue be ? Call(initializer, receiver).
      6. Else, let initValue be undefined.
      7. If fieldRecord.[[IsAnonymousFunctionDefinition]] is true, then
        a. Let hasNameProperty be ? HasOwnProperty(initValue, "name").
        b. If hasNameProperty is false, perform SetFunctionName(initValue, fieldName).
      8. If fieldName is a Private Name,
        a. Perform ? PrivateFieldAdd(fieldName, receiver, initValue).
      9. Else,
        a. Assert: IsPropertyKey(fieldName) is true.
        b. Perform ? CreateDataPropertyOrThrow(receiver, fieldName, initValue).
      10. Return.
--- | 
          2494 | 
        
        
          | static-field-declaration.js | 
          ---
description: Static fields are defined using DefineField (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-static-fields-public, class]
flags: [generated]
includes: [propertyHelper.js]
info: |
    Updated Productions
    ClassElement :
      ...
      static FieldDefinition ;
    FieldDefinition :
      ClassElementName Initializer_opt
    ClassElementName :
      PropertyName
    PropertyName :
      LiteralPropertyName
      ComputedPropertyName
    LiteralPropertyName :
      IdentifierName
      StringLiteral
      NumericLiteral
    ClassDefinitionEvaluation:
      ...
      27. Let staticFields be a new empty List.
      28. For each ClassElement e in order from elements,
        a. If IsStatic of e is false, then
        ...
        b. Else,
          i. Let field be the result of performing PropertyDefinitionEvaluation for mClassElementEvaluation for e with arguments F and false.
        c. If field is an abrupt completion, then
          ...
        d. If field is not empty,
          i. If IsStatic of e is false, append field to instanceFields.
          ii. Otherwise, append field to staticFields.
      34. For each item fieldRecord in order from staticFields,
        a. Perform ? DefineField(F, field).
      ...
    DefineField(receiver, fieldRecord)
      1. Assert: Type(receiver) is Object.
      2. Assert: fieldRecord is a Record as created by ClassFieldDefinitionEvaluation.
      3. Let name be fieldRecord.[[Name]].
      4. Let initializer be fieldRecord.[[Initializer]].
      5. If initializer is not empty, then
        a. Let initValue be ? Call(initializer, receiver).
      6. Else, let initValue be undefined.
      7. If fieldRecord.[[IsAnonymousFunctionDefinition]] is true, then
        a. Let hasNameProperty be ? HasOwnProperty(initValue, "name").
        b. If hasNameProperty is false, perform SetFunctionName(initValue, fieldName).
      8. If fieldName is a Private Name,
        a. Perform ? PrivateFieldAdd(fieldName, receiver, initValue).
      9. Else,
        a. Assert: IsPropertyKey(fieldName) is true.
        b. Perform ? CreateDataPropertyOrThrow(receiver, fieldName, initValue).
      10. Return.
--- | 
          3597 | 
        
        
          | static-field-init-this-inside-arrow-function.js | 
          ---
description: this in static field initializers refers to class constructor (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-static-fields-public, class]
flags: [generated]
info: |
    Updated Productions
    ClassElement :
      ...
      static FieldDefinition ;
    FieldDefinition :
      ClassElementName Initializer_opt
    ClassDefinitionEvaluation:
      ...
      27. Let staticFields be a new empty List.
      28. For each ClassElement e in order from elements,
        a. If IsStatic of e is false, then
        ...
        b. Else,
          i. Let field be the result of performing PropertyDefinitionEvaluation for m ClassElementEvaluation for e with arguments F and false.
        c. If field is an abrupt completion, then
          ...
        d. If field is not empty,
          i. If IsStatic of e is false, append field to instanceFields.
          ii. Otherwise, append field to staticFields.
      34. For each item fieldRecord in order from staticFields,
        a. Perform ? DefineField(F, field).
      ...
    DefineField(receiver, fieldRecord)
      1. Assert: Type(receiver) is Object.
      2. Assert: fieldRecord is a Record as created by ClassFieldDefinitionEvaluation.
      3. Let name be fieldRecord.[[Name]].
      4. Let initializer be fieldRecord.[[Initializer]].
      5. If initializer is not empty, then
        a. Let initValue be ? Call(initializer, receiver).
      6. Else, let initValue be undefined.
      7. If fieldRecord.[[IsAnonymousFunctionDefinition]] is true, then
        a. Let hasNameProperty be ? HasOwnProperty(initValue, "name").
        b. If hasNameProperty is false, perform SetFunctionName(initValue, fieldName).
      8. If fieldName is a Private Name,
        a. Perform ? PrivateFieldAdd(fieldName, receiver, initValue).
      9. Else,
        a. Assert: IsPropertyKey(fieldName) is true.
        b. Perform ? CreateDataPropertyOrThrow(receiver, fieldName, initValue).
      10. Return.
--- | 
          2295 | 
        
        
          | static-field-init-with-this.js | 
          ---
description: Static fields initializer has `this` biding (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-static-fields-public, class]
flags: [generated]
info: |
    Updated Productions
    ClassElement :
      ...
      static FieldDefinition ;
    FieldDefinition :
      ClassElementName Initializer_opt
    ClassDefinitionEvaluation:
      ...
      27. Let staticFields be a new empty List.
      28. For each ClassElement e in order from elements,
        a. If IsStatic of e is false, then
        ...
        b. Else,
          i. Let field be the result of performing PropertyDefinitionEvaluation for m ClassElementEvaluation for e with arguments F and false.
        c. If field is an abrupt completion, then
          ...
        d. If field is not empty,
          i. If IsStatic of e is false, append field to instanceFields.
          ii. Otherwise, append field to staticFields.
      34. For each item fieldRecord in order from staticFields,
        a. Perform ? DefineField(F, field).
      ...
    DefineField(receiver, fieldRecord)
      1. Assert: Type(receiver) is Object.
      2. Assert: fieldRecord is a Record as created by ClassFieldDefinitionEvaluation.
      3. Let name be fieldRecord.[[Name]].
      4. Let initializer be fieldRecord.[[Initializer]].
      5. If initializer is not empty, then
        a. Let initValue be ? Call(initializer, receiver).
      6. Else, let initValue be undefined.
      7. If fieldRecord.[[IsAnonymousFunctionDefinition]] is true, then
        a. Let hasNameProperty be ? HasOwnProperty(initValue, "name").
        b. If hasNameProperty is false, perform SetFunctionName(initValue, fieldName).
      8. If fieldName is a Private Name,
        a. Perform ? PrivateFieldAdd(fieldName, receiver, initValue).
      9. Else,
        a. Assert: IsPropertyKey(fieldName) is true.
        b. Perform ? CreateDataPropertyOrThrow(receiver, fieldName, initValue).
      10. Return.
--- | 
          2398 | 
        
        
          | static-field-redeclaration.js | 
          ---
description: Static fields can be redeclared (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-static-fields-public, class]
flags: [generated]
info: |
    Updated Productions
    ClassElement :
      ...
      static FieldDefinition ;
    FieldDefinition :
      ClassElementName Initializer_opt
    ClassDefinitionEvaluation:
      ...
      27. Let staticFields be a new empty List.
      28. For each ClassElement e in order from elements,
        a. If IsStatic of e is false, then
        ...
        b. Else,
          i. Let field be the result of performing PropertyDefinitionEvaluation for m ClassElementEvaluation for e with arguments F and false.
        c. If field is an abrupt completion, then
          ...
        d. If field is not empty,
          i. If IsStatic of e is false, append field to instanceFields.
          ii. Otherwise, append field to staticFields.
      34. For each item fieldRecord in order from staticFields,
        a. Perform ? DefineField(F, field).
      ...
    DefineField(receiver, fieldRecord)
      1. Assert: Type(receiver) is Object.
      2. Assert: fieldRecord is a Record as created by ClassFieldDefinitionEvaluation.
      3. Let name be fieldRecord.[[Name]].
      4. Let initializer be fieldRecord.[[Initializer]].
      5. If initializer is not empty, then
        a. Let initValue be ? Call(initializer, receiver).
      6. Else, let initValue be undefined.
      7. If fieldRecord.[[IsAnonymousFunctionDefinition]] is true, then
        a. Let hasNameProperty be ? HasOwnProperty(initValue, "name").
        b. If hasNameProperty is false, perform SetFunctionName(initValue, fieldName).
      8. If fieldName is a Private Name,
        a. Perform ? PrivateFieldAdd(fieldName, receiver, initValue).
      9. Else,
        a. Assert: IsPropertyKey(fieldName) is true.
        b. Perform ? CreateDataPropertyOrThrow(receiver, fieldName, initValue).
      10. Return.
--- | 
          2363 | 
        
        
          | static-literal-init-err-contains-arguments.js | 
          ---
description: Syntax error if `arguments` used in class field (static literal ClassElementName)
esid: sec-class-definitions-static-semantics-early-errors
features: [class, class-fields-public, class-static-fields-public]
flags: [generated]
negative:
  phase: parse
  type: SyntaxError
info: |
    Static Semantics: Early Errors
      FieldDefinition:
        PropertyNameInitializeropt
      - It is a Syntax Error if ContainsArguments of Initializer is true.
    Static Semantics: ContainsArguments
      IdentifierReference : Identifier
      1. If the StringValue of Identifier is "arguments", return true.
      ...
      For all other grammatical productions, recurse on all nonterminals. If any piece returns true, then return true. Otherwise return false.
--- | 
          1085 | 
        
        
          | static-literal-init-err-contains-super.js | 
          ---
description: Syntax error if `super()` used in class field (static literal ClassElementName)
esid: sec-class-definitions-static-semantics-early-errors
features: [class, class-fields-public, class-static-fields-public]
flags: [generated]
negative:
  phase: parse
  type: SyntaxError
info: |
    Static Semantics: Early Errors
      FieldDefinition:
        PropertyNameInitializeropt
      - It is a Syntax Error if Initializer is present and Initializer Contains SuperCall is true.
--- | 
          797 | 
        
        
          | static-private-fields-proxy-default-handler-throws.js | 
          ---
esid: sec-privatefieldget
description: Static private fields not accessible via default Proxy handler
info: |
  1. Assert: P is a Private Name value.
  2. If O is not an object, throw a TypeError exception.
  3. Let entry be PrivateFieldFind(P, O).
  4. If entry is empty, throw a TypeError exception.
features: [class, class-static-fields-private]
--- | 
          695 | 
        
        
          | static-private-getter-access-on-inner-arrow-function.js | 
          ---
description: static private getter access inside of an arrow function (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-static-methods-private, class]
flags: [generated]
info: |
    PrivateFieldGet (P, O)
      1. Assert: P is a Private Name.
      2. If O is not an object, throw a TypeError exception.
      3. If P.[[Kind]] is "field",
      ...
      4. Perform ? PrivateBrandCheck(O, P).
      5. If P.[[Kind]] is "method",
        a. Return P.[[Value]].
      ...
    PrivateBrandCheck(O, P)
      1. If O.[[PrivateBrands]] does not contain an entry e such that SameValue(e, P.[[Brand]]) is true,
        a. Throw a TypeError exception.
--- | 
          1277 | 
        
        
          | static-private-getter-access-on-inner-class.js | 
          ---
description: static private getter access inside of an inner class (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-static-methods-private, class-static-fields-public, class]
flags: [generated]
info: |
    PrivateFieldGet (P, O)
      1. Assert: P is a Private Name.
      2. If O is not an object, throw a TypeError exception.
      3. If P.[[Kind]] is "field",
      ...
      4. Perform ? PrivateBrandCheck(O, P).
      5. If P.[[Kind]] is "method",
        a. Return P.[[Value]].
      ...
    PrivateBrandCheck(O, P)
      1. If O.[[PrivateBrands]] does not contain an entry e such that SameValue(e, P.[[Brand]]) is true,
        a. Throw a TypeError exception.
--- | 
          1267 | 
        
        
          | static-private-getter-access-on-inner-function.js | 
          ---
description: static private getter access inside of a nested function (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-static-methods-private, class]
flags: [generated]
info: |
    PrivateFieldGet (P, O)
      1. Assert: P is a Private Name.
      2. If O is not an object, throw a TypeError exception.
      3. If P.[[Kind]] is "field",
      ...
      4. Perform ? PrivateBrandCheck(O, P).
      5. If P.[[Kind]] is "method",
        a. Return P.[[Value]].
      ...
    PrivateBrandCheck(O, P)
      1. If O.[[PrivateBrands]] does not contain an entry e such that SameValue(e, P.[[Brand]]) is true,
        a. Throw a TypeError exception.
--- | 
          1276 | 
        
        
          | static-private-getter.js | 
          ---
description: static private getter declaration and usage (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-static-methods-private, class]
flags: [generated]
info: |
    MethodDefinition :
      get ClassElementName () { FunctionBody }
      set ClassElementName ( PropertySetParameterList ) { FunctionBody }
    ClassTail : ClassHeritage { ClassBody }
      ...
      33. If PrivateBoundIdentifiers of ClassBody contains a Private Name P such that P's [[Kind]] field is either "method" or "accessor" and P's [[Brand]] is F,
        a. PrivateBrandAdd(F, F).
      34. For each item fieldRecord in order from staticFields,
        a. Perform ? DefineField(F, field).
    PrivateFieldGet (P, O)
      1. Assert: P is a Private Name.
      2. If O is not an object, throw a TypeError exception.
      3. If P.[[Kind]] is "field",
      ...
      4. Perform ? PrivateBrandCheck(O, P).
      5. If P.[[Kind]] is "method",
      ...
      6. Else,
        a. Assert: P.[[Kind]] is "accessor".
        b. If P does not have a [[Get]] field, throw a TypeError exception.
        c. Let getter be P.[[Get]].
        d. Return ? Call(getter, O).
    PrivateBrandCheck(O, P)
      1. If O.[[PrivateBrands]] does not contain an entry e such that SameValue(e, P.[[Brand]]) is true,
        a. Throw a TypeError exception.
--- | 
          1827 | 
        
        
          | static-private-init-err-contains-arguments.js | 
          ---
description: Syntax error if `arguments` used in class field (static PrivateName)
esid: sec-class-definitions-static-semantics-early-errors
features: [class, class-fields-public, class-static-fields-private]
flags: [generated]
negative:
  phase: parse
  type: SyntaxError
info: |
    Static Semantics: Early Errors
      FieldDefinition:
        PropertyNameInitializeropt
      - It is a Syntax Error if ContainsArguments of Initializer is true.
    Static Semantics: ContainsArguments
      IdentifierReference : Identifier
      1. If the StringValue of Identifier is "arguments", return true.
      ...
      For all other grammatical productions, recurse on all nonterminals. If any piece returns true, then return true. Otherwise return false.
--- | 
          1074 | 
        
        
          | static-private-init-err-contains-super.js | 
          ---
description: Syntax error if `super()` used in class field (static PrivateName)
esid: sec-class-definitions-static-semantics-early-errors
features: [class, class-fields-public, class-static-fields-private]
flags: [generated]
negative:
  phase: parse
  type: SyntaxError
info: |
    Static Semantics: Early Errors
      FieldDefinition:
        PropertyNameInitializeropt
      - It is a Syntax Error if Initializer is present and Initializer Contains SuperCall is true.
--- | 
          786 | 
        
        
          | static-private-method-access-on-inner-arrow-function.js | 
          ---
description: Static private method access inside of an arrow function (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-static-methods-private, class]
flags: [generated]
info: |
    PrivateFieldGet (P, O)
      1. Assert: P is a Private Name.
      2. If O is not an object, throw a TypeError exception.
      3. If P.[[Kind]] is "field",
          ...
      4. Perform ? PrivateBrandCheck(O, P).
      5. If P.[[Kind]] is "method",
        a. Return P.[[Value]].
      ...
    PrivateBrandCheck(O, P)
      1. If O.[[PrivateBrands]] does not contain an entry e such that SameValue(e, P.[[Brand]]) is true,
        a. Throw a TypeError exception.
--- | 
          1244 | 
        
        
          | static-private-method-access-on-inner-function.js | 
          ---
description: Static private method access inside of a nested function (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-static-methods-private, class]
flags: [generated]
info: |
    PrivateFieldGet (P, O)
      1. Assert: P is a Private Name.
      2. If O is not an object, throw a TypeError exception.
      3. If P.[[Kind]] is "field",
          ...
      4. Perform ? PrivateBrandCheck(O, P).
      5. If P.[[Kind]] is "method",
        a. Return P.[[Value]].
      ...
    PrivateBrandCheck(O, P)
      1. If O.[[PrivateBrands]] does not contain an entry e such that SameValue(e, P.[[Brand]]) is true,
        a. Throw a TypeError exception.
--- | 
          1258 | 
        
        
          | static-private-method-and-instance-method-brand-check.js | 
          ---
description: Brand for static private names and instance private names are different (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-static-methods-private, class-methods-private, class]
flags: [generated]
info: |
    ClassTail : ClassHeritage { ClassBody }
      ...
      32. If PrivateBoundIdentifiers of ClassBody contains a Private Name P such that P's [[Kind]] field is either "method" or "accessor" and P's [[Brand]] field is proto,
        a. Set F.[[PrivateBrand]] to proto.
      33. If PrivateBoundIdentifiers of ClassBody contains a Private Name P such that P's [[Kind]] field is either "method" or "accessor" and P's [[Brand]] is F,
        a. PrivateBrandAdd(F, F).
      ...
    PrivateFieldGet (P, O)
      1. Assert: P is a Private Name.
      2. If O is not an object, throw a TypeError exception.
      3. If P.[[Kind]] is "field",
      ...
      4. Perform ? PrivateBrandCheck(O, P).
      5. If P.[[Kind]] is "method",
        a. Return P.[[Value]].
      ...
    PrivateBrandCheck(O, P)
      1. If O.[[PrivateBrands]] does not contain an entry e such that SameValue(e, P.[[Brand]]) is true,
        a. Throw a TypeError exception.
--- | 
          1989 | 
        
        
          | static-private-method-referenced-from-instance-method.js | 
          ---
description: Static private method referenced from an instance method (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-static-methods-private, class]
flags: [generated]
info: |
    PrivateFieldGet (P, O)
      1. Assert: P is a Private Name.
      2. If O is not an object, throw a TypeError exception.
      3. If P.[[Kind]] is "field",
          ...
      4. Perform ? PrivateBrandCheck(O, P).
      5. If P.[[Kind]] is "method",
        a. Return P.[[Value]].
      ...
    PrivateBrandCheck(O, P)
      1. If O.[[PrivateBrands]] does not contain an entry e such that SameValue(e, P.[[Brand]]) is true,
        a. Throw a TypeError exception.
--- | 
          1177 | 
        
        
          | static-private-method-subclass-receiver.js | 
          ---
description: Static private methods on the super-class cannot be called with sub-class as the receiver (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-static-methods-private, class]
flags: [generated]
info: |
    PrivateFieldGet (P, O)
      1. Assert: P is a Private Name.
      2. If O is not an object, throw a TypeError exception.
      3. If P.[[Kind]] is "field",
          ...
      4. Perform ? PrivateBrandCheck(O, P).
      5. If P.[[Kind]] is "method",
        a. Return P.[[Value]].
      ...
    PrivateBrandCheck(O, P)
      1. If O.[[PrivateBrands]] does not contain an entry e such that SameValue(e, P.[[Brand]]) is true,
        a. Throw a TypeError exception.
--- | 
          1175 | 
        
        
          | static-private-methods-proxy-default-handler-throws.js | 
          ---
esid: sec-privatefieldget
description: Static private methods not accessible via default Proxy handler
info: |
  1. Assert: P is a Private Name value.
  2. If O is not an object, throw a TypeError exception.
  3. Let entry be PrivateFieldFind(P, O).
  4. If entry is empty, throw a TypeError exception.
features: [class, class-static-methods-private]
--- | 
          722 | 
        
        
          | static-private-setter-access-on-inner-arrow-function.js | 
          ---
description: static private setter access inside of an arrow function (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-static-methods-private, class]
flags: [generated]
info: |
    PrivateFieldGet (P, O)
      1. Assert: P is a Private Name.
      2. If O is not an object, throw a TypeError exception.
      3. If P.[[Kind]] is "field",
      ...
      4. Perform ? PrivateBrandCheck(O, P).
      5. If P.[[Kind]] is "method",
        a. Return P.[[Value]].
      ...
    PrivateBrandCheck(O, P)
      1. If O.[[PrivateBrands]] does not contain an entry e such that SameValue(e, P.[[Brand]]) is true,
        a. Throw a TypeError exception.
--- | 
          1277 | 
        
        
          | static-private-setter-access-on-inner-class.js | 
          ---
description: static private setter access inside of an inner class (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-static-methods-private, class-static-fields-public, class]
flags: [generated]
info: |
    PrivateFieldGet (P, O)
      1. Assert: P is a Private Name.
      2. If O is not an object, throw a TypeError exception.
      3. If P.[[Kind]] is "field",
      ...
      4. Perform ? PrivateBrandCheck(O, P).
      5. If P.[[Kind]] is "method",
        a. Return P.[[Value]].
      ...
    PrivateBrandCheck(O, P)
      1. If O.[[PrivateBrands]] does not contain an entry e such that SameValue(e, P.[[Brand]]) is true,
        a. Throw a TypeError exception.
--- | 
          1281 | 
        
        
          | static-private-setter-access-on-inner-function.js | 
          ---
description: static private setter access inside of a nested function (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-static-methods-private, class]
flags: [generated]
info: |
    PrivateFieldGet (P, O)
      1. Assert: P is a Private Name.
      2. If O is not an object, throw a TypeError exception.
      3. If P.[[Kind]] is "field",
      ...
      4. Perform ? PrivateBrandCheck(O, P).
      5. If P.[[Kind]] is "method",
        a. Return P.[[Value]].
      ...
    PrivateBrandCheck(O, P)
      1. If O.[[PrivateBrands]] does not contain an entry e such that SameValue(e, P.[[Brand]]) is true,
        a. Throw a TypeError exception.
--- | 
          1276 | 
        
        
          | static-private-setter.js | 
          ---
description: static private setter declaration and usage (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-static-methods-private, class]
flags: [generated]
info: |
    MethodDefinition :
      get ClassElementName () { FunctionBody }
      set ClassElementName ( PropertySetParameterList ) { FunctionBody }
    ClassTail : ClassHeritage { ClassBody }
      ...
      33. If PrivateBoundIdentifiers of ClassBody contains a Private Name P such that P's [[Kind]] field is either "method" or "accessor" and P's [[Brand]] is F,
        a. PrivateBrandAdd(F, F).
      34. For each item fieldRecord in order from staticFields,
        a. Perform ? DefineField(F, field).
    PrivateFieldGet (P, O)
      1. Assert: P is a Private Name.
      2. If O is not an object, throw a TypeError exception.
      3. If P.[[Kind]] is "field",
      ...
      4. Perform ? PrivateBrandCheck(O, P).
      5. If P.[[Kind]] is "method",
      ...
      6. Else,
        a. Assert: P.[[Kind]] is "accessor".
        b. If P does not have a [[Get]] field, throw a TypeError exception.
        c. Let getter be P.[[Get]].
        d. Return ? Call(getter, O).
    PrivateBrandCheck(O, P)
      1. If O.[[PrivateBrands]] does not contain an entry e such that SameValue(e, P.[[Brand]]) is true,
        a. Throw a TypeError exception.
--- | 
          1834 | 
        
        
          | static-string-literal-name-init-err-contains-arguments.js | 
          ---
description: Syntax error if `arguments` used in class field (static string literal ClassElementName)
esid: sec-class-definitions-static-semantics-early-errors
features: [class, class-fields-public, class-static-fields-public]
flags: [generated]
negative:
  phase: parse
  type: SyntaxError
info: |
    Static Semantics: Early Errors
      FieldDefinition:
        PropertyNameInitializeropt
      - It is a Syntax Error if ContainsArguments of Initializer is true.
    Static Semantics: ContainsArguments
      IdentifierReference : Identifier
      1. If the StringValue of Identifier is "arguments", return true.
      ...
      For all other grammatical productions, recurse on all nonterminals. If any piece returns true, then return true. Otherwise return false.
--- | 
          1101 | 
        
        
          | static-string-literal-name-init-err-contains-super.js | 
          ---
description: Syntax error if `super()` used in class field (static string literal ClassElementName)
esid: sec-class-definitions-static-semantics-early-errors
features: [class, class-fields-public, class-static-fields-public]
flags: [generated]
negative:
  phase: parse
  type: SyntaxError
info: |
    Static Semantics: Early Errors
      FieldDefinition:
        PropertyNameInitializeropt
      - It is a Syntax Error if Initializer is present and Initializer Contains SuperCall is true.
--- | 
          813 | 
        
        
          | string-literal-name-init-err-contains-arguments.js | 
          ---
description: Syntax error if `arguments` used in class field (string literal ClassElementName)
esid: sec-class-definitions-static-semantics-early-errors
features: [class, class-fields-public]
flags: [generated]
negative:
  phase: parse
  type: SyntaxError
info: |
    Static Semantics: Early Errors
      FieldDefinition:
        PropertyNameInitializeropt
      - It is a Syntax Error if ContainsArguments of Initializer is true.
    Static Semantics: ContainsArguments
      IdentifierReference : Identifier
      1. If the StringValue of Identifier is "arguments", return true.
      ...
      For all other grammatical productions, recurse on all nonterminals. If any piece returns true, then return true. Otherwise return false.
--- | 
          1052 | 
        
        
          | string-literal-name-init-err-contains-super.js | 
          ---
description: Syntax error if `super()` used in class field (string literal ClassElementName)
esid: sec-class-definitions-static-semantics-early-errors
features: [class, class-fields-public]
flags: [generated]
negative:
  phase: parse
  type: SyntaxError
info: |
    Static Semantics: Early Errors
      FieldDefinition:
        PropertyNameInitializeropt
      - It is a Syntax Error if Initializer is present and Initializer Contains SuperCall is true.
--- | 
          764 | 
        
        
          | super-access-from-arrow-func-on-field.js | 
          ---
description: super inside arrow functions on field initializer resolves to class' super (field definitions in a class expression)
esid: prod-FieldDefinition
features: [class-fields-public, class-static-fields-public, class]
flags: [generated]
info: |
    ClassElementName :
      PropertyName
      PrivateName
    SuperProperty:
      super[Expression]
      super.IdentifierName
--- | 
          884 | 
        
        
          | syntax | 
           | 
           | 
        
        
          | ternary-init-err-contains-arguments.js | 
          ---
description: Syntax error if `arguments` used in class field (ternary expression)
esid: sec-class-definitions-static-semantics-early-errors
features: [class, class-fields-public]
flags: [generated]
negative:
  phase: parse
  type: SyntaxError
info: |
    Static Semantics: Early Errors
      FieldDefinition:
        PropertyNameInitializeropt
      - It is a Syntax Error if ContainsArguments of Initializer is true.
    Static Semantics: ContainsArguments
      IdentifierReference : Identifier
      1. If the StringValue of Identifier is "arguments", return true.
      ...
      For all other grammatical productions, recurse on all nonterminals. If any piece returns true, then return true. Otherwise return false.
--- | 
          1037 | 
        
        
          | ternary-init-err-contains-super.js | 
          ---
description: Syntax error if `super()` used in class field (ternary expression)
esid: sec-class-definitions-static-semantics-early-errors
features: [class, class-fields-public]
flags: [generated]
negative:
  phase: parse
  type: SyntaxError
info: |
    Static Semantics: Early Errors
      FieldDefinition:
        PropertyNameInitializeropt
      - It is a Syntax Error if Initializer is present and Initializer Contains SuperCall is true.
--- | 
          749 | 
        
        
          | typeof-init-err-contains-arguments.js | 
          ---
description: Syntax error if `arguments` used in class field (typeof expression)
esid: sec-class-definitions-static-semantics-early-errors
features: [class, class-fields-public]
flags: [generated]
negative:
  phase: parse
  type: SyntaxError
info: |
    Static Semantics: Early Errors
      FieldDefinition:
        PropertyNameInitializeropt
      - It is a Syntax Error if ContainsArguments of Initializer is true.
    Static Semantics: ContainsArguments
      IdentifierReference : Identifier
      1. If the StringValue of Identifier is "arguments", return true.
      ...
      For all other grammatical productions, recurse on all nonterminals. If any piece returns true, then return true. Otherwise return false.
--- | 
          1030 | 
        
        
          | typeof-init-err-contains-super.js | 
          ---
description: Syntax error if `super()` used in class field (typeof expression)
esid: sec-class-definitions-static-semantics-early-errors
features: [class, class-fields-public]
flags: [generated]
negative:
  phase: parse
  type: SyntaxError
info: |
    Static Semantics: Early Errors
      FieldDefinition:
        PropertyNameInitializeropt
      - It is a Syntax Error if Initializer is present and Initializer Contains SuperCall is true.
--- | 
          742 | 
        
        
          | wrapped-in-sc-computed-names.js | 
          ---
description: Computed property names (fields definition wrapped in semicolons)
esid: prod-FieldDefinition
features: [class-fields-public, computed-property-names, class]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      FieldDefinition ;
    FieldDefinition:
      ClassElementName Initializer_opt
    ClassElementName:
      PropertyName
--- | 
          2208 | 
        
        
          | wrapped-in-sc-computed-symbol-names.js | 
          ---
description: Computed property symbol names (fields definition wrapped in semicolons)
esid: prod-FieldDefinition
features: [class-fields-public, Symbol, computed-property-names, class]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      FieldDefinition ;
    FieldDefinition:
      ClassElementName Initializer_opt
    ClassElementName:
      PropertyName
--- | 
          2167 | 
        
        
          | wrapped-in-sc-grammar-privatename-identifier-semantics-stringvalue.js | 
          ---
description: PrivateName Static Semantics, StringValue (fields definition wrapped in semicolons)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public]
flags: [generated]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
    1. Return the String value consisting of the sequence of code
      units corresponding to PrivateName. In determining the sequence
      any occurrences of \ UnicodeEscapeSequence are first replaced
      with the code point represented by the UnicodeEscapeSequence
      and then the code points of the entire PrivateName are converted
      to code units by UTF16Encoding (10.1.1) each code point.
--- | 
          2426 | 
        
        
          | wrapped-in-sc-literal-names-asi.js | 
          ---
description: Literal property names with ASI (fields definition wrapped in semicolons)
esid: prod-FieldDefinition
features: [class-fields-public, class]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      FieldDefinition ;
    FieldDefinition:
      ClassElementName Initializer_opt
    ClassElementName:
      PropertyName
--- | 
          1362 | 
        
        
          | wrapped-in-sc-literal-names.js | 
          ---
description: Literal property names (fields definition wrapped in semicolons)
esid: prod-FieldDefinition
features: [class-fields-public, class]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      FieldDefinition ;
    FieldDefinition:
      ClassElementName Initializer_opt
    ClassElementName:
      PropertyName
--- | 
          1729 | 
        
        
          | wrapped-in-sc-private-field-usage.js | 
          ---
description: PrivateName CallExpression usage (private field) (fields definition wrapped in semicolons)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public]
flags: [generated]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateName
--- | 
          1052 | 
        
        
          | wrapped-in-sc-private-method-getter-usage.js | 
          ---
description: PrivateName CallExpression usage (Accesor get method) (fields definition wrapped in semicolons)
esid: prod-FieldDefinition
features: [class-methods-private, class, class-fields-public]
flags: [generated]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateName
--- | 
          1081 | 
        
        
          | wrapped-in-sc-private-method-usage.js | 
          ---
description: PrivateName CallExpression usage (private method) (fields definition wrapped in semicolons)
esid: prod-FieldDefinition
features: [class-methods-private, class, class-fields-public]
flags: [generated]
info: |
    Updated Productions
    CallExpression[Yield, Await]:
      CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await]
      SuperCall[?Yield, ?Await]
      CallExpression[?Yield, ?Await]Arguments[?Yield, ?Await]
      CallExpression[?Yield, ?Await][Expression[+In, ?Yield, ?Await]]
      CallExpression[?Yield, ?Await].IdentifierName
      CallExpression[?Yield, ?Await]TemplateLiteral[?Yield, ?Await]
      CallExpression[?Yield, ?Await].PrivateName
--- | 
          1068 | 
        
        
          | wrapped-in-sc-private-names.js | 
          ---
description: private names (fields definition wrapped in semicolons)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public]
flags: [generated]
info: |
    ClassElement :
      ...
      FieldDefinition ;
    FieldDefinition :
      ClassElementName Initializer_opt
    ClassElementName :
      PrivateName
    PrivateName :
      # IdentifierName
--- | 
          1629 | 
        
        
          | wrapped-in-sc-rs-field-identifier-initializer.js | 
          ---
description: Valid FieldDefinition (fields definition wrapped in semicolons)
esid: prod-FieldDefinition
features: [class-fields-public, class]
flags: [generated]
info: |
    ClassElement :
      ...
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
    PropertyName :
      LiteralPropertyName
      ComputedPropertyName
    LiteralPropertyName :
      IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          1684 | 
        
        
          | wrapped-in-sc-rs-field-identifier.js | 
          ---
description: Valid FieldDefinition (fields definition wrapped in semicolons)
esid: prod-FieldDefinition
features: [class-fields-public, class]
flags: [generated]
info: |
    ClassElement :
      ...
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
    PropertyName :
      LiteralPropertyName
      ComputedPropertyName
    LiteralPropertyName :
      IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          1734 | 
        
        
          | wrapped-in-sc-rs-private-getter-alt.js | 
          ---
description: Valid PrivateName as private getter (fields definition wrapped in semicolons)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public]
flags: [generated]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ...
      get ClassElementName ( ){ FunctionBody }
      ...
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2379 | 
        
        
          | wrapped-in-sc-rs-private-getter.js | 
          ---
description: Valid PrivateName as private getter (fields definition wrapped in semicolons)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public]
flags: [generated]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ...
      get ClassElementName ( ){ FunctionBody }
      ...
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2438 | 
        
        
          | wrapped-in-sc-rs-private-method-alt.js | 
          ---
description: Valid PrivateName as private method (fields definition wrapped in semicolons)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public]
flags: [generated]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ClassElementName ( UniqueFormalParameters ) { FunctionBody }
      ...
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2377 | 
        
        
          | wrapped-in-sc-rs-private-method.js | 
          ---
description: Valid PrivateName as private method (fields definition wrapped in semicolons)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public]
flags: [generated]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ClassElementName ( UniqueFormalParameters ) { FunctionBody }
      ...
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2436 | 
        
        
          | wrapped-in-sc-rs-private-setter-alt.js | 
          ---
description: Valid PrivateName as private setter (fields definition wrapped in semicolons)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public]
flags: [generated]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ...
      set ClassElementName ( PropertySetParameterList ) { FunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2431 | 
        
        
          | wrapped-in-sc-rs-private-setter.js | 
          ---
description: Valid PrivateName as private setter (fields definition wrapped in semicolons)
esid: prod-FieldDefinition
features: [class-methods-private, class-fields-private, class, class-fields-public]
flags: [generated]
info: |
    ClassElement :
      MethodDefinition
      ...
      ;
    MethodDefinition :
      ...
      set ClassElementName ( PropertySetParameterList ) { FunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2490 | 
        
        
          | wrapped-in-sc-rs-privatename-identifier-alt.js | 
          ---
description: Valid PrivateName (fields definition wrapped in semicolons)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public]
flags: [generated]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2077 | 
        
        
          | wrapped-in-sc-rs-privatename-identifier-initializer-alt.js | 
          ---
description: Valid PrivateName (fields definition wrapped in semicolons)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public]
flags: [generated]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          1929 | 
        
        
          | wrapped-in-sc-rs-privatename-identifier-initializer.js | 
          ---
description: Valid PrivateName (fields definition wrapped in semicolons)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public]
flags: [generated]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          1961 | 
        
        
          | wrapped-in-sc-rs-privatename-identifier.js | 
          ---
description: Valid PrivateName (fields definition wrapped in semicolons)
esid: prod-FieldDefinition
features: [class-fields-private, class, class-fields-public]
flags: [generated]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2118 | 
        
        
          | wrapped-in-sc-rs-static-async-generator-method-privatename-identifier-alt.js | 
          ---
description: Valid Static AsyncGeneratorMethod PrivateName (fields definition wrapped in semicolons)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public]
flags: [generated, async]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      AsyncGeneratorMethod
    AsyncGeneratorMethod :
      async [no LineTerminator here] * ClassElementName ( UniqueFormalParameters){ AsyncGeneratorBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2969 | 
        
        
          | wrapped-in-sc-rs-static-async-generator-method-privatename-identifier.js | 
          ---
description: Valid Static AsyncGeneratorMethod PrivateName (fields definition wrapped in semicolons)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public]
flags: [generated, async]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      AsyncGeneratorMethod
    AsyncGeneratorMethod :
      async [no LineTerminator here] * ClassElementName ( UniqueFormalParameters){ AsyncGeneratorBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2788 | 
        
        
          | wrapped-in-sc-rs-static-async-method-privatename-identifier-alt.js | 
          ---
description: Valid Static AsyncMethod PrivateName (fields definition wrapped in semicolons)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public]
flags: [generated, async]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      AsyncMethod
    AsyncMethod :
      async [no LineTerminator here] ClassElementName ( UniqueFormalParameters ){ AsyncFunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2948 | 
        
        
          | wrapped-in-sc-rs-static-async-method-privatename-identifier.js | 
          ---
description: Valid Static AsyncMethod PrivateName (fields definition wrapped in semicolons)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public]
flags: [generated, async]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      AsyncMethod
    AsyncMethod :
      async [no LineTerminator here] ClassElementName ( UniqueFormalParameters ){ AsyncFunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2761 | 
        
        
          | wrapped-in-sc-rs-static-generator-method-privatename-identifier-alt.js | 
          ---
description: Valid Static GeneratorMethod PrivateName (fields definition wrapped in semicolons)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public]
flags: [generated]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      GeneratorMethod
    GeneratorMethod :
 ClassElementName ( UniqueFormalParameters ){ GeneratorBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2567 | 
        
        
          | wrapped-in-sc-rs-static-generator-method-privatename-identifier.js | 
          ---
description: Valid Static GeneratorMethod PrivateName (fields definition wrapped in semicolons)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public]
flags: [generated]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      GeneratorMethod
    GeneratorMethod :
 ClassElementName ( UniqueFormalParameters ){ GeneratorBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2500 | 
        
        
          | wrapped-in-sc-rs-static-method-privatename-identifier-alt.js | 
          ---
description: Valid Static Method PrivateName (fields definition wrapped in semicolons)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public]
flags: [generated]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      ClassElementName ( UniqueFormalParameters ){ FunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2561 | 
        
        
          | wrapped-in-sc-rs-static-method-privatename-identifier.js | 
          ---
description: Valid Static Method PrivateName (fields definition wrapped in semicolons)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public]
flags: [generated]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    MethodDefinition :
      ClassElementName ( UniqueFormalParameters ){ FunctionBody }
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2373 | 
        
        
          | wrapped-in-sc-rs-static-privatename-identifier-alt-by-classname.js | 
          ---
description: Valid Static PrivateName (fields definition wrapped in semicolons)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public]
flags: [generated]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2426 | 
        
        
          | wrapped-in-sc-rs-static-privatename-identifier-alt.js | 
          ---
description: Valid Static PrivateName (fields definition wrapped in semicolons)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public]
flags: [generated]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2449 | 
        
        
          | wrapped-in-sc-rs-static-privatename-identifier-by-classname.js | 
          ---
description: Valid Static PrivateName (fields definition wrapped in semicolons)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public]
flags: [generated]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2231 | 
        
        
          | wrapped-in-sc-rs-static-privatename-identifier-initializer-alt-by-classname.js | 
          ---
description: Valid Static PrivateName (fields definition wrapped in semicolons)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public]
flags: [generated]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2060 | 
        
        
          | wrapped-in-sc-rs-static-privatename-identifier-initializer-alt.js | 
          ---
description: Valid Static PrivateName (fields definition wrapped in semicolons)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public]
flags: [generated]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2065 | 
        
        
          | wrapped-in-sc-rs-static-privatename-identifier-initializer.js | 
          ---
description: Valid Static PrivateName (fields definition wrapped in semicolons)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public]
flags: [generated]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2097 | 
        
        
          | wrapped-in-sc-rs-static-privatename-identifier.js | 
          ---
description: Valid Static PrivateName (fields definition wrapped in semicolons)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public]
flags: [generated]
info: |
    ClassElement :
      MethodDefinition
      static MethodDefinition
      FieldDefinition ;
      static FieldDefinition ;
      ;
    FieldDefinition :
      ClassElementName Initializer _opt
    ClassElementName :
      PropertyName
      PrivateName
    PrivateName ::
      # IdentifierName
    IdentifierName ::
      IdentifierStart
      IdentifierName IdentifierPart
    IdentifierStart ::
      UnicodeIDStart
      $
      _
      \ UnicodeEscapeSequence
    IdentifierPart::
      UnicodeIDContinue
      $
      \ UnicodeEscapeSequence
      <ZWNJ> <ZWJ>
    UnicodeIDStart::
      any Unicode code point with the Unicode property "ID_Start"
    UnicodeIDContinue::
      any Unicode code point with the Unicode property "ID_Continue"
    NOTE 3
    The sets of code points with Unicode properties "ID_Start" and
    "ID_Continue" include, respectively, the code points with Unicode
    properties "Other_ID_Start" and "Other_ID_Continue".
--- | 
          2254 | 
        
        
          | wrapped-in-sc-static-private-fields.js | 
          ---
description: static private fields (fields definition wrapped in semicolons)
esid: prod-FieldDefinition
features: [class-static-fields-private, class, class-fields-public]
flags: [generated]
info: |
    ClassElement :
      ...
      static FieldDefinition ;
    FieldDefinition :
      ClassElementName Initializer_opt
    ClassElementName :
      PrivateName
    PrivateName :
      # IdentifierName
--- | 
          1687 | 
        
        
          | wrapped-in-sc-static-private-methods-with-fields.js | 
          ---
description: static private methods with fields (fields definition wrapped in semicolons)
esid: prod-FieldDefinition
features: [class-static-methods-private, class-static-fields-private, class, class-fields-public]
flags: [generated]
info: |
    ClassElement :
      ...
      static FieldDefinition ;
    FieldDefinition :
      ClassElementName Initializer_opt
    ClassElementName :
      PrivateName
    PrivateName :
      # IdentifierName
--- | 
          2449 | 
        
        
          | wrapped-in-sc-static-private-methods.js | 
          ---
description: static private methods (fields definition wrapped in semicolons)
esid: prod-FieldDefinition
features: [class-static-methods-private, class, class-fields-public]
flags: [generated]
info: |
    ClassElement :
      ...
      static FieldDefinition ;
    FieldDefinition :
      ClassElementName Initializer_opt
    ClassElementName :
      PrivateName
    PrivateName :
      # IdentifierName
--- | 
          1737 | 
        
        
          | wrapped-in-sc-string-literal-names.js | 
          ---
description: String literal names (fields definition wrapped in semicolons)
esid: prod-FieldDefinition
features: [class-fields-public, class]
flags: [generated]
includes: [propertyHelper.js]
info: |
    ClassElement:
      ...
      FieldDefinition ;
    FieldDefinition:
      ClassElementName Initializer_opt
    ClassElementName:
      PropertyName
--- | 
          2078 |