tor-browser

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

new-sc-line-gen-rs-static-generator-method-privatename-identifier.js (2870B)


      1 // This file was procedurally generated from the following sources:
      2 // - src/class-elements/rs-static-generator-method-privatename-identifier.case
      3 // - src/class-elements/productions/cls-decl-new-sc-line-generator.template
      4 /*---
      5 description: Valid Static GeneratorMethod PrivateName (field definitions followed by a method in a new line with a semicolon)
      6 esid: prod-FieldDefinition
      7 features: [class-static-methods-private, class, class-fields-public, generators]
      8 flags: [generated]
      9 includes: [propertyHelper.js]
     10 info: |
     11    ClassElement :
     12      MethodDefinition
     13      static MethodDefinition
     14      FieldDefinition ;
     15      static FieldDefinition ;
     16      ;
     17 
     18    MethodDefinition :
     19      GeneratorMethod
     20 
     21    GeneratorMethod :
     22      * ClassElementName ( UniqueFormalParameters ){ GeneratorBody }
     23 
     24    ClassElementName :
     25      PropertyName
     26      PrivateName
     27 
     28    PrivateName ::
     29      # IdentifierName
     30 
     31    IdentifierName ::
     32      IdentifierStart
     33      IdentifierName IdentifierPart
     34 
     35    IdentifierStart ::
     36      UnicodeIDStart
     37      $
     38      _
     39      \ UnicodeEscapeSequence
     40 
     41    IdentifierPart::
     42      UnicodeIDContinue
     43      $
     44      \ UnicodeEscapeSequence
     45      <ZWNJ> <ZWJ>
     46 
     47    UnicodeIDStart::
     48      any Unicode code point with the Unicode property "ID_Start"
     49 
     50    UnicodeIDContinue::
     51      any Unicode code point with the Unicode property "ID_Continue"
     52 
     53 
     54    NOTE 3
     55    The sets of code points with Unicode properties "ID_Start" and
     56    "ID_Continue" include, respectively, the code points with Unicode
     57    properties "Other_ID_Start" and "Other_ID_Continue".
     58 
     59 ---*/
     60 
     61 
     62 class C {
     63  static * #$(value) {
     64    yield * value;
     65  }
     66  static * #_(value) {
     67    yield * value;
     68  }
     69  static * #\u{6F}(value) {
     70    yield * value;
     71  }
     72  static * #\u2118(value) {
     73    yield * value;
     74  }
     75  static * #ZW_\u200C_NJ(value) {
     76    yield * value;
     77  }
     78  static * #ZW_\u200D_J(value) {
     79    yield * value;
     80  };
     81  *m() { return 42; }
     82  static get $() {
     83    return this.#$;
     84  }
     85  static get _() {
     86    return this.#_;
     87  }
     88  static get \u{6F}() {
     89    return this.#\u{6F};
     90  }
     91  static get \u2118() {
     92    return this.#\u2118;
     93  }
     94  static get ZW_\u200C_NJ() {
     95    return this.#ZW_\u200C_NJ;
     96  }
     97  static get ZW_\u200D_J() {
     98    return this.#ZW_\u200D_J;
     99  }
    100 
    101 }
    102 
    103 var c = new C();
    104 
    105 assert.sameValue(c.m().next().value, 42);
    106 assert.sameValue(c.m, C.prototype.m);
    107 assert(
    108  !Object.prototype.hasOwnProperty.call(c, "m"),
    109  "m doesn't appear as an own property on the C instance"
    110 );
    111 
    112 verifyProperty(C.prototype, "m", {
    113  enumerable: false,
    114  configurable: true,
    115  writable: true,
    116 });
    117 
    118 assert.sameValue(C.$([1]).next().value, 1);
    119 assert.sameValue(C._([1]).next().value, 1);
    120 assert.sameValue(C.\u{6F}([1]).next().value, 1);
    121 assert.sameValue(C.\u2118([1]).next().value, 1);
    122 assert.sameValue(C.ZW_\u200C_NJ([1]).next().value, 1);
    123 assert.sameValue(C.ZW_\u200D_J([1]).next().value, 1);
    124 
    125 
    126 reportCompare(0, 0);