tor-browser

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

after-same-line-method-grammar-privatename-identifier-semantics-stringvalue.js (2755B)


      1 // This file was procedurally generated from the following sources:
      2 // - src/class-elements/grammar-privatename-identifier-semantics-stringvalue.case
      3 // - src/class-elements/productions/cls-expr-after-same-line-method.template
      4 /*---
      5 description: PrivateName Static Semantics, StringValue (field definitions after a method in the same line)
      6 esid: prod-FieldDefinition
      7 features: [class-fields-private, class, class-fields-public]
      8 flags: [generated]
      9 includes: [propertyHelper.js]
     10 info: |
     11    ClassElement :
     12      MethodDefinition
     13      static MethodDefinition
     14      FieldDefinition ;
     15      ;
     16 
     17    FieldDefinition :
     18      ClassElementName Initializer _opt
     19 
     20    ClassElementName :
     21      PropertyName
     22      PrivateName
     23 
     24    PrivateName ::
     25      # IdentifierName
     26 
     27    IdentifierName ::
     28      IdentifierStart
     29      IdentifierName IdentifierPart
     30 
     31    IdentifierStart ::
     32      UnicodeIDStart
     33      $
     34      _
     35      \ UnicodeEscapeSequence
     36 
     37    IdentifierPart::
     38      UnicodeIDContinue
     39      $
     40      \ UnicodeEscapeSequence
     41      <ZWNJ> <ZWJ>
     42 
     43    UnicodeIDStart::
     44      any Unicode code point with the Unicode property "ID_Start"
     45 
     46    UnicodeIDContinue::
     47      any Unicode code point with the Unicode property "ID_Continue"
     48 
     49 
     50    NOTE 3
     51    The sets of code points with Unicode properties "ID_Start" and
     52    "ID_Continue" include, respectively, the code points with Unicode
     53    properties "Other_ID_Start" and "Other_ID_Continue".
     54 
     55 
     56    1. Return the String value consisting of the sequence of code
     57      units corresponding to PrivateName. In determining the sequence
     58      any occurrences of \ UnicodeEscapeSequence are first replaced
     59      with the code point represented by the UnicodeEscapeSequence
     60      and then the code points of the entire PrivateName are converted
     61      to code units by UTF16Encoding (10.1.1) each code point.
     62 
     63 ---*/
     64 
     65 
     66 var C = class {
     67  m() { return 42; } #\u{6F};
     68  #\u2118;
     69  #ZW_\u200C_NJ;
     70  #ZW_\u200D_J;;
     71  o(value) {
     72    this.#o = value;
     73    return this.#o;
     74  }
     75  (value) {
     76    this.#℘ = value;
     77    return this.#℘;
     78  }
     79  ZW_‌_NJ(value) { // DO NOT CHANGE THE NAME OF THIS METHOD
     80    this.#ZW__NJ = value;
     81    return this.#ZW__NJ;
     82  }
     83  ZW_‍_J(value) { // DO NOT CHANGE THE NAME OF THIS METHOD
     84    this.#ZW__J = value;
     85    return this.#ZW__J;
     86  }
     87 }
     88 
     89 var c = new C();
     90 
     91 assert.sameValue(c.m(), 42);
     92 assert(
     93  !Object.prototype.hasOwnProperty.call(c, "m"),
     94  "m doesn't appear as an own property on the C instance"
     95 );
     96 assert.sameValue(c.m, C.prototype.m);
     97 
     98 verifyProperty(C.prototype, "m", {
     99  enumerable: false,
    100  configurable: true,
    101  writable: true,
    102 });
    103 
    104 assert.sameValue(c.o(1), 1);
    105 assert.sameValue(c.(1), 1);
    106 assert.sameValue(c.ZW_‌_NJ(1), 1);
    107 assert.sameValue(c.ZW_‍_J(1), 1);
    108 
    109 reportCompare(0, 0);