• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# source binary: arkcompiler/runtime_core/abc2program/tests/CommonSyntax.abc
2
3# ====================
4# LITERALS
5
6_ESModuleRecord_2652 { 8 [ i32:0, i32:0, i32:0, i32:1, string:"ClassA", string:"ClassA", i32:0, i32:0, ]}
7
8_ESScopeNamesRecord_2618 { 12 [ tag_value:5, string:"Person", tag_value:5, string:"fetchData", tag_value:5, string:"TestA", tag_value:5, string:"ClassA", tag_value:5, string:"Parent", tag_value:5, string:"Child", ]}
9
10_GLOBAL_2688 { 8 [ tag_value:5, string:"sayHello", tag_value:6, method:.#~@4>#sayHello, tag_value:9, method_affiliate:0, tag_value:2, i32:1, ]}
11
12_GLOBAL_2710 { 8 [ tag_value:5, string:"sayHello", tag_value:6, method:.#~@5>#sayHello, tag_value:9, method_affiliate:0, tag_value:2, i32:1, ]}
13
14_GLOBAL_2732 { 4 [ tag_value:5, string:"mySymbol", tag_value:5, string:"prop", ]}
15
16_GLOBAL_2746 { 6 [ tag_value:2, i32:1, tag_value:2, i32:2, tag_value:2, i32:3, ]}
17
18_GLOBAL_2765 { 14 [ tag_value:5, string:"name", tag_value:5, string:"Alice", tag_value:5, string:"age", tag_value:2, i32:25, tag_value:5, string:"greet", tag_value:6, method:.#*#greet^1, tag_value:9, method_affiliate:0, ]}
19
20_GLOBAL_2802 { 8 [ tag_value:5, string:"gender", tag_value:5, string:"男", tag_value:5, string:"grade", tag_value:5, string:"2", ]}
21
22_GLOBAL_2826 { 6 [ tag_value:2, i32:1, tag_value:2, i32:2, tag_value:2, i32:3, ]}
23
24_GLOBAL_2845 { 8 [ tag_value:5, string:"greet", tag_value:6, method:.#~@0>#greet, tag_value:9, method_affiliate:0, tag_value:2, i32:1, ]}
25
26_GLOBAL_2867 { 2 [ tag_value:2, i32:0, ]}
27
28_GLOBAL_2876 { 2 [ tag_value:2, i32:0, ]}
29
30
31
32# ====================
33# RECORDS
34
35.language ECMAScript
36.record _ESExpectedPropertyCountAnnotation {
37}
38.record.source_file
39
40.language ECMAScript
41.record _ESModuleRecord {
42	u32 arkcompiler/runtime_core/abc2program/tests/ts/release-line-number/CommonSyntax.ts _ESModuleRecord_2652
43}
44.record.source_file
45
46.language ECMAScript
47.record _ESScopeNamesRecord {
48	u32 arkcompiler/runtime_core/abc2program/tests/ts/release-line-number/CommonSyntax.ts _ESScopeNamesRecord_2618
49}
50.record.source_file
51
52.language ECMAScript
53.record _ESSlotNumberAnnotation {
54}
55.record.source_file
56
57.language ECMAScript
58.record _GLOBAL {
59}
60.record.source_file
61
62
63# ====================
64# METHODS
65
66.function_kind FunctionKind::NC_FUNCTION
67 _ESSlotNumberAnnotation
68 SlotNumber 5
69.language ECMAScript
70.function any .#*#(any a0, any a1, any a2, any a3) {
71	tryldglobalbyname 0x0, console           # line: 133           # column: 0
72	sta v0                                   # line: 133           # column: 0
73	ldobjbyname 0x1, log                     # line: 133           # column: 0
74	callthis1 0x3, v0, a3                    # line: 133           # column: 0
75	returnundefined                          # line: 134           # column: 0
76}
77
78.function_kind FunctionKind::NC_FUNCTION
79 _ESSlotNumberAnnotation
80 SlotNumber 5
81.language ECMAScript
82.function any .#*#^1(any a0, any a1, any a2, any a3) {
83	tryldglobalbyname 0x0, console           # line: 135           # column: 0
84	sta v0                                   # line: 135           # column: 0
85	ldobjbyname 0x1, error                   # line: 135           # column: 0
86	sta v1                                   # line: 135           # column: 0
87	lda.str An error occurred:               # line: 135           # column: 0
88	sta v2                                   # line: 135           # column: 0
89	lda v1                                   # line: 135           # column: 0
90	callthis2 0x3, v0, v2, a3                # line: 135           # column: 0
91	returnundefined                          # line: 136           # column: 0
92}
93
94.function_kind FunctionKind::NC_FUNCTION
95 _ESSlotNumberAnnotation
96 SlotNumber 10
97.language ECMAScript
98.function any .#*#^2(any a0, any a1, any a2, any a3) {
99	tryldglobalbyname 0x0, console           # line: 158           # column: 0
100	sta v0                                   # line: 158           # column: 0
101	ldobjbyname 0x1, error                   # line: 158           # column: 0
102	sta v1                                   # line: 158           # column: 0
103	lda.str YY start throw error             # line: 158           # column: 0
104	sta v2                                   # line: 158           # column: 0
105	lda v1                                   # line: 158           # column: 0
106	callthis1 0x3, v0, v2                    # line: 158           # column: 0
107	tryldglobalbyname 0x5, console           # line: 159           # column: 0
108	sta v0                                   # line: 159           # column: 0
109	ldobjbyname 0x6, log                     # line: 159           # column: 0
110	sta v1                                   # line: 159           # column: 0
111	lda.str yy execute then                  # line: 159           # column: 0
112	sta v2                                   # line: 159           # column: 0
113	lda v1                                   # line: 159           # column: 0
114	callthis1 0x8, v0, v2                    # line: 159           # column: 0
115	returnundefined                          # line: 160           # column: 0
116}
117
118.function_kind FunctionKind::NC_FUNCTION
119 _ESSlotNumberAnnotation
120 SlotNumber 5
121.language ECMAScript
122.function any .#*#^3(any a0, any a1, any a2, any a3) {
123	tryldglobalbyname 0x0, console           # line: 161           # column: 0
124	sta v0                                   # line: 161           # column: 0
125	ldobjbyname 0x1, error                   # line: 161           # column: 0
126	sta v1                                   # line: 161           # column: 0
127	lda.str yy occur error                   # line: 161           # column: 0
128	sta v2                                   # line: 161           # column: 0
129	lda v1                                   # line: 161           # column: 0
130	callthis1 0x3, v0, v2                    # line: 161           # column: 0
131	returnundefined                          # line: 162           # column: 0
132}
133
134.function_kind FunctionKind::NC_FUNCTION
135 _ESSlotNumberAnnotation
136 SlotNumber 5
137.language ECMAScript
138.function any .#*#^4(any a0, any a1, any a2) {
139	tryldglobalbyname 0x0, console           # line: 163           # column: 0
140	sta v0                                   # line: 163           # column: 0
141	ldobjbyname 0x1, error                   # line: 163           # column: 0
142	sta v1                                   # line: 163           # column: 0
143	lda.str yy occur finally                 # line: 163           # column: 0
144	sta v2                                   # line: 163           # column: 0
145	lda v1                                   # line: 163           # column: 0
146	callthis1 0x3, v0, v2                    # line: 163           # column: 0
147	returnundefined                          # line: 164           # column: 0
148}
149
150.function_kind FunctionKind::NC_FUNCTION
151 _ESSlotNumberAnnotation
152 SlotNumber 5
153.language ECMAScript
154.function any .#*#^5(any a0, any a1, any a2, any a3) {
155	tryldglobalbyname 0x0, console           # line: 192           # column: 0
156	sta v0                                   # line: 192           # column: 0
157	ldobjbyname 0x1, log                     # line: 192           # column: 0
158	sta v1                                   # line: 192           # column: 0
159	lda.str resolved                         # line: 192           # column: 0
160	sta v2                                   # line: 192           # column: 0
161	lda v1                                   # line: 192           # column: 0
162	callthis2 0x3, v0, v2, a3                # line: 192           # column: 0
163	returnundefined                          # line: 193           # column: 0
164}
165
166.function_kind FunctionKind::NC_FUNCTION
167 _ESSlotNumberAnnotation
168 SlotNumber 5
169.language ECMAScript
170.function any .#*#^6(any a0, any a1, any a2, any a3) {
171	tryldglobalbyname 0x0, console           # line: 196           # column: 0
172	sta v0                                   # line: 196           # column: 0
173	ldobjbyname 0x1, error                   # line: 196           # column: 0
174	sta v1                                   # line: 196           # column: 0
175	lda.str caught                           # line: 196           # column: 0
176	sta v2                                   # line: 196           # column: 0
177	lda v1                                   # line: 196           # column: 0
178	callthis2 0x3, v0, v2, a3                # line: 196           # column: 0
179	returnundefined                          # line: 197           # column: 0
180}
181
182.function_kind FunctionKind::NC_FUNCTION
183 _ESSlotNumberAnnotation
184 SlotNumber 5
185.language ECMAScript
186.function any .#*#^7(any a0, any a1, any a2) {
187	tryldglobalbyname 0x0, console           # line: 199           # column: 0
188	sta v0                                   # line: 199           # column: 0
189	ldobjbyname 0x1, log                     # line: 199           # column: 0
190	sta v1                                   # line: 199           # column: 0
191	lda.str cleanup done                     # line: 199           # column: 0
192	sta v2                                   # line: 199           # column: 0
193	lda v1                                   # line: 199           # column: 0
194	callthis1 0x3, v0, v2                    # line: 199           # column: 0
195	returnundefined                          # line: 200           # column: 0
196}
197
198.function_kind FunctionKind::FUNCTION
199 _ESSlotNumberAnnotation
200 SlotNumber 7
201.language ECMAScript
202.function any .#*#defaultGreet(any a0, any a1, any a2, any a3) {
203	ldundefined                              # line: 100           # column: 0
204	stricteq 0x0, a3                         # line: 100           # column: 0
205	jeqz label@5                             # line: 100           # column: 0
206	lda.str js                               # line: 100           # column: 0
207	sta a3                                   # line: 100           # column: 0
208	label@5:                                 # line: 0           # column: 0
209	tryldglobalbyname 0x1, console           # line: 101           # column: 0
210	sta v0                                   # line: 101           # column: 0
211	ldobjbyname 0x2, log                     # line: 101           # column: 0
212	sta v1                                   # line: 101           # column: 0
213	lda.str Hello,                           # line: 101           # column: 0
214	sta v2                                   # line: 101           # column: 0
215	lda a3                                   # line: 101           # column: 0
216	add2 0x4, v2                             # line: 101           # column: 0
217	sta v2                                   # line: 101           # column: 0
218	lda v1                                   # line: 101           # column: 0
219	callthis1 0x5, v0, v2                    # line: 101           # column: 0
220	returnundefined                          # line: 102           # column: 0
221}
222
223.function_kind FunctionKind::ASYNC_FUNCTION
224 _ESSlotNumberAnnotation
225 SlotNumber 13
226.language ECMAScript
227.function any .#*#fetchAndDisplayData(any a0, any a1, any a2) {
228	nop                                      # line: 18446744073709551615           # column: 0
229	asyncfunctionenter                       # line: 18446744073709551615           # column: 0
230	sta v0                                   # line: 18446744073709551615           # column: 0
231	label@3:                                 # line: 0           # column: 0
232	mov v1, v0                               # line: 18446744073709551615           # column: 0
233	ldlexvar 0x0, 0x0                        # line: 140           # column: 0
234	callarg0 0x0                             # line: 140           # column: 0
235	asyncfunctionawaituncaught v0            # line: 140           # column: 0
236	suspendgenerator v0                      # line: 140           # column: 0
237	lda v0                                   # line: 140           # column: 0
238	resumegenerator                          # line: 140           # column: 0
239	sta v4                                   # line: 140           # column: 0
240	lda v0                                   # line: 140           # column: 0
241	getresumemode                            # line: 140           # column: 0
242	sta v5                                   # line: 140           # column: 0
243	ldai 0x1                                 # line: 140           # column: 0
244	eq 0x2, v5                               # line: 140           # column: 0
245	jeqz label@19                            # line: 140           # column: 0
246	lda v4                                   # line: 140           # column: 0
247	throw                                    # line: 140           # column: 0
248	label@19:                                # line: 0           # column: 0
249	tryldglobalbyname 0x3, console           # line: 141           # column: 0
250	sta v5                                   # line: 141           # column: 0
251	ldobjbyname 0x4, log                     # line: 141           # column: 0
252	callthis1 0x6, v5, v4                    # line: 141           # column: 0
253	label@23:                                # line: 0           # column: 0
254	jmp label@34                             # line: 141           # column: 0
255	label@24:                                # line: 0           # column: 0
256	sta v3                                   # line: 142           # column: 0
257	mov v1, v0                               # line: 142           # column: 0
258	tryldglobalbyname 0x8, console           # line: 143           # column: 0
259	sta v4                                   # line: 143           # column: 0
260	ldobjbyname 0x9, error                   # line: 143           # column: 0
261	sta v5                                   # line: 143           # column: 0
262	lda.str An error occurred:               # line: 143           # column: 0
263	sta v6                                   # line: 143           # column: 0
264	lda v5                                   # line: 143           # column: 0
265	callthis2 0xb, v4, v6, v3                # line: 143           # column: 0
266	label@34:                                # line: 0           # column: 0
267	mov v1, v0                               # line: 143           # column: 0
268	ldundefined                              # line: 18446744073709551615           # column: 0
269	asyncfunctionresolve v0                  # line: 18446744073709551615           # column: 0
270	return                                   # line: 145           # column: 0
271	label@38:                                # line: 0           # column: 0
272	sta v2                                   # line: 138           # column: 0
273	lda v2                                   # line: 138           # column: 0
274	asyncfunctionreject v1                   # line: 138           # column: 0
275	return                                   # line: 145           # column: 0
276.catchall :
277	try_begin_label : label@3
278	try_end_label : label@23
279	catch_begin_label : label@24
280	catch_end_label : label@24
281.catchall :
282	try_begin_label : label@3
283	try_end_label : label@38
284	catch_begin_label : label@38
285	catch_end_label : label@38
286}
287
288.function_kind FunctionKind::FUNCTION
289 _ESSlotNumberAnnotation
290 SlotNumber 4
291.language ECMAScript
292.function any .#*#fetchData(any a0, any a1, any a2) {
293	tryldglobalbyname 0x0, Promise           # line: 125           # column: 0
294	sta v0                                   # line: 125           # column: 0
295	definefunc 0x1, .#*@1*#, 0x2             # line: 125           # column: 0
296	sta v1                                   # line: 125           # column: 0
297	mov v2, v0                               # line: 125           # column: 0
298	mov v3, v1                               # line: 125           # column: 0
299	newobjrange 0x2, 0x2, v2                 # line: 125           # column: 0
300	return                                   # line: 130           # column: 0
301}
302
303.function_kind FunctionKind::NC_FUNCTION
304 _ESSlotNumberAnnotation
305 SlotNumber 6
306.language ECMAScript
307.function any .#*#greet(any a0, any a1, any a2, any a3) {
308	tryldglobalbyname 0x0, console           # line: 77           # column: 0
309	sta v0                                   # line: 77           # column: 0
310	ldobjbyname 0x1, log                     # line: 77           # column: 0
311	sta v1                                   # line: 77           # column: 0
312	lda.str Hello,                           # line: 77           # column: 0
313	sta v2                                   # line: 77           # column: 0
314	lda a3                                   # line: 77           # column: 0
315	add2 0x3, v2                             # line: 77           # column: 0
316	sta v2                                   # line: 77           # column: 0
317	lda v1                                   # line: 77           # column: 0
318	callthis1 0x4, v0, v2                    # line: 77           # column: 0
319	returnundefined                          # line: 78           # column: 0
320}
321
322.function_kind FunctionKind::NONE
323 _ESSlotNumberAnnotation
324 SlotNumber 8
325.language ECMAScript
326.function any .#*#greet^1(any a0, any a1, any a2) {
327	tryldglobalbyname 0x0, console           # line: 86           # column: 0
328	sta v0                                   # line: 86           # column: 0
329	ldobjbyname 0x1, log                     # line: 86           # column: 0
330	sta v1                                   # line: 86           # column: 0
331	lda.str Hello,                           # line: 86           # column: 0
332	sta v2                                   # line: 86           # column: 0
333	lda a2                                   # line: 86           # column: 0
334	ldobjbyname 0x3, name                    # line: 86           # column: 0
335	add2 0x5, v2                             # line: 86           # column: 0
336	sta v2                                   # line: 86           # column: 0
337	lda v1                                   # line: 86           # column: 0
338	callthis1 0x6, v0, v2                    # line: 86           # column: 0
339	returnundefined                          # line: 87           # column: 0
340}
341
342.function_kind FunctionKind::FUNCTION
343 _ESSlotNumberAnnotation
344 SlotNumber 1
345.language ECMAScript
346.function any .#*#sum(any a0, any a1, any a2, any a3, any a4) {
347	lda a4                                   # line: 30           # column: 0
348	add2 0x0, a3                             # line: 30           # column: 0
349	return                                   # line: 31           # column: 0
350}
351
352.function_kind FunctionKind::NC_FUNCTION
353 _ESSlotNumberAnnotation
354 SlotNumber 4
355.language ECMAScript
356.function any .#*@1*#(any a0, any a1, any a2, any a3, any a4) {
357	newlexenv 0x1                            # line: 18446744073709551615           # column: 0
358	lda a3                                   # line: 18446744073709551615           # column: 0
359	stlexvar 0x0, 0x0                        # line: 18446744073709551615           # column: 0
360	tryldglobalbyname 0x0, setTimeout        # line: 126           # column: 0
361	sta v0                                   # line: 126           # column: 0
362	definefunc 0x1, .#*@1**#, 0x0            # line: 126           # column: 0
363	sta v1                                   # line: 126           # column: 0
364	ldai 0x3e8                               # line: 126           # column: 0
365	sta v2                                   # line: 126           # column: 0
366	lda v0                                   # line: 126           # column: 0
367	callargs2 0x2, v1, v2                    # line: 126           # column: 0
368	returnundefined                          # line: 129           # column: 0
369}
370
371.function_kind FunctionKind::NC_FUNCTION
372 _ESSlotNumberAnnotation
373 SlotNumber 2
374.language ECMAScript
375.function any .#*@1**#(any a0, any a1, any a2) {
376	ldlexvar 0x0, 0x0                        # line: 127           # column: 0
377	sta v0                                   # line: 127           # column: 0
378	lda.str Data fetched successfully!       # line: 127           # column: 0
379	sta v1                                   # line: 127           # column: 0
380	lda v0                                   # line: 127           # column: 0
381	callarg1 0x0, v1                         # line: 127           # column: 0
382	returnundefined                          # line: 128           # column: 0
383}
384
385.function_kind FunctionKind::NONE
386 _ESExpectedPropertyCountAnnotation
387 ExpectedPropertyCount 2
388 _ESSlotNumberAnnotation
389 SlotNumber 4
390.language ECMAScript
391.function any .#~@0=#Person(any a0, any a1, any a2, any a3, any a4) {
392	lda a3                                   # line: 112           # column: 0
393	stobjbyname 0x0, name, a2                # line: 112           # column: 0
394	lda a4                                   # line: 113           # column: 0
395	stobjbyname 0x2, age, a2                 # line: 113           # column: 0
396	lda a2                                   # line: 114           # column: 0
397	return                                   # line: 114           # column: 0
398}
399
400.function_kind FunctionKind::NONE
401 _ESSlotNumberAnnotation
402 SlotNumber 8
403.language ECMAScript
404.function any .#~@0>#greet(any a0, any a1, any a2) {
405	tryldglobalbyname 0x0, console           # line: 117           # column: 0
406	sta v0                                   # line: 117           # column: 0
407	ldobjbyname 0x1, log                     # line: 117           # column: 0
408	sta v1                                   # line: 117           # column: 0
409	lda.str Hello,                           # line: 117           # column: 0
410	sta v2                                   # line: 117           # column: 0
411	lda a2                                   # line: 117           # column: 0
412	ldobjbyname 0x3, name                    # line: 117           # column: 0
413	add2 0x5, v2                             # line: 117           # column: 0
414	sta v2                                   # line: 117           # column: 0
415	lda v1                                   # line: 117           # column: 0
416	callthis1 0x6, v0, v2                    # line: 117           # column: 0
417	returnundefined                          # line: 118           # column: 0
418}
419
420.function_kind FunctionKind::NONE
421 _ESSlotNumberAnnotation
422 SlotNumber 2
423.language ECMAScript
424.function any .#~@2=#TestA(any a0, any a1, any a2, any a3) {
425	lda a3                                   # line: 149           # column: 0
426	stobjbyname 0x0, value, a2               # line: 149           # column: 0
427	lda a2                                   # line: 149           # column: 0
428	return                                   # line: 149           # column: 0
429}
430
431.function_kind FunctionKind::FUNCTION
432 _ESExpectedPropertyCountAnnotation
433 ExpectedPropertyCount 1
434 _ESSlotNumberAnnotation
435 SlotNumber 4
436.language ECMAScript
437.function any .#~@3=#ClassA(any a0, any a1, any a2) {
438	ldlexvar 0x0, 0x1                        # line: 153           # column: 0
439	sta v0                                   # line: 153           # column: 0
440	throw.undefinedifholewithname TestA      # line: 153           # column: 0
441	ldai 0x64                                # line: 153           # column: 0
442	sta v1                                   # line: 153           # column: 0
443	mov v2, v0                               # line: 153           # column: 0
444	mov v3, v1                               # line: 153           # column: 0
445	newobjrange 0x0, 0x2, v2                 # line: 153           # column: 0
446	stobjbyname 0x2, a, a2                   # line: 153           # column: 0
447	lda a2                                   # line: 153           # column: 0
448	return                                   # line: 153           # column: 0
449}
450
451.function_kind FunctionKind::FUNCTION
452 _ESSlotNumberAnnotation
453 SlotNumber 0
454.language ECMAScript
455.function any .#~@4=#Parent(any a0, any a1, any a2) {
456	lda a2                                   # line: 0           # column: 0
457	return                                   # line: 0           # column: 0
458}
459
460.function_kind FunctionKind::NONE
461 _ESSlotNumberAnnotation
462 SlotNumber 0
463.language ECMAScript
464.function any .#~@4>#sayHello(any a0, any a1, any a2) {
465	lda.str Hello from Parent                # line: 175           # column: 0
466	return                                   # line: 176           # column: 0
467}
468
469.function_kind FunctionKind::FUNCTION
470 _ESSlotNumberAnnotation
471 SlotNumber 0
472.language ECMAScript
473.function any .#~@5=#Child(any a0, any a1, any a2, any a3) {
474	callruntime.supercallforwardallargs a0   # line: 18446744073709551615           # column: 0
475	sta v0                                   # line: 18446744073709551615           # column: 0
476	lda a2                                   # line: 18446744073709551615           # column: 0
477	throw.ifsupernotcorrectcall 0x1          # line: 18446744073709551615           # column: 0
478	lda v0                                   # line: 18446744073709551615           # column: 0
479	throw.ifsupernotcorrectcall 0x0          # line: 18446744073709551615           # column: 0
480	lda v0                                   # line: 18446744073709551615           # column: 0
481	return                                   # line: 18446744073709551615           # column: 0
482}
483
484.function_kind FunctionKind::NONE
485 _ESSlotNumberAnnotation
486 SlotNumber 5
487.language ECMAScript
488.function any .#~@5>#sayHello(any a0, any a1, any a2) {
489	lda a2                                   # line: 182           # column: 0
490	ldsuperbyname 0x0, sayHello              # line: 182           # column: 0
491	callthis0 0x2, a2                        # line: 182           # column: 0
492	sta v0                                   # line: 182           # column: 0
493	lda.str  and Child                       # line: 182           # column: 0
494	add2 0x4, v0                             # line: 182           # column: 0
495	return                                   # line: 183           # column: 0
496}
497
498.function_kind FunctionKind::FUNCTION
499 _ESSlotNumberAnnotation
500 SlotNumber 229
501.language ECMAScript
502.function any .func_main_0(any a0, any a1, any a2) {
503	ldai 0x19                                # line: 18446744073709551615           # column: 0
504	sta v0                                   # line: 18446744073709551615           # column: 0
505	newlexenv 0x2                            # line: 18446744073709551615           # column: 0
506	definefunc 0x0, .#*#defaultGreet, 0x0    # line: 18446744073709551615           # column: 0
507	sta v1                                   # line: 18446744073709551615           # column: 0
508	definefunc 0x1, .#*#fetchAndDisplayData, 0x0 # line: 18446744073709551615           # column: 0
509	sta v2                                   # line: 18446744073709551615           # column: 0
510	definefunc 0x2, .#*#fetchData, 0x0       # line: 18446744073709551615           # column: 0
511	stlexvar 0x0, 0x0                        # line: 18446744073709551615           # column: 0
512	lda.str Alice                            # line: 16           # column: 0
513	sta v3                                   # line: 16           # column: 0
514	fldai 3.140000e+00                       # line: 18           # column: 0
515	sta v4                                   # line: 18           # column: 0
516	ldundefined                              # line: 20           # column: 0
517	sta v5                                   # line: 20           # column: 0
518	ldnull                                   # line: 21           # column: 0
519	sta v6                                   # line: 21           # column: 0
520	tryldglobalbyname 0x3, Symbol            # line: 22           # column: 0
521	callarg0 0x4                             # line: 22           # column: 0
522	sta v7                                   # line: 22           # column: 0
523	ldbigint 10                              # line: 23           # column: 0
524	sta v8                                   # line: 23           # column: 0
525	createobjectwithbuffer 0x6, _GLOBAL_2732 # line: 24           # column: 0
526	sta v9                                   # line: 24           # column: 0
527	createarraywithbuffer 0x7, _GLOBAL_2746  # line: 27           # column: 0
528	sta v10                                  # line: 27           # column: 0
529	definefunc 0x8, .#*#sum, 0x2             # line: 29           # column: 0
530	sta v11                                  # line: 29           # column: 0
531	ldai 0x1                                 # line: 29           # column: 0
532	sta v12                                  # line: 29           # column: 0
533	ldai 0x2                                 # line: 29           # column: 0
534	sta v13                                  # line: 29           # column: 0
535	lda v11                                  # line: 32           # column: 0
536	callargs2 0x9, v12, v13                  # line: 32           # column: 0
537	tryldglobalbyname 0xb, Date              # line: 34           # column: 0
538	sta v11                                  # line: 34           # column: 0
539	mov v14, v11                             # line: 34           # column: 0
540	newobjrange 0xc, 0x1, v14                # line: 34           # column: 0
541	tryldglobalbyname 0xe, console           # line: 36           # column: 0
542	sta v11                                  # line: 36           # column: 0
543	ldobjbyname 0xf, log                     # line: 36           # column: 0
544	sta v13                                  # line: 36           # column: 0
545	lda v12                                  # line: 36           # column: 0
546	ldobjbyvalue 0x11, v10                   # line: 36           # column: 0
547	sta v10                                  # line: 36           # column: 0
548	mov v14, v11                             # line: 36           # column: 0
549	mov v15, v3                              # line: 36           # column: 0
550	mov v16, v0                              # line: 36           # column: 0
551	mov v17, v4                              # line: 36           # column: 0
552	mov v18, v5                              # line: 36           # column: 0
553	mov v19, v6                              # line: 36           # column: 0
554	mov v20, v7                              # line: 36           # column: 0
555	mov v21, v8                              # line: 36           # column: 0
556	mov v22, v9                              # line: 36           # column: 0
557	mov v23, v10                             # line: 36           # column: 0
558	lda v13                                  # line: 36           # column: 0
559	callthisrange 0x13, 0x9, v14             # line: 36           # column: 0
560	ldai 0x12                                # line: 36           # column: 0
561	greatereq 0x15, v0                       # line: 39           # column: 0
562	jeqz label@69                            # line: 39           # column: 0
563	tryldglobalbyname 0x16, console          # line: 40           # column: 0
564	sta v3                                   # line: 40           # column: 0
565	ldobjbyname 0x17, log                    # line: 40           # column: 0
566	sta v4                                   # line: 40           # column: 0
567	lda.str Adult                            # line: 40           # column: 0
568	sta v5                                   # line: 40           # column: 0
569	lda v4                                   # line: 40           # column: 0
570	callthis1 0x19, v3, v5                   # line: 40           # column: 0
571	jmp label@77                             # line: 40           # column: 0
572	label@69:                                # line: 0           # column: 0
573	tryldglobalbyname 0x1b, console          # line: 42           # column: 0
574	sta v3                                   # line: 42           # column: 0
575	ldobjbyname 0x1c, log                    # line: 42           # column: 0
576	sta v4                                   # line: 42           # column: 0
577	lda.str Minor                            # line: 42           # column: 0
578	sta v5                                   # line: 42           # column: 0
579	lda v4                                   # line: 42           # column: 0
580	callthis1 0x1e, v3, v5                   # line: 42           # column: 0
581	label@77:                                # line: 0           # column: 0
582	lda.str Monday                           # line: 46           # column: 0
583	sta v3                                   # line: 46           # column: 0
584	lda.str Monday                           # line: 48           # column: 0
585	strictnoteq 0x20, v3                     # line: 48           # column: 0
586	jeqz label@86                            # line: 48           # column: 0
587	lda.str Friday                           # line: 51           # column: 0
588	strictnoteq 0x21, v3                     # line: 51           # column: 0
589	jeqz label@95                            # line: 51           # column: 0
590	jmp label@104                            # line: 51           # column: 0
591	label@86:                                # line: 0           # column: 0
592	tryldglobalbyname 0x22, console          # line: 49           # column: 0
593	sta v3                                   # line: 49           # column: 0
594	ldobjbyname 0x23, log                    # line: 49           # column: 0
595	sta v4                                   # line: 49           # column: 0
596	lda.str Start of the week                # line: 49           # column: 0
597	sta v5                                   # line: 49           # column: 0
598	lda v4                                   # line: 49           # column: 0
599	callthis1 0x25, v3, v5                   # line: 49           # column: 0
600	jmp label@112                            # line: 49           # column: 0
601	label@95:                                # line: 0           # column: 0
602	tryldglobalbyname 0x27, console          # line: 52           # column: 0
603	sta v3                                   # line: 52           # column: 0
604	ldobjbyname 0x28, log                    # line: 52           # column: 0
605	sta v4                                   # line: 52           # column: 0
606	lda.str End of the week                  # line: 52           # column: 0
607	sta v5                                   # line: 52           # column: 0
608	lda v4                                   # line: 52           # column: 0
609	callthis1 0x2a, v3, v5                   # line: 52           # column: 0
610	jmp label@112                            # line: 52           # column: 0
611	label@104:                               # line: 0           # column: 0
612	tryldglobalbyname 0x2c, console          # line: 55           # column: 0
613	sta v3                                   # line: 55           # column: 0
614	ldobjbyname 0x2d, log                    # line: 55           # column: 0
615	sta v4                                   # line: 55           # column: 0
616	lda.str Midweek                          # line: 55           # column: 0
617	sta v5                                   # line: 55           # column: 0
618	lda v4                                   # line: 55           # column: 0
619	callthis1 0x2f, v3, v5                   # line: 55           # column: 0
620	label@112:                               # line: 0           # column: 0
621	ldai 0x5                                 # line: 55           # column: 0
622	sta v3                                   # line: 55           # column: 0
623	ldai 0x0                                 # line: 55           # column: 0
624	sta v4                                   # line: 55           # column: 0
625	mov v5, v4                               # line: 55           # column: 0
626	label@117:                               # line: 0           # column: 0
627	lda v3                                   # line: 59           # column: 0
628	less 0x31, v5                            # line: 59           # column: 0
629	jeqz label@129                           # line: 59           # column: 0
630	tryldglobalbyname 0x32, console          # line: 60           # column: 0
631	sta v6                                   # line: 60           # column: 0
632	ldobjbyname 0x33, log                    # line: 60           # column: 0
633	callthis1 0x35, v6, v5                   # line: 60           # column: 0
634	lda v5                                   # line: 59           # column: 0
635	tonumeric 0x37                           # line: 59           # column: 0
636	inc 0x38                                 # line: 59           # column: 0
637	sta v5                                   # line: 59           # column: 0
638	jmp label@117                            # line: 59           # column: 0
639	label@129:                               # line: 0           # column: 0
640	mov v5, v4                               # line: 59           # column: 0
641	label@130:                               # line: 0           # column: 0
642	lda v3                                   # line: 65           # column: 0
643	less 0x39, v5                            # line: 65           # column: 0
644	jeqz label@142                           # line: 65           # column: 0
645	tryldglobalbyname 0x3a, console          # line: 66           # column: 0
646	sta v6                                   # line: 66           # column: 0
647	ldobjbyname 0x3b, log                    # line: 66           # column: 0
648	callthis1 0x3d, v6, v5                   # line: 66           # column: 0
649	lda v5                                   # line: 67           # column: 0
650	tonumeric 0x3f                           # line: 67           # column: 0
651	inc 0x40                                 # line: 67           # column: 0
652	sta v5                                   # line: 67           # column: 0
653	jmp label@130                            # line: 67           # column: 0
654	label@142:                               # line: 0           # column: 0
655	tryldglobalbyname 0x41, console          # line: 71           # column: 0
656	sta v6                                   # line: 71           # column: 0
657	ldobjbyname 0x42, log                    # line: 71           # column: 0
658	callthis1 0x44, v6, v5                   # line: 71           # column: 0
659	lda v5                                   # line: 72           # column: 0
660	tonumeric 0x46                           # line: 72           # column: 0
661	inc 0x47                                 # line: 72           # column: 0
662	sta v5                                   # line: 72           # column: 0
663	lda v3                                   # line: 73           # column: 0
664	less 0x48, v5                            # line: 73           # column: 0
665	jnez label@142                           # line: 73           # column: 0
666	definefunc 0x49, .#*#greet, 0x1          # line: 76           # column: 0
667	sta v5                                   # line: 76           # column: 0
668	lda.str js                               # line: 79           # column: 0
669	sta v6                                   # line: 79           # column: 0
670	lda v5                                   # line: 79           # column: 0
671	callarg1 0x4a, v6                        # line: 79           # column: 0
672	createobjectwithbuffer 0x4c, _GLOBAL_2765 # line: 82           # column: 0
673	sta v5                                   # line: 82           # column: 0
674	ldobjbyname 0x4d, greet                  # line: 89           # column: 0
675	callthis0 0x4f, v5                       # line: 89           # column: 0
676	lda.str Js                               # line: 92           # column: 0
677	sta v6                                   # line: 92           # column: 0
678	lda.str Hello,                           # line: 93           # column: 0
679	sta v7                                   # line: 93           # column: 0
680	lda v6                                   # line: 93           # column: 0
681	add2 0x51, v7                            # line: 93           # column: 0
682	sta v6                                   # line: 93           # column: 0
683	lda.str !                                # line: 93           # column: 0
684	add2 0x52, v6                            # line: 93           # column: 0
685	createobjectwithbuffer 0x53, _GLOBAL_2802 # line: 96           # column: 0
686	lda v5                                   # line: 97           # column: 0
687	ldobjbyname 0x54, gender                 # line: 97           # column: 0
688	lda v5                                   # line: 97           # column: 0
689	ldobjbyname 0x56, grade                  # line: 97           # column: 0
690	lda v1                                   # line: 103           # column: 0
691	callarg0 0x58                            # line: 103           # column: 0
692	createarraywithbuffer 0x5a, _GLOBAL_2826 # line: 106           # column: 0
693	sta v1                                   # line: 106           # column: 0
694	createemptyarray 0x5b                    # line: 107           # column: 0
695	sta v5                                   # line: 107           # column: 0
696	lda v1                                   # line: 107           # column: 0
697	starrayspread v5, v4                     # line: 107           # column: 0
698	lda v5                                   # line: 107           # column: 0
699	ldobjbyname 0x5c, length                 # line: 107           # column: 0
700	sta v1                                   # line: 107           # column: 0
701	ldai 0x4                                 # line: 107           # column: 0
702	stownbyvalue 0x5e, v5, v1                # line: 107           # column: 0
703	lda v1                                   # line: 107           # column: 0
704	inc 0x60                                 # line: 107           # column: 0
705	sta v1                                   # line: 107           # column: 0
706	lda v3                                   # line: 107           # column: 0
707	stownbyvalue 0x61, v5, v1                # line: 107           # column: 0
708	lda v1                                   # line: 107           # column: 0
709	inc 0x63                                 # line: 107           # column: 0
710	ldhole                                   # line: 110           # column: 0
711	sta v1                                   # line: 110           # column: 0
712	defineclasswithbuffer 0x64, .#~@0=#Person, _GLOBAL_2845, 0x2, v1 # line: 110           # column: 0
713	sta v1                                   # line: 110           # column: 0
714	ldobjbyname 0x65, prototype              # line: 110           # column: 0
715	lda.str Alice                            # line: 120           # column: 0
716	sta v3                                   # line: 120           # column: 0
717	mov v14, v1                              # line: 120           # column: 0
718	mov v15, v3                              # line: 120           # column: 0
719	mov v16, v0                              # line: 120           # column: 0
720	newobjrange 0x67, 0x3, v14               # line: 120           # column: 0
721	sta v0                                   # line: 120           # column: 0
722	ldobjbyname 0x69, greet                  # line: 121           # column: 0
723	callthis0 0x6b, v0                       # line: 121           # column: 0
724	ldlexvar 0x0, 0x0                        # line: 132           # column: 0
725	callarg0 0x6d                            # line: 132           # column: 0
726	sta v0                                   # line: 132           # column: 0
727	ldobjbyname 0x6f, then                   # line: 132           # column: 0
728	sta v1                                   # line: 132           # column: 0
729	definefunc 0x71, .#*#, 0x1               # line: 132           # column: 0
730	sta v3                                   # line: 132           # column: 0
731	lda v1                                   # line: 132           # column: 0
732	callthis1 0x72, v0, v3                   # line: 132           # column: 0
733	sta v0                                   # line: 132           # column: 0
734	ldobjbyname 0x74, catch                  # line: 134           # column: 0
735	sta v1                                   # line: 134           # column: 0
736	definefunc 0x76, .#*#^1, 0x1             # line: 134           # column: 0
737	sta v3                                   # line: 134           # column: 0
738	lda v1                                   # line: 134           # column: 0
739	callthis1 0x77, v0, v3                   # line: 134           # column: 0
740	lda v2                                   # line: 146           # column: 0
741	callarg0 0x79                            # line: 146           # column: 0
742	ldhole                                   # line: 148           # column: 0
743	sta v0                                   # line: 148           # column: 0
744	defineclasswithbuffer 0x7b, .#~@2=#TestA, _GLOBAL_2867, 0x1, v0 # line: 148           # column: 0
745	sta v0                                   # line: 148           # column: 0
746	ldobjbyname 0x7c, prototype              # line: 148           # column: 0
747	lda v0                                   # line: 148           # column: 0
748	stlexvar 0x0, 0x1                        # line: 148           # column: 0
749	ldhole                                   # line: 152           # column: 0
750	sta v0                                   # line: 152           # column: 0
751	defineclasswithbuffer 0x7e, .#~@3=#ClassA, _GLOBAL_2876, 0x0, v0 # line: 152           # column: 0
752	sta v0                                   # line: 152           # column: 0
753	ldobjbyname 0x7f, prototype              # line: 152           # column: 0
754	lda v0                                   # line: 152           # column: 0
755	stmodulevar 0x0                          # line: 152           # column: 0
756	tryldglobalbyname 0x81, a                # line: 157           # column: 0
757	sta v0                                   # line: 157           # column: 0
758	ldobjbyname 0x82, then                   # line: 157           # column: 0
759	sta v1                                   # line: 157           # column: 0
760	definefunc 0x84, .#*#^2, 0x1             # line: 157           # column: 0
761	sta v2                                   # line: 157           # column: 0
762	lda v1                                   # line: 157           # column: 0
763	callthis1 0x85, v0, v2                   # line: 157           # column: 0
764	sta v0                                   # line: 157           # column: 0
765	ldobjbyname 0x87, catch                  # line: 160           # column: 0
766	sta v1                                   # line: 160           # column: 0
767	definefunc 0x89, .#*#^3, 0x1             # line: 160           # column: 0
768	sta v2                                   # line: 160           # column: 0
769	lda v1                                   # line: 160           # column: 0
770	callthis1 0x8a, v0, v2                   # line: 160           # column: 0
771	sta v0                                   # line: 160           # column: 0
772	ldobjbyname 0x8c, finally                # line: 162           # column: 0
773	sta v1                                   # line: 162           # column: 0
774	definefunc 0x8e, .#*#^4, 0x0             # line: 162           # column: 0
775	sta v2                                   # line: 162           # column: 0
776	lda v1                                   # line: 162           # column: 0
777	callthis1 0x8f, v0, v2                   # line: 162           # column: 0
778	lda v9                                   # line: 168           # column: 0
779	ldobjbyname 0x91, foo                    # line: 168           # column: 0
780	callthis0 0x93, v9                       # line: 168           # column: 0
781	ldobjbyname 0x95, bar                    # line: 169           # column: 0
782	sta v0                                   # line: 169           # column: 0
783	lda v4                                   # line: 169           # column: 0
784	ldobjbyvalue 0x97, v0                    # line: 169           # column: 0
785	sta v0                                   # line: 169           # column: 0
786	ldobjbyname 0x99, baz                    # line: 170           # column: 0
787	callthis0 0x9b, v0                       # line: 170           # column: 0
788	ldhole                                   # line: 173           # column: 0
789	sta v0                                   # line: 173           # column: 0
790	defineclasswithbuffer 0x9d, .#~@4=#Parent, _GLOBAL_2688, 0x0, v0 # line: 173           # column: 0
791	sta v0                                   # line: 173           # column: 0
792	ldobjbyname 0x9e, prototype              # line: 173           # column: 0
793	defineclasswithbuffer 0xa0, .#~@5=#Child, _GLOBAL_2710, 0x0, v0 # line: 179           # column: 0
794	sta v0                                   # line: 179           # column: 0
795	ldobjbyname 0xa1, prototype              # line: 179           # column: 0
796	mov v14, v0                              # line: 179           # column: 0
797	newobjrange 0xa3, 0x1, v14               # line: 186           # column: 0
798	sta v0                                   # line: 186           # column: 0
799	tryldglobalbyname 0xa5, console          # line: 187           # column: 0
800	sta v1                                   # line: 187           # column: 0
801	ldobjbyname 0xa6, log                    # line: 187           # column: 0
802	sta v2                                   # line: 187           # column: 0
803	lda v0                                   # line: 187           # column: 0
804	ldobjbyname 0xa8, sayHello               # line: 187           # column: 0
805	callthis0 0xaa, v0                       # line: 187           # column: 0
806	sta v0                                   # line: 187           # column: 0
807	lda v2                                   # line: 187           # column: 0
808	callthis1 0xac, v1, v0                   # line: 187           # column: 0
809	tryldglobalbyname 0xae, somePromise      # line: 190           # column: 0
810	sta v0                                   # line: 190           # column: 0
811	ldobjbyname 0xaf, then                   # line: 191           # column: 0
812	sta v1                                   # line: 191           # column: 0
813	definefunc 0xb1, .#*#^5, 0x1             # line: 191           # column: 0
814	sta v2                                   # line: 191           # column: 0
815	lda v1                                   # line: 191           # column: 0
816	callthis1 0xb2, v0, v2                   # line: 191           # column: 0
817	sta v0                                   # line: 191           # column: 0
818	ldobjbyname 0xb4, catch                  # line: 195           # column: 0
819	sta v1                                   # line: 195           # column: 0
820	definefunc 0xb6, .#*#^6, 0x1             # line: 195           # column: 0
821	sta v2                                   # line: 195           # column: 0
822	lda v1                                   # line: 195           # column: 0
823	callthis1 0xb7, v0, v2                   # line: 195           # column: 0
824	sta v0                                   # line: 195           # column: 0
825	ldobjbyname 0xb9, finally                # line: 198           # column: 0
826	sta v1                                   # line: 198           # column: 0
827	definefunc 0xbb, .#*#^7, 0x0             # line: 198           # column: 0
828	sta v2                                   # line: 198           # column: 0
829	lda v1                                   # line: 198           # column: 0
830	callthis1 0xbc, v0, v2                   # line: 198           # column: 0
831	tryldglobalbyname 0xbe, someObj          # line: 203           # column: 0
832	ldobjbyname 0xbf, very                   # line: 205           # column: 0
833	ldobjbyname 0xc1, deep                   # line: 205           # column: 0
834	ldobjbyname 0xc3, property               # line: 205           # column: 0
835	sta v0                                   # line: 205           # column: 0
836	ldobjbyname 0xc5, toString               # line: 207           # column: 0
837	callthis0 0xc7, v0                       # line: 207           # column: 0
838	tryldglobalbyname 0xc9, someObj          # line: 209           # column: 0
839	ldobjbyname 0xca, prop1                  # line: 210           # column: 0
840	sta v0                                   # line: 210           # column: 0
841	ldnull                                   # line: 209           # column: 0
842	strictnoteq 0xcc, v0                     # line: 209           # column: 0
843	jeqz label@348                           # line: 209           # column: 0
844	ldundefined                              # line: 209           # column: 0
845	strictnoteq 0xcd, v0                     # line: 209           # column: 0
846	jeqz label@348                           # line: 209           # column: 0
847	lda v0                                   # line: 211           # column: 0
848	ldobjbyname 0xce, prop2                  # line: 211           # column: 0
849	callthis0 0xd0, v0                       # line: 211           # column: 0
850	sta v0                                   # line: 211           # column: 0
851	ldobjbyname 0xd2, method                 # line: 212           # column: 0
852	sta v1                                   # line: 212           # column: 0
853	ldnull                                   # line: 209           # column: 0
854	strictnoteq 0xd4, v1                     # line: 209           # column: 0
855	jeqz label@348                           # line: 209           # column: 0
856	ldundefined                              # line: 209           # column: 0
857	strictnoteq 0xd5, v1                     # line: 209           # column: 0
858	jeqz label@348                           # line: 209           # column: 0
859	lda v1                                   # line: 212           # column: 0
860	callthis0 0xd6, v0                       # line: 212           # column: 0
861	label@348:                               # line: 0           # column: 0
862	tryldglobalbyname 0xd8, getContext       # line: 215           # column: 0
863	callarg0 0xd9                            # line: 215           # column: 0
864	ldobjbyname 0xdb, config                 # line: 216           # column: 0
865	sta v0                                   # line: 216           # column: 0
866	ldnull                                   # line: 215           # column: 0
867	strictnoteq 0xdd, v0                     # line: 215           # column: 0
868	jeqz label@363                           # line: 215           # column: 0
869	ldundefined                              # line: 215           # column: 0
870	strictnoteq 0xde, v0                     # line: 215           # column: 0
871	jeqz label@363                           # line: 215           # column: 0
872	lda.str someKey                          # line: 217           # column: 0
873	ldobjbyvalue 0xdf, v0                    # line: 217           # column: 0
874	sta v0                                   # line: 217           # column: 0
875	ldobjbyname 0xe1, toLowerCase            # line: 218           # column: 0
876	callthis0 0xe3, v0                       # line: 218           # column: 0
877	label@363:                               # line: 0           # column: 0
878	returnundefined                          # line: 18446744073709551615           # column: 0
879}
880
881# ====================
882# STRING
883 and Child
884!
885.#*#
886.#*#^1
887.#*#^2
888.#*#^3
889.#*#^4
890.#*#^5
891.#*#^6
892.#*#^7
893.#*#defaultGreet
894.#*#fetchAndDisplayData
895.#*#fetchData
896.#*#greet
897.#*#sum
898.#*@1*#
899.#*@1**#
900.#~@0=#Person
901.#~@2=#TestA
902.#~@3=#ClassA
903.#~@4=#Parent
904.#~@5=#Child
90510
906Adult
907Alice
908An error occurred:
909Data fetched successfully!
910Date
911End of the week
912Friday
913Hello from Parent
914Hello,
915Js
916Midweek
917Minor
918Monday
919Promise
920Start of the week
921Symbol
922TestA
923YY start throw error
924a
925age
926bar
927baz
928catch
929caught
930cleanup done
931config
932console
933deep
934error
935finally
936foo
937gender
938getContext
939grade
940greet
941js
942length
943log
944method
945name
946prop1
947prop2
948property
949prototype
950resolved
951sayHello
952setTimeout
953someKey
954someObj
955somePromise
956then
957toLowerCase
958toString
959value
960very
961yy execute then
962yy occur error
963yy occur finally
964