after-same-line-static-gen-grammar-privatename-identifier-semantics-stringvalue.js (2877B)
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-decl-after-same-line-static-gen.template 4 /*--- 5 description: PrivateName Static Semantics, StringValue (field definitions after a static generator in the same line) 6 esid: prod-FieldDefinition 7 features: [class-fields-private, generators, 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 class C { 67 static *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().next().value, 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( 97 !Object.prototype.hasOwnProperty.call(C.prototype, "m"), 98 "m doesn't appear as an own property on the C prototype" 99 ); 100 101 verifyProperty(C, "m", { 102 enumerable: false, 103 configurable: true, 104 writable: true, 105 }); 106 107 assert.sameValue(c.o(1), 1); 108 assert.sameValue(c.℘(1), 1); 109 assert.sameValue(c.ZW__NJ(1), 1); 110 assert.sameValue(c.ZW__J(1), 1); 111 112 reportCompare(0, 0);