PrivateClassFields.golden 7.5 KB
Newer Older
1 2 3 4 5 6 7
#
# Autogenerated by generate-bytecode-expectations.
#

---
wrap: yes

8 9 10 11
---
snippet: "
  {
    class A {
12 13 14 15
      #a;
      constructor() {
        this.#a = 1;
      }
16 17 18
    }
  
    class B {
19
      #a = 1;
20 21 22 23 24
    }
    new A;
    new B;
  }
"
25
frame size: 7
26
parameter count: 1
27
bytecode array length: 114
28
bytecodes: [
29
                B(CreateBlockContext), U8(0),
30
                B(PushContext), R(2),
31
                B(LdaConstant), U8(2),
32
                B(Star4),
33
                B(LdaConstant), U8(2),
34
                B(Star4),
35
  /*   30 E> */ B(CallRuntime), U16(Runtime::kCreatePrivateNameSymbol), R(4), U8(1),
36
                B(StaCurrentContextSlot), U8(2),
37
                B(LdaTheHole),
38
                B(Star6),
39
                B(CreateClosure), U8(3), U8(0), U8(2),
40
                B(Star3),
41
                B(LdaConstant), U8(1),
42
                B(Star4),
43 44
                B(Mov), R(3), R(5),
                B(CallRuntime), U16(Runtime::kDefineClass), R(4), U8(3),
45
                B(CreateClosure), U8(4), U8(1), U8(2),
46
                B(Star4),
47
                B(SetNamedProperty), R(3), U8(5), U8(0),
48
                B(PopContext), R(2),
49
                B(Mov), R(5), R(0),
50
                B(CreateBlockContext), U8(6),
51
                B(PushContext), R(2),
52
                B(LdaConstant), U8(2),
53
                B(Star4),
54
                B(LdaConstant), U8(2),
55
                B(Star4),
56
  /*   38 E> */ B(CallRuntime), U16(Runtime::kCreatePrivateNameSymbol), R(4), U8(1),
57
                B(StaCurrentContextSlot), U8(2),
58
                B(LdaTheHole),
59
                B(Star6),
60
                B(CreateClosure), U8(8), U8(2), U8(2),
61
                B(Star3),
62
                B(LdaConstant), U8(7),
63
                B(Star4),
64 65
                B(Mov), R(3), R(5),
                B(CallRuntime), U16(Runtime::kDefineClass), R(4), U8(3),
66
                B(CreateClosure), U8(9), U8(3), U8(2),
67
                B(Star4),
68
                B(SetNamedProperty), R(3), U8(5), U8(2),
69
                B(PopContext), R(2),
70
                B(Mov), R(5), R(1),
71 72 73 74
  /*  136 S> */ B(Ldar), R(0),
  /*  136 E> */ B(Construct), R(0), R(0), U8(0), U8(4),
  /*  145 S> */ B(Ldar), R(1),
  /*  145 E> */ B(Construct), R(1), R(0), U8(0), U8(6),
75
                B(LdaUndefined),
76
  /*  154 S> */ B(Return),
77 78
]
constant pool: [
79
  SCOPE_INFO_TYPE,
80
  FIXED_ARRAY_TYPE,
81
  ONE_BYTE_INTERNALIZED_STRING_TYPE ["#a"],
82
  SHARED_FUNCTION_INFO_TYPE,
83
  SHARED_FUNCTION_INFO_TYPE,
84
  SYMBOL_TYPE,
85
  SCOPE_INFO_TYPE,
86 87 88 89 90 91 92
  FIXED_ARRAY_TYPE,
  SHARED_FUNCTION_INFO_TYPE,
  SHARED_FUNCTION_INFO_TYPE,
]
handlers: [
]

93 94 95 96
---
snippet: "
  {
    class A extends class {} {
97 98 99 100 101
      #a;
      constructor() {
        super();
        this.#a = 1;
      }
102 103 104
    }
  
    class B extends class {} {
105 106 107 108
      #a = 1;
      #b = this.#a;
      foo() { return this.#a; }
      bar(v) { this.#b = v; }
109 110
      constructor() {
        super();
111 112
        this.foo();
        this.bar(3);
113 114 115
      }
    }
  
116
    class C extends B {
117
      #a = 2;
118 119 120 121 122 123 124 125
      constructor() {
        (() => super())();
      }
    }
  
    new A;
    new B;
    new C;
126
  };
127
"
128
frame size: 12
129
parameter count: 1
130
bytecode array length: 232
131
bytecodes: [
132
                B(CreateBlockContext), U8(0),
133
                B(PushContext), R(3),
134
                B(LdaConstant), U8(2),
135
                B(Star5),
136
                B(LdaConstant), U8(2),
137
                B(Star5),
138
  /*   30 E> */ B(CallRuntime), U16(Runtime::kCreatePrivateNameSymbol), R(5), U8(1),
139
                B(StaCurrentContextSlot), U8(2),
140
                B(LdaTheHole),
141
                B(Star11),
142
                B(CreateClosure), U8(4), U8(0), U8(2),
143
                B(Star8),
144
                B(LdaConstant), U8(3),
145
                B(Star9),
146 147
                B(Mov), R(8), R(10),
                B(CallRuntime), U16(Runtime::kDefineClass), R(9), U8(3),
148
                B(CreateClosure), U8(5), U8(1), U8(2),
149
                B(Star4),
150
                B(LdaConstant), U8(1),
151
                B(Star5),
152 153 154
                B(Mov), R(4), R(6),
                B(Mov), R(10), R(7),
                B(CallRuntime), U16(Runtime::kDefineClass), R(5), U8(3),
155
                B(CreateClosure), U8(6), U8(2), U8(2),
156
                B(Star5),
157
                B(SetNamedProperty), R(4), U8(7), U8(0),
158
                B(PopContext), R(3),
159
                B(Mov), R(6), R(0),
160
                B(CreateBlockContext), U8(8),
161
                B(PushContext), R(3),
162
                B(LdaConstant), U8(2),
163
                B(Star5),
164
                B(LdaConstant), U8(2),
165
                B(Star5),
166
  /*   38 E> */ B(CallRuntime), U16(Runtime::kCreatePrivateNameSymbol), R(5), U8(1),
167
                B(StaCurrentContextSlot), U8(2),
168
                B(LdaConstant), U8(10),
169
                B(Star5),
170
                B(LdaConstant), U8(10),
171
                B(Star5),
172
                B(CallRuntime), U16(Runtime::kCreatePrivateNameSymbol), R(5), U8(1),
173
                B(StaCurrentContextSlot), U8(3),
174
                B(LdaTheHole),
175
                B(Star11),
176
                B(CreateClosure), U8(12), U8(3), U8(2),
177
                B(Star8),
178
                B(LdaConstant), U8(11),
179
                B(Star9),
180 181
                B(Mov), R(8), R(10),
                B(CallRuntime), U16(Runtime::kDefineClass), R(9), U8(3),
182
                B(CreateClosure), U8(13), U8(4), U8(2),
183
                B(Star4),
184
                B(LdaConstant), U8(9),
185
                B(Star5),
186
                B(CreateClosure), U8(14), U8(5), U8(2),
187
                B(Star8),
188
                B(CreateClosure), U8(15), U8(6), U8(2),
189
                B(Star9),
190 191 192 193
                B(Mov), R(4), R(6),
                B(Mov), R(10), R(7),
                B(CallRuntime), U16(Runtime::kDefineClass), R(5), U8(5),
                B(CreateClosure), U8(16), U8(7), U8(2),
194
                B(Star5),
195
                B(SetNamedProperty), R(4), U8(7), U8(2),
196
                B(PopContext), R(3),
197
                B(Mov), R(6), R(1),
198
                B(CreateBlockContext), U8(17),
199
                B(PushContext), R(3),
200
                B(LdaConstant), U8(2),
201
                B(Star5),
202
                B(LdaConstant), U8(2),
203
                B(Star5),
204
  /*  140 E> */ B(CallRuntime), U16(Runtime::kCreatePrivateNameSymbol), R(5), U8(1),
205
                B(StaCurrentContextSlot), U8(2),
206
  /*  356 E> */ B(CreateClosure), U8(19), U8(8), U8(2),
207
                B(Star4),
208
                B(LdaConstant), U8(18),
209
                B(Star5),
210 211 212
                B(Mov), R(4), R(6),
                B(Mov), R(1), R(7),
                B(CallRuntime), U16(Runtime::kDefineClass), R(5), U8(3),
213
                B(CreateClosure), U8(20), U8(9), U8(2),
214
                B(Star5),
215
                B(SetNamedProperty), R(4), U8(7), U8(4),
216
                B(PopContext), R(3),
217
                B(Mov), R(6), R(2),
218 219 220 221 222 223
  /*  430 S> */ B(Ldar), R(0),
  /*  430 E> */ B(Construct), R(0), R(0), U8(0), U8(6),
  /*  439 S> */ B(Ldar), R(1),
  /*  439 E> */ B(Construct), R(1), R(0), U8(0), U8(8),
  /*  448 S> */ B(Ldar), R(2),
  /*  448 E> */ B(Construct), R(2), R(0), U8(0), U8(10),
224
                B(LdaUndefined),
225
  /*  458 S> */ B(Return),
226 227
]
constant pool: [
228
  SCOPE_INFO_TYPE,
229
  FIXED_ARRAY_TYPE,
230
  ONE_BYTE_INTERNALIZED_STRING_TYPE ["#a"],
231 232 233 234 235
  FIXED_ARRAY_TYPE,
  SHARED_FUNCTION_INFO_TYPE,
  SHARED_FUNCTION_INFO_TYPE,
  SHARED_FUNCTION_INFO_TYPE,
  SYMBOL_TYPE,
236
  SCOPE_INFO_TYPE,
237
  FIXED_ARRAY_TYPE,
238
  ONE_BYTE_INTERNALIZED_STRING_TYPE ["#b"],
239 240
  FIXED_ARRAY_TYPE,
  SHARED_FUNCTION_INFO_TYPE,
241 242 243
  SHARED_FUNCTION_INFO_TYPE,
  SHARED_FUNCTION_INFO_TYPE,
  SHARED_FUNCTION_INFO_TYPE,
244
  SHARED_FUNCTION_INFO_TYPE,
245
  SCOPE_INFO_TYPE,
246 247 248 249 250 251 252
  FIXED_ARRAY_TYPE,
  SHARED_FUNCTION_INFO_TYPE,
  SHARED_FUNCTION_INFO_TYPE,
]
handlers: [
]