1# Copyright (c) 2021-2024 Huawei Device Co., Ltd.
2# Licensed under the Apache License, Version 2.0 (the "License");
3# you may not use this file except in compliance with the License.
4# You may obtain a copy of the License at
5#
6# http://www.apache.org/licenses/LICENSE-2.0
7#
8# Unless required by applicable law or agreed to in writing, software
9# distributed under the License is distributed on an "AS IS" BASIS,
10# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11# See the License for the specific language governing permissions and
12# limitations under the License.
13
14defines:
15  - name: '-'
16    ref: LAMBDA_SEPARATOR
17  - name: <ctor>
18    ref: CTOR
19  - name: <cctor>
20    ref: CCTOR
21  - name: ETSGLOBAL
22    ref: ETS_GLOBAL
23  - name: _$init$_
24    ref: INIT_METHOD
25  - name: $_get
26    ref: GET_INDEX_METHOD
27  - name: $_set
28    ref: SET_INDEX_METHOD
29  - name: $_iterator
30    ref: ITERATOR_METHOD
31  - name: 'ambient_indexer'
32    ref: AMBIENT_INDEXER
33  - name: 'ETSGLOBAL.main:'
34    ref: ETS_MAIN_WITH_MANGLE_BEGIN
35  - name: 'main'
36    ref: MAIN
37  - name: ':'
38    ref: MANGLE_BEGIN
39  - name: ';'
40    ref: MANGLE_SEPARATOR
41  - name: '.'
42    ref: METHOD_SEPARATOR
43  - name: '/'
44    ref: NAMESPACE_SEPARATOR
45  - name: any
46    ref: ANY
47  - name: external
48    ref: EXTERNAL
49  - name: ets.extends
50    ref: EXTENDS_ATTRIBUTE
51    comment: ETS annotation type
52  - name: ets.implements
53    ref: IMPLEMENTS_ATTRIBUTE
54    comment: ETS annotation type
55  - name: ets.annotation
56    ref: ANNOTATION_ATTRIBUTE
57    comment: ETS annotation type
58  - name: ets.annotation.type
59    ref: ANNOTATION_ATTRIBUTE_TYPE
60    comment: ETS annotation type
61  - name: ets.debug.import
62    ref: DEBUG_IMPORT_ATTRIBUTE
63    comment: ETS annotation type
64  - name: ets.debug.export
65    ref: DEBUG_EXPORT_ATTRIBUTE
66    comment: ETS annotation type
67  - name: value
68    ref: ANNOTATION_KEY_VALUE
69    comment: ETS annotation key
70  - name: name
71    ref: ANNOTATION_KEY_NAME
72    comment: ETS annotation key
73  - name: accessFlags
74    ref: ANNOTATION_KEY_ACCESS_FLAGS
75    comment: ETS annotation key
76  - name: runtime
77    ref: RUNTIME_ANNOTATION
78    comment: Annotation retention type
79  - name: type
80    ref: TYPE_ANNOTATION
81    comment: Annotation retention type
82  - name: runtime_type
83    ref: RUNTIME_TYPE_ANNOTATION
84    comment: Annotation retention type
85  - name: ets/annotation/InnerClass
86    ref: ETS_ANNOTATION_INNER_CLASS
87    comment: Ets record
88  - name: ets/annotation/EnclosingClass
89    ref: ETS_ANNOTATION_ENCLOSING_CLASS
90    comment: Ets record
91  - name: ets/annotation/EnclosingMethod
92    ref: ETS_ANNOTATION_ENCLOSING_METHOD
93    comment: Ets record
94  - name: ets/annotation/Signature
95    ref: ETS_ANNOTATION_SIGNATURE
96    comment: Ets record
97  - name: ets/coroutine/Async
98    ref: ETS_COROUTINE_ASYNC
99  - name: ets/annotation/DynamicCall
100    ref: ETS_ANNOTATION_DYNAMIC_CALL
101  - name: 'L'
102    ref: CLASS_REF_BEGIN
103  - name: '<'
104    ref: GENERIC_BEGIN
105  - name: '>'
106    ref: GENERIC_END
107  - name: ctor
108    ref: CONSTRUCTOR
109  - name: <get>
110    ref: GETTER_BEGIN
111  - name: <set>
112    ref: SETTER_BEGIN
113  - name: param0
114    ref: CTOR_PARAM0
115  - name: param1
116    ref: CTOR_PARAM1
117  - name: $jscall
118    ref: JSCALL_CLASS
119  - name: $jsnew
120    ref: JSNEW_CLASS
121  - name: $dynmodule
122    ref: DYNAMIC_MODULE_CLASS
123  - name: init
124    ref: DYNAMIC_MODULE_CLASS_INIT
125  - name: $lambdaobject
126    ref: LAMBDA_OBJECT
127  - name: invoke
128    ref: LAMBDA_OBJECT_INVOKE
129  - name: invoke
130    ref: STATIC_INVOKE_METHOD
131  - name: instantiate
132    ref: STATIC_INSTANTIATE_METHOD
133  - name: undefined
134    ref: UNDEFINED
135  - name: 'null'
136    ref: NULL_LITERAL
137  - name: 'Readonly'
138    ref: READONLY_TYPE_NAME
139  - name: 'Partial'
140    ref: PARTIAL_TYPE_NAME
141  - name: 'Required'
142    ref: REQUIRED_TYPE_NAME
143  - name: '<property>'
144    ref: PROPERTY
145
146packages:
147  - name: 'std.core'
148    ref: PKG_STD_CORE
149  - name: 'std.math'
150    ref: PKG_STD_MATH
151  - name: 'std.interop.js'
152    ref: PKG_STD_INTEROP_JS
153  - name: 'escompat'
154    ref: PKG_ESCOMPAT
155
156primitives:
157  - name: u1
158    ref: PRIMITIVE_BOOLEAN
159
160  - name: u16
161    ref: PRIMITIVE_CHAR
162
163  - name: i8
164    ref: PRIMITIVE_BYTE
165
166  - name: i16
167    ref: PRIMITIVE_SHORT
168
169  - name: i32
170    ref: PRIMITIVE_INT
171
172  - name: i64
173    ref: PRIMITIVE_LONG
174
175  - name: f32
176    ref: PRIMITIVE_FLOAT
177
178  - name: f64
179    ref: PRIMITIVE_DOUBLE
180
181  - name: void
182    ref: PRIMITIVE_VOID
183
184typedescriptors:
185  - name: 'Z'
186    ref: TYPE_DESCRIPTOR_BOOLEAN
187
188  - name: 'B'
189    ref: TYPE_DESCRIPTOR_BYTE
190
191  - name: 'H'
192    ref: TYPE_DESCRIPTOR_UBYTE
193
194  - name: 'S'
195    ref: TYPE_DESCRIPTOR_SHORT
196
197  - name: 'C'
198    ref: TYPE_DESCRIPTOR_CHAR
199
200  - name: 'I'
201    ref: TYPE_DESCRIPTOR_INT
202
203  - name: 'U'
204    ref: TYPE_DESCRIPTOR_UINT
205
206  - name: 'F'
207    ref: TYPE_DESCRIPTOR_FLOAT
208
209  - name: 'D'
210    ref: TYPE_DESCRIPTOR_DOUBLE
211
212  - name: 'J'
213    ref: TYPE_DESCRIPTOR_LONG
214
215  - name: 'Q'
216    ref: TYPE_DESCRIPTOR_ULONG
217
218  - name: 'A'
219    ref: TYPE_DESCRIPTOR_ANY
220
221  - name: 'V'
222    ref: TYPE_DESCRIPTOR_VOID
223
224builtins:
225  - name: Object
226    package: PKG_STD_CORE
227    ref: BUILTIN_OBJECT
228  - name: Class
229    package: PKG_STD_CORE
230    ref: BUILTIN_CLASS
231  - name: String
232    package: PKG_STD_CORE
233    ref: BUILTIN_STRING
234  - name: Exception
235    package: PKG_STD_CORE
236    ref: BUILTIN_EXCEPTION
237  - name: Throwable
238    package: PKG_STD_CORE
239    ref: BUILTIN_THROWABLE
240  - name: NullPointerError
241    package: PKG_STD_CORE
242    ref: BUILTIN_NULLPOINTER_ERROR
243  - name: ClassCastError
244    package: PKG_STD_CORE
245    ref: BUILTIN_CLASS_CAST_ERROR
246  - name: StringBuilder
247    package: PKG_STD_CORE
248    ref: BUILTIN_STRING_BUILDER
249  - name: Type
250    package: PKG_STD_CORE
251    ref: BUILTIN_TYPE
252  - name: Boolean
253    package: PKG_STD_CORE
254    ref: BUILTIN_BOOLEAN
255  - name: Char
256    package: PKG_STD_CORE
257    ref: BUILTIN_CHAR
258  - name: Byte
259    package: PKG_STD_CORE
260    ref: BUILTIN_BYTE
261  - name: Short
262    package: PKG_STD_CORE
263    ref: BUILTIN_SHORT
264  - name: Int
265    package: PKG_STD_CORE
266    ref: BUILTIN_INT
267  - name: Long
268    package: PKG_STD_CORE
269    ref: BUILTIN_LONG
270  - name: Float
271    package: PKG_STD_CORE
272    ref: BUILTIN_FLOAT
273  - name: Double
274    package: PKG_STD_CORE
275    ref: BUILTIN_DOUBLE
276  - name: Promise
277    package: PKG_STD_CORE
278    ref: BUILTIN_PROMISE
279  - name: Error
280    package: PKG_ESCOMPAT
281    ref: BUILTIN_ERROR
282  - name: BigInt
283    package: PKG_ESCOMPAT
284    ref: BUILTIN_BIGINT
285  - name: AssertionError
286    package: PKG_STD_CORE
287    ref: BUILTIN_ASSERTION_ERROR
288  - name: Runtime
289    package: PKG_STD_CORE
290    ref: BUILTIN_RUNTIME
291  - name: JSRuntime
292    package: PKG_STD_INTEROP_JS
293    ref: BUILTIN_JSRUNTIME
294  - name: JSValue
295    package: PKG_STD_INTEROP_JS
296    ref: BUILTIN_JSVALUE
297  - name: Box
298    package: PKG_STD_CORE
299    ref: BUILTIN_BOX
300  - name: BooleanBox
301    package: PKG_STD_CORE
302    ref: BUILTIN_BOOLEAN_BOX
303  - name: ByteBox
304    package: PKG_STD_CORE
305    ref: BUILTIN_BYTE_BOX
306  - name: CharBox
307    package: PKG_STD_CORE
308    ref: BUILTIN_CHAR_BOX
309  - name: ShortBox
310    package: PKG_STD_CORE
311    ref: BUILTIN_SHORT_BOX
312  - name: IntBox
313    package: PKG_STD_CORE
314    ref: BUILTIN_INT_BOX
315  - name: LongBox
316    package: PKG_STD_CORE
317    ref: BUILTIN_LONG_BOX
318  - name: FloatBox
319    package: PKG_STD_CORE
320    ref: BUILTIN_FLOAT_BOX
321  - name: DoubleBox
322    package: PKG_STD_CORE
323    ref: BUILTIN_DOUBLE_BOX
324  - name: Function0
325    package: PKG_STD_CORE
326    ref: BUILTIN_FUNCTION0
327  - name: Function1
328    package: PKG_STD_CORE
329    ref: BUILTIN_FUNCTION1
330  - name: Function2
331    package: PKG_STD_CORE
332    ref: BUILTIN_FUNCTION2
333  - name: Function3
334    package: PKG_STD_CORE
335    ref: BUILTIN_FUNCTION3
336  - name: Function4
337    package: PKG_STD_CORE
338    ref: BUILTIN_FUNCTION4
339  - name: Function5
340    package: PKG_STD_CORE
341    ref: BUILTIN_FUNCTION5
342  - name: Function6
343    package: PKG_STD_CORE
344    ref: BUILTIN_FUNCTION6
345  - name: Function7
346    package: PKG_STD_CORE
347    ref: BUILTIN_FUNCTION7
348  - name: Function8
349    package: PKG_STD_CORE
350    ref: BUILTIN_FUNCTION8
351  - name: Function9
352    package: PKG_STD_CORE
353    ref: BUILTIN_FUNCTION9
354  - name: Function10
355    package: PKG_STD_CORE
356    ref: BUILTIN_FUNCTION10
357  - name: Function11
358    package: PKG_STD_CORE
359    ref: BUILTIN_FUNCTION11
360  - name: Function12
361    package: PKG_STD_CORE
362    ref: BUILTIN_FUNCTION12
363  - name: Function13
364    package: PKG_STD_CORE
365    ref: BUILTIN_FUNCTION13
366  - name: Function14
367    package: PKG_STD_CORE
368    ref: BUILTIN_FUNCTION14
369  - name: Function15
370    package: PKG_STD_CORE
371    ref: BUILTIN_FUNCTION15
372  - name: Function16
373    package: PKG_STD_CORE
374    ref: BUILTIN_FUNCTION16
375  - name: FunctionN
376    package: PKG_STD_CORE
377    ref: BUILTIN_FUNCTIONN
378  - name: ThrowingFunction0
379    package: PKG_STD_CORE
380    ref: BUILTIN_THROWING_FUNCTION0
381  - name: ThrowingFunction1
382    package: PKG_STD_CORE
383    ref: BUILTIN_THROWING_FUNCTION1
384  - name: ThrowingFunction2
385    package: PKG_STD_CORE
386    ref: BUILTIN_THROWING_FUNCTION2
387  - name: ThrowingFunction3
388    package: PKG_STD_CORE
389    ref: BUILTIN_THROWING_FUNCTION3
390  - name: ThrowingFunction4
391    package: PKG_STD_CORE
392    ref: BUILTIN_THROWING_FUNCTION4
393  - name: ThrowingFunction5
394    package: PKG_STD_CORE
395    ref: BUILTIN_THROWING_FUNCTION5
396  - name: ThrowingFunction6
397    package: PKG_STD_CORE
398    ref: BUILTIN_THROWING_FUNCTION6
399  - name: ThrowingFunction7
400    package: PKG_STD_CORE
401    ref: BUILTIN_THROWING_FUNCTION7
402  - name: ThrowingFunction8
403    package: PKG_STD_CORE
404    ref: BUILTIN_THROWING_FUNCTION8
405  - name: ThrowingFunction9
406    package: PKG_STD_CORE
407    ref: BUILTIN_THROWING_FUNCTION9
408  - name: ThrowingFunction10
409    package: PKG_STD_CORE
410    ref: BUILTIN_THROWING_FUNCTION10
411  - name: ThrowingFunction11
412    package: PKG_STD_CORE
413    ref: BUILTIN_THROWING_FUNCTION11
414  - name: ThrowingFunction12
415    package: PKG_STD_CORE
416    ref: BUILTIN_THROWING_FUNCTION12
417  - name: ThrowingFunction13
418    package: PKG_STD_CORE
419    ref: BUILTIN_THROWING_FUNCTION13
420  - name: ThrowingFunction14
421    package: PKG_STD_CORE
422    ref: BUILTIN_THROWING_FUNCTION14
423  - name: ThrowingFunction15
424    package: PKG_STD_CORE
425    ref: BUILTIN_THROWING_FUNCTION15
426  - name: ThrowingFunction16
427    package: PKG_STD_CORE
428    ref: BUILTIN_THROWING_FUNCTION16
429  - name: ThrowingFunctionN
430    package: PKG_STD_CORE
431    ref: BUILTIN_THROWING_FUNCTIONN
432  - name: RethrowingFunction0
433    package: PKG_STD_CORE
434    ref: BUILTIN_RETHROWING_FUNCTION0
435  - name: RethrowingFunction1
436    package: PKG_STD_CORE
437    ref: BUILTIN_RETHROWING_FUNCTION1
438  - name: RethrowingFunction2
439    package: PKG_STD_CORE
440    ref: BUILTIN_RETHROWING_FUNCTION2
441  - name: RethrowingFunction3
442    package: PKG_STD_CORE
443    ref: BUILTIN_RETHROWING_FUNCTION3
444  - name: RethrowingFunction4
445    package: PKG_STD_CORE
446    ref: BUILTIN_RETHROWING_FUNCTION4
447  - name: RethrowingFunction5
448    package: PKG_STD_CORE
449    ref: BUILTIN_RETHROWING_FUNCTION5
450  - name: RethrowingFunction6
451    package: PKG_STD_CORE
452    ref: BUILTIN_RETHROWING_FUNCTION6
453  - name: RethrowingFunction7
454    package: PKG_STD_CORE
455    ref: BUILTIN_RETHROWING_FUNCTION7
456  - name: RethrowingFunction8
457    package: PKG_STD_CORE
458    ref: BUILTIN_RETHROWING_FUNCTION8
459  - name: RethrowingFunction9
460    package: PKG_STD_CORE
461    ref: BUILTIN_RETHROWING_FUNCTION9
462  - name: RethrowingFunction10
463    package: PKG_STD_CORE
464    ref: BUILTIN_RETHROWING_FUNCTION10
465  - name: RethrowingFunction11
466    package: PKG_STD_CORE
467    ref: BUILTIN_RETHROWING_FUNCTION11
468  - name: RethrowingFunction12
469    package: PKG_STD_CORE
470    ref: BUILTIN_RETHROWING_FUNCTION12
471  - name: RethrowingFunction13
472    package: PKG_STD_CORE
473    ref: BUILTIN_RETHROWING_FUNCTION13
474  - name: RethrowingFunction14
475    package: PKG_STD_CORE
476    ref: BUILTIN_RETHROWING_FUNCTION14
477  - name: RethrowingFunction15
478    package: PKG_STD_CORE
479    ref: BUILTIN_RETHROWING_FUNCTION15
480  - name: RethrowingFunction16
481    package: PKG_STD_CORE
482    ref: BUILTIN_RETHROWING_FUNCTION16
483  - name: RethrowingFunctionN
484    package: PKG_STD_CORE
485    ref: BUILTIN_RETHROWING_FUNCTIONN
486
487signatures:
488  - callee: BUILTIN_OBJECT
489    method_name: $CTOR
490    params: []
491    return_type: PRIMITIVE_VOID
492    ref: BUILTIN_OBJECT_CTOR
493
494  - callee: BUILTIN_STRING
495    method_name: $CTOR
496    params: [BUILTIN_STRING]
497    return_type: PRIMITIVE_VOID
498    ref: BUILTIN_STRING_FROM_STRING_CTOR
499
500  - callee: BUILTIN_STRING
501    method_name: $CTOR
502    params: [BUILTIN_OBJECT]
503    return_type: PRIMITIVE_VOID
504    ref: BUILTIN_STRING_FROM_NULLISH_CTOR
505
506  - callee: BUILTIN_OBJECT
507    method_name: toString
508    params: []
509    return_type: BUILTIN_STRING
510    ref: BUILTIN_OBJECT_TO_STRING
511
512  - callee: BUILTIN_OBJECT
513    method_name: equals
514    params: [BUILTIN_OBJECT]
515    return_type: PRIMITIVE_BOOLEAN
516    ref: BUILTIN_OBJECT_EQUALS
517
518  - callee: BUILTIN_STRING
519    method_name: equals
520    params: [BUILTIN_OBJECT]
521    return_type: PRIMITIVE_BOOLEAN
522    ref: BUILTIN_STRING_EQUALS
523
524  - callee: BUILTIN_STRING
525    method_name: getLength
526    params: []
527    return_type: PRIMITIVE_INT
528    ref: BUILTIN_STRING_LENGTH
529
530  - callee: BUILTIN_STRING
531    method_name: charAt
532    params: [PRIMITIVE_INT]
533    return_type: PRIMITIVE_CHAR
534    ref: BUILTIN_STRING_CHAR_AT
535
536  - callee: BUILTIN_ASSERTION_ERROR
537    method_name: $CTOR
538    params: [BUILTIN_STRING]
539    return_type: PRIMITIVE_VOID
540    ref: BUILTIN_ASSERTION_ERROR_CTOR
541
542  - callee: BUILTIN_RUNTIME
543    method_name: failedTypeCastException
544    params: [BUILTIN_OBJECT, BUILTIN_STRING]
545    return_type: BUILTIN_CLASS_CAST_ERROR
546    ref: BUILTIN_RUNTIME_FAILED_TYPE_CAST_EXCEPTION
547
548  - callee: BUILTIN_ERROR
549    method_name: $CTOR
550    params: [BUILTIN_OBJECT]
551    return_type: PRIMITIVE_VOID
552    ref: BUILTIN_ERROR_CTOR
553
554  - callee: BUILTIN_BIGINT
555    method_name: $CTOR
556    params: [BUILTIN_STRING]
557    return_type: PRIMITIVE_VOID
558    ref: BUILTIN_BIGINT_CTOR
559
560  - callee: BUILTIN_BIGINT
561    method_name: $CTOR
562    params: [BUILTIN_BIGINT]
563    return_type: PRIMITIVE_VOID
564    ref: BUILTIN_BIGINT_CTOR_BIGINT
565
566  - callee: BUILTIN_BIGINT
567    method_name: $CTOR
568    params: []
569    return_type: PRIMITIVE_VOID
570    ref: BUILTIN_BIGINT_CTOR_EMPTY
571
572  - callee: BUILTIN_BIGINT
573    method_name: equals
574    params: [BUILTIN_BIGINT]
575    return_type: PRIMITIVE_BOOLEAN
576    ref: BUILTIN_BIGINT_EQUALS
577
578  - callee: BUILTIN_BIGINT
579    method_name: negate
580    params: []
581    return_type: BUILTIN_BIGINT
582    ref: BUILTIN_BIGINT_NEGATE
583
584  - callee: BUILTIN_BIGINT
585    method_name: operatorAdd
586    params: [BUILTIN_BIGINT]
587    return_type: BUILTIN_BIGINT
588    ref: BUILTIN_BIGINT_OPERATOR_ADD
589
590  - callee: BUILTIN_BIGINT
591    method_name: operatorSubtract
592    params: [BUILTIN_BIGINT]
593    return_type: BUILTIN_BIGINT
594    ref: BUILTIN_BIGINT_OPERATOR_SUBTRACT
595
596  - callee: BUILTIN_BIGINT
597    method_name: operatorMultiply
598    params: [BUILTIN_BIGINT]
599    return_type: BUILTIN_BIGINT
600    ref: BUILTIN_BIGINT_OPERATOR_MULTIPLY
601
602  - callee: BUILTIN_BIGINT
603    method_name: operatorDivide
604    params: [BUILTIN_BIGINT]
605    return_type: BUILTIN_BIGINT
606    ref: BUILTIN_BIGINT_OPERATOR_DIVIDE
607
608  - callee: BUILTIN_BIGINT
609    method_name: operatorModule
610    params: [BUILTIN_BIGINT]
611    return_type: BUILTIN_BIGINT
612    ref: BUILTIN_BIGINT_OPERATOR_MODULE
613
614  - callee: BUILTIN_BIGINT
615    method_name: operatorBitwiseOr
616    params: [BUILTIN_BIGINT]
617    return_type: BUILTIN_BIGINT
618    ref: BUILTIN_BIGINT_OPERATOR_BITWISE_OR
619
620  - callee: BUILTIN_BIGINT
621    method_name: operatorBitwiseAnd
622    params: [BUILTIN_BIGINT]
623    return_type: BUILTIN_BIGINT
624    ref: BUILTIN_BIGINT_OPERATOR_BITWISE_AND
625
626  - callee: BUILTIN_BIGINT
627    method_name: operatorBitwiseXor
628    params: [BUILTIN_BIGINT]
629    return_type: BUILTIN_BIGINT
630    ref: BUILTIN_BIGINT_OPERATOR_BITWISE_XOR
631
632  - callee: BUILTIN_BIGINT
633    method_name: operatorGreaterThan
634    params: [BUILTIN_BIGINT]
635    return_type: PRIMITIVE_BOOLEAN
636    ref: BUILTIN_BIGINT_OPERATOR_GREATER_THAN
637
638  - callee: BUILTIN_BIGINT
639    method_name: operatorLessThan
640    params: [BUILTIN_BIGINT]
641    return_type: PRIMITIVE_BOOLEAN
642    ref: BUILTIN_BIGINT_OPERATOR_LESS_THAN
643
644  - callee: BUILTIN_BIGINT
645    method_name: operatorGreaterThanEqual
646    params: [BUILTIN_BIGINT]
647    return_type: PRIMITIVE_BOOLEAN
648    ref: BUILTIN_BIGINT_OPERATOR_GREATER_THAN_EQUAL
649
650  - callee: BUILTIN_BIGINT
651    method_name: operatorLessThanEqual
652    params: [BUILTIN_BIGINT]
653    return_type: PRIMITIVE_BOOLEAN
654    ref: BUILTIN_BIGINT_OPERATOR_LESS_THAN_EQUAL
655
656  - callee: BUILTIN_BIGINT
657    method_name: operatorLeftShift
658    params: [BUILTIN_BIGINT]
659    return_type: BUILTIN_BIGINT
660    ref: BUILTIN_BIGINT_OPERATOR_LEFT_SHIFT
661
662  - callee: BUILTIN_BIGINT
663    method_name: operatorRightShift
664    params: [BUILTIN_BIGINT]
665    return_type: BUILTIN_BIGINT
666    ref: BUILTIN_BIGINT_OPERATOR_RIGHT_SHIFT
667
668  - callee: BUILTIN_BIGINT
669    method_name: operatorIncrement
670    params: []
671    return_type: BUILTIN_BIGINT
672    ref: BUILTIN_BIGINT_OPERATOR_INCREMENT
673
674  - callee: BUILTIN_BIGINT
675    method_name: operatorDecrement
676    params: []
677    return_type: BUILTIN_BIGINT
678    ref: BUILTIN_BIGINT_OPERATOR_DECREMENT
679
680  - callee: BUILTIN_BIGINT
681    method_name: operatorBitwiseNot
682    params: []
683    return_type: BUILTIN_BIGINT
684    ref: BUILTIN_BIGINT_OPERATOR_BITWISE_NOT
685
686  - callee: BUILTIN_THROWABLE
687    method_name: $CTOR
688    params: []
689    return_type: PRIMITIVE_VOID
690    ref: BUILTIN_THROWABLE_CTOR
691
692  - callee: BUILTIN_RUNTIME
693    method_name: typeOf
694    params: [BUILTIN_OBJECT]
695    return_type: BUILTIN_STRING
696    ref: BUILTIN_RUNTIME_TYPEOF
697
698  - callee: BUILTIN_NULLPOINTER_ERROR
699    method_name: $CTOR
700    params: []
701    return_type: PRIMITIVE_VOID
702    ref: BUILTIN_NULLPOINTER_ERROR_CTOR
703
704  - callee: BUILTIN_CLASS_CAST_ERROR
705    method_name: $CTOR
706    params: [BUILTIN_STRING]
707    return_type: PRIMITIVE_VOID
708    ref: BUILTIN_CLASS_CAST_ERROR_CTOR
709
710  - callee: BUILTIN_STRING_BUILDER
711    method_name: $CTOR
712    params: []
713    return_type: PRIMITIVE_VOID
714    ref: BUILTIN_STRING_BUILDER_CTOR
715
716  - callee: BUILTIN_STRING_BUILDER
717    method_name: append
718    params: [PRIMITIVE_BOOLEAN]
719    return_type: BUILTIN_STRING_BUILDER
720    ref: BUILTIN_STRING_BUILDER_APPEND_BOOLEAN
721
722  - callee: BUILTIN_STRING_BUILDER
723    method_name: append
724    params: [PRIMITIVE_CHAR]
725    return_type: BUILTIN_STRING_BUILDER
726    ref: BUILTIN_STRING_BUILDER_APPEND_CHAR
727
728  - callee: BUILTIN_STRING_BUILDER
729    method_name: append
730    params: [PRIMITIVE_INT]
731    return_type: BUILTIN_STRING_BUILDER
732    ref: BUILTIN_STRING_BUILDER_APPEND_INT
733
734  - callee: BUILTIN_STRING_BUILDER
735    method_name: append
736    params: [PRIMITIVE_LONG]
737    return_type: BUILTIN_STRING_BUILDER
738    ref: BUILTIN_STRING_BUILDER_APPEND_LONG
739
740  - callee: BUILTIN_STRING_BUILDER
741    method_name: append
742    params: [PRIMITIVE_FLOAT]
743    return_type: BUILTIN_STRING_BUILDER
744    ref: BUILTIN_STRING_BUILDER_APPEND_FLOAT
745
746  - callee: BUILTIN_STRING_BUILDER
747    method_name: append
748    params: [PRIMITIVE_DOUBLE]
749    return_type: BUILTIN_STRING_BUILDER
750    ref: BUILTIN_STRING_BUILDER_APPEND_DOUBLE
751
752  - callee: BUILTIN_STRING_BUILDER
753    method_name: append
754    params: [BUILTIN_STRING]
755    return_type: BUILTIN_STRING_BUILDER
756    ref: BUILTIN_STRING_BUILDER_APPEND_BUILTIN_STRING
757
758  - callee: BUILTIN_STRING_BUILDER
759    method_name: toString
760    params: []
761    return_type: BUILTIN_STRING
762    ref: BUILTIN_STRING_BUILDER_TO_STRING
763
764  - callee: BUILTIN_BOOLEAN
765    method_name: valueOf
766    params: [PRIMITIVE_BOOLEAN]
767    return_type: BUILTIN_BOOLEAN
768    ref: BUILTIN_BOOLEAN_VALUE_OF
769
770  - callee: BUILTIN_CHAR
771    method_name: valueOf
772    params: [PRIMITIVE_CHAR]
773    return_type: BUILTIN_CHAR
774    ref: BUILTIN_CHAR_VALUE_OF
775
776  - callee: BUILTIN_BYTE
777    method_name: valueOf
778    params: [PRIMITIVE_BYTE]
779    return_type: BUILTIN_BYTE
780    ref: BUILTIN_BYTE_VALUE_OF
781
782  - callee: BUILTIN_SHORT
783    method_name: valueOf
784    params: [PRIMITIVE_SHORT]
785    return_type: BUILTIN_SHORT
786    ref: BUILTIN_SHORT_VALUE_OF
787
788  - callee: BUILTIN_INT
789    method_name: valueOf
790    params: [PRIMITIVE_INT]
791    return_type: BUILTIN_INT
792    ref: BUILTIN_INT_VALUE_OF
793
794  - callee: BUILTIN_LONG
795    method_name: valueOf
796    params: [PRIMITIVE_LONG]
797    return_type: BUILTIN_LONG
798    ref: BUILTIN_LONG_VALUE_OF
799
800  - callee: BUILTIN_FLOAT
801    method_name: valueOf
802    params: [PRIMITIVE_FLOAT]
803    return_type: BUILTIN_FLOAT
804    ref: BUILTIN_FLOAT_VALUE_OF
805
806  - callee: BUILTIN_DOUBLE
807    method_name: valueOf
808    params: [PRIMITIVE_DOUBLE]
809    return_type: BUILTIN_DOUBLE
810    ref: BUILTIN_DOUBLE_VALUE_OF
811
812  - callee: BUILTIN_FLOAT
813    method_name: isNaN
814    params: [PRIMITIVE_FLOAT]
815    return_type: PRIMITIVE_BOOLEAN
816    ref: BUILTIN_FLOAT_IS_NAN
817
818  - callee: BUILTIN_DOUBLE
819    method_name: isNaN
820    params: [PRIMITIVE_DOUBLE]
821    return_type: PRIMITIVE_BOOLEAN
822    ref: BUILTIN_DOUBLE_IS_NAN
823
824  - callee: BUILTIN_BOOLEAN
825    method_name: unboxed
826    params: []
827    return_type: PRIMITIVE_BOOLEAN
828    ref: BUILTIN_BOOLEAN_UNBOXED
829
830  - callee: BUILTIN_CHAR
831    method_name: unboxed
832    params: []
833    return_type: PRIMITIVE_CHAR
834    ref: BUILTIN_CHAR_UNBOXED
835
836  - callee: BUILTIN_BYTE
837    method_name: unboxed
838    params: []
839    return_type: PRIMITIVE_BYTE
840    ref: BUILTIN_BYTE_UNBOXED
841
842  - callee: BUILTIN_SHORT
843    method_name: unboxed
844    params: []
845    return_type: PRIMITIVE_SHORT
846    ref: BUILTIN_SHORT_UNBOXED
847
848  - callee: BUILTIN_INT
849    method_name: unboxed
850    params: []
851    return_type: PRIMITIVE_INT
852    ref: BUILTIN_INT_UNBOXED
853
854  - callee: BUILTIN_LONG
855    method_name: unboxed
856    params: []
857    return_type: PRIMITIVE_LONG
858    ref: BUILTIN_LONG_UNBOXED
859
860  - callee: BUILTIN_FLOAT
861    method_name: unboxed
862    params: []
863    return_type: PRIMITIVE_FLOAT
864    ref: BUILTIN_FLOAT_UNBOXED
865
866  - callee: BUILTIN_DOUBLE
867    method_name: unboxed
868    params: []
869    return_type: PRIMITIVE_DOUBLE
870    ref: BUILTIN_DOUBLE_UNBOXED
871
872  # BUILTIN_JSRUNTIME_NEW_JSVALUE_<TYPE>
873  - callee: BUILTIN_JSRUNTIME
874    method_name: newJSValueBoolean
875    params: [PRIMITIVE_BOOLEAN]
876    return_type: BUILTIN_JSVALUE
877    ref: BUILTIN_JSRUNTIME_NEW_JSVALUE_BOOLEAN
878
879  - callee: BUILTIN_JSRUNTIME
880    method_name: newJSValueByte
881    params: [PRIMITIVE_BYTE]
882    return_type: BUILTIN_JSVALUE
883    ref: BUILTIN_JSRUNTIME_NEW_JSVALUE_BYTE
884
885  - callee: BUILTIN_JSRUNTIME
886    method_name: newJSValueChar
887    params: [PRIMITIVE_CHAR]
888    return_type: BUILTIN_JSVALUE
889    ref: BUILTIN_JSRUNTIME_NEW_JSVALUE_CHAR
890
891  - callee: BUILTIN_JSRUNTIME
892    method_name: newJSValueShort
893    params: [PRIMITIVE_SHORT]
894    return_type: BUILTIN_JSVALUE
895    ref: BUILTIN_JSRUNTIME_NEW_JSVALUE_SHORT
896
897  - callee: BUILTIN_JSRUNTIME
898    method_name: newJSValueInt
899    params: [PRIMITIVE_INT]
900    return_type: BUILTIN_JSVALUE
901    ref: BUILTIN_JSRUNTIME_NEW_JSVALUE_INT
902
903  - callee: BUILTIN_JSRUNTIME
904    method_name: newJSValueLong
905    params: [PRIMITIVE_LONG]
906    return_type: BUILTIN_JSVALUE
907    ref: BUILTIN_JSRUNTIME_NEW_JSVALUE_LONG
908
909  - callee: BUILTIN_JSRUNTIME
910    method_name: newJSValueFloat
911    params: [PRIMITIVE_FLOAT]
912    return_type: BUILTIN_JSVALUE
913    ref: BUILTIN_JSRUNTIME_NEW_JSVALUE_FLOAT
914
915  - callee: BUILTIN_JSRUNTIME
916    method_name: newJSValueDouble
917    params: [PRIMITIVE_DOUBLE]
918    return_type: BUILTIN_JSVALUE
919    ref: BUILTIN_JSRUNTIME_NEW_JSVALUE_DOUBLE
920
921  - callee: BUILTIN_JSRUNTIME
922    method_name: newJSValueString
923    params: [BUILTIN_STRING]
924    return_type: BUILTIN_JSVALUE
925    ref: BUILTIN_JSRUNTIME_NEW_JSVALUE_STRING
926
927  - callee: BUILTIN_JSRUNTIME
928    method_name: newJSValueObject
929    params: [BUILTIN_OBJECT]
930    return_type: BUILTIN_JSVALUE
931    ref: BUILTIN_JSRUNTIME_NEW_JSVALUE_OBJECT
932
933  # BUILTIN_JSRUNTIME_GET_VALUE_<TYPE>
934  - callee: BUILTIN_JSRUNTIME
935    method_name: getValueBoolean
936    params: [BUILTIN_JSVALUE]
937    return_type: PRIMITIVE_BOOLEAN
938    ref: BUILTIN_JSRUNTIME_GET_VALUE_BOOLEAN
939
940  - callee: BUILTIN_JSRUNTIME
941    method_name: getValueByte
942    params: [BUILTIN_JSVALUE]
943    return_type: PRIMITIVE_BYTE
944    ref: BUILTIN_JSRUNTIME_GET_VALUE_BYTE
945
946  - callee: BUILTIN_JSRUNTIME
947    method_name: getValueChar
948    params: [BUILTIN_JSVALUE]
949    return_type: PRIMITIVE_CHAR
950    ref: BUILTIN_JSRUNTIME_GET_VALUE_CHAR
951
952  - callee: BUILTIN_JSRUNTIME
953    method_name: getValueShort
954    params: [BUILTIN_JSVALUE]
955    return_type: PRIMITIVE_SHORT
956    ref: BUILTIN_JSRUNTIME_GET_VALUE_SHORT
957
958  - callee: BUILTIN_JSRUNTIME
959    method_name: getValueInt
960    params: [BUILTIN_JSVALUE]
961    return_type: PRIMITIVE_INT
962    ref: BUILTIN_JSRUNTIME_GET_VALUE_INT
963
964  - callee: BUILTIN_JSRUNTIME
965    method_name: getValueLong
966    params: [BUILTIN_JSVALUE]
967    return_type: PRIMITIVE_LONG
968    ref: BUILTIN_JSRUNTIME_GET_VALUE_LONG
969
970  - callee: BUILTIN_JSRUNTIME
971    method_name: getValueFloat
972    params: [BUILTIN_JSVALUE]
973    return_type: PRIMITIVE_FLOAT
974    ref: BUILTIN_JSRUNTIME_GET_VALUE_FLOAT
975
976  - callee: BUILTIN_JSRUNTIME
977    method_name: getValueDouble
978    params: [BUILTIN_JSVALUE]
979    return_type: PRIMITIVE_DOUBLE
980    ref: BUILTIN_JSRUNTIME_GET_VALUE_DOUBLE
981
982  - callee: BUILTIN_JSRUNTIME
983    method_name: getValueString
984    params: [BUILTIN_JSVALUE]
985    return_type: BUILTIN_STRING
986    ref: BUILTIN_JSRUNTIME_GET_VALUE_STRING
987
988  - callee: BUILTIN_JSRUNTIME
989    method_name: getValueObject
990    params: [BUILTIN_JSVALUE, BUILTIN_CLASS]
991    return_type: BUILTIN_OBJECT
992    ref: BUILTIN_JSRUNTIME_GET_VALUE_OBJECT
993
994  # BUILTIN_JSRUNTIME_GET_PROPERTY_<TYPE>
995  - callee: BUILTIN_JSRUNTIME
996    method_name: getPropertyBoolean
997    params: [BUILTIN_JSVALUE, BUILTIN_STRING]
998    return_type: PRIMITIVE_BOOLEAN
999    ref: BUILTIN_JSRUNTIME_GET_PROPERTY_BOOLEAN
1000
1001  - callee: BUILTIN_JSRUNTIME
1002    method_name: getPropertyByte
1003    params: [BUILTIN_JSVALUE, BUILTIN_STRING]
1004    return_type: PRIMITIVE_BYTE
1005    ref: BUILTIN_JSRUNTIME_GET_PROPERTY_BYTE
1006
1007  - callee: BUILTIN_JSRUNTIME
1008    method_name: getPropertyChar
1009    params: [BUILTIN_JSVALUE, BUILTIN_STRING]
1010    return_type: PRIMITIVE_CHAR
1011    ref: BUILTIN_JSRUNTIME_GET_PROPERTY_CHAR
1012
1013  - callee: BUILTIN_JSRUNTIME
1014    method_name: getPropertyShort
1015    params: [BUILTIN_JSVALUE, BUILTIN_STRING]
1016    return_type: PRIMITIVE_SHORT
1017    ref: BUILTIN_JSRUNTIME_GET_PROPERTY_SHORT
1018
1019  - callee: BUILTIN_JSRUNTIME
1020    method_name: getPropertyInt
1021    params: [BUILTIN_JSVALUE, BUILTIN_STRING]
1022    return_type: PRIMITIVE_INT
1023    ref: BUILTIN_JSRUNTIME_GET_PROPERTY_INT
1024
1025  - callee: BUILTIN_JSRUNTIME
1026    method_name: getPropertyLong
1027    params: [BUILTIN_JSVALUE, BUILTIN_STRING]
1028    return_type: PRIMITIVE_LONG
1029    ref: BUILTIN_JSRUNTIME_GET_PROPERTY_LONG
1030
1031  - callee: BUILTIN_JSRUNTIME
1032    method_name: getPropertyFloat
1033    params: [BUILTIN_JSVALUE, BUILTIN_STRING]
1034    return_type: PRIMITIVE_FLOAT
1035    ref: BUILTIN_JSRUNTIME_GET_PROPERTY_FLOAT
1036
1037  - callee: BUILTIN_JSRUNTIME
1038    method_name: getPropertyDouble
1039    params: [BUILTIN_JSVALUE, BUILTIN_STRING]
1040    return_type: PRIMITIVE_DOUBLE
1041    ref: BUILTIN_JSRUNTIME_GET_PROPERTY_DOUBLE
1042
1043  - callee: BUILTIN_JSRUNTIME
1044    method_name: getPropertyString
1045    params: [BUILTIN_JSVALUE, BUILTIN_STRING]
1046    return_type: BUILTIN_STRING
1047    ref: BUILTIN_JSRUNTIME_GET_PROPERTY_STRING
1048
1049  - callee: BUILTIN_JSRUNTIME
1050    method_name: getPropertyJSValue
1051    params: [BUILTIN_JSVALUE, BUILTIN_STRING]
1052    return_type: BUILTIN_JSVALUE
1053    ref: BUILTIN_JSRUNTIME_GET_PROPERTY_JSVALUE
1054
1055  # BUILTIN_JSRUNTIME_SET_PROPERTY_<TYPE>
1056  - callee: BUILTIN_JSRUNTIME
1057    method_name: setPropertyBoolean
1058    params: [BUILTIN_JSVALUE, BUILTIN_STRING, PRIMITIVE_BOOLEAN]
1059    return_type: PRIMITIVE_VOID
1060    ref: BUILTIN_JSRUNTIME_SET_PROPERTY_BOOLEAN
1061
1062  - callee: BUILTIN_JSRUNTIME
1063    method_name: setPropertyByte
1064    params: [BUILTIN_JSVALUE, BUILTIN_STRING, PRIMITIVE_BYTE]
1065    return_type: PRIMITIVE_VOID
1066    ref: BUILTIN_JSRUNTIME_SET_PROPERTY_BYTE
1067
1068  - callee: BUILTIN_JSRUNTIME
1069    method_name: setPropertyChar
1070    params: [BUILTIN_JSVALUE, BUILTIN_STRING, PRIMITIVE_CHAR]
1071    return_type: PRIMITIVE_VOID
1072    ref: BUILTIN_JSRUNTIME_SET_PROPERTY_CHAR
1073
1074  - callee: BUILTIN_JSRUNTIME
1075    method_name: setPropertyShort
1076    params: [BUILTIN_JSVALUE, BUILTIN_STRING, PRIMITIVE_SHORT]
1077    return_type: PRIMITIVE_VOID
1078    ref: BUILTIN_JSRUNTIME_SET_PROPERTY_SHORT
1079
1080  - callee: BUILTIN_JSRUNTIME
1081    method_name: setPropertyInt
1082    params: [BUILTIN_JSVALUE, BUILTIN_STRING, PRIMITIVE_INT]
1083    return_type: PRIMITIVE_VOID
1084    ref: BUILTIN_JSRUNTIME_SET_PROPERTY_INT
1085
1086  - callee: BUILTIN_JSRUNTIME
1087    method_name: setPropertyLong
1088    params: [BUILTIN_JSVALUE, BUILTIN_STRING, PRIMITIVE_LONG]
1089    return_type: PRIMITIVE_VOID
1090    ref: BUILTIN_JSRUNTIME_SET_PROPERTY_LONG
1091
1092  - callee: BUILTIN_JSRUNTIME
1093    method_name: setPropertyFloat
1094    params: [BUILTIN_JSVALUE, BUILTIN_STRING, PRIMITIVE_FLOAT]
1095    return_type: PRIMITIVE_VOID
1096    ref: BUILTIN_JSRUNTIME_SET_PROPERTY_FLOAT
1097
1098  - callee: BUILTIN_JSRUNTIME
1099    method_name: setPropertyDouble
1100    params: [BUILTIN_JSVALUE, BUILTIN_STRING, PRIMITIVE_DOUBLE]
1101    return_type: PRIMITIVE_VOID
1102    ref: BUILTIN_JSRUNTIME_SET_PROPERTY_DOUBLE
1103
1104  - callee: BUILTIN_JSRUNTIME
1105    method_name: setPropertyString
1106    params: [BUILTIN_JSVALUE, BUILTIN_STRING, BUILTIN_STRING]
1107    return_type: PRIMITIVE_VOID
1108    ref: BUILTIN_JSRUNTIME_SET_PROPERTY_STRING
1109
1110  - callee: BUILTIN_JSRUNTIME
1111    method_name: setPropertyJSValue
1112    params: [BUILTIN_JSVALUE, BUILTIN_STRING, BUILTIN_JSVALUE]
1113    return_type: PRIMITIVE_VOID
1114    ref: BUILTIN_JSRUNTIME_SET_PROPERTY_JSVALUE
1115
1116  - callee: BUILTIN_PROMISE
1117    method_name: awaitResolution
1118    params: []
1119    return_type: BUILTIN_OBJECT
1120    ref: BUILTIN_PROMISE_AWAIT_RESOLUTION
1121
1122  # BUILTIN_JSRUNTIME_GET_ELEMENT_<TYPE>
1123  - callee: BUILTIN_JSRUNTIME
1124    method_name: getElementBoolean
1125    params: [BUILTIN_JSVALUE, PRIMITIVE_INT]
1126    return_type: PRIMITIVE_BOOLEAN
1127    ref: BUILTIN_JSRUNTIME_GET_ELEMENT_BOOLEAN
1128
1129  - callee: BUILTIN_JSRUNTIME
1130    method_name: getElementByte
1131    params: [BUILTIN_JSVALUE, PRIMITIVE_INT]
1132    return_type: PRIMITIVE_BYTE
1133    ref: BUILTIN_JSRUNTIME_GET_ELEMENT_BYTE
1134
1135  - callee: BUILTIN_JSRUNTIME
1136    method_name: getElementChar
1137    params: [BUILTIN_JSVALUE, PRIMITIVE_INT]
1138    return_type: PRIMITIVE_CHAR
1139    ref: BUILTIN_JSRUNTIME_GET_ELEMENT_CHAR
1140
1141  - callee: BUILTIN_JSRUNTIME
1142    method_name: getElementShort
1143    params: [BUILTIN_JSVALUE, PRIMITIVE_INT]
1144    return_type: PRIMITIVE_SHORT
1145    ref: BUILTIN_JSRUNTIME_GET_ELEMENT_SHORT
1146
1147  - callee: BUILTIN_JSRUNTIME
1148    method_name: getElementInt
1149    params: [BUILTIN_JSVALUE, PRIMITIVE_INT]
1150    return_type: PRIMITIVE_INT
1151    ref: BUILTIN_JSRUNTIME_GET_ELEMENT_INT
1152
1153  - callee: BUILTIN_JSRUNTIME
1154    method_name: getElementLong
1155    params: [BUILTIN_JSVALUE, PRIMITIVE_INT]
1156    return_type: PRIMITIVE_LONG
1157    ref: BUILTIN_JSRUNTIME_GET_ELEMENT_LONG
1158
1159  - callee: BUILTIN_JSRUNTIME
1160    method_name: getElementFloat
1161    params: [BUILTIN_JSVALUE, PRIMITIVE_INT]
1162    return_type: PRIMITIVE_FLOAT
1163    ref: BUILTIN_JSRUNTIME_GET_ELEMENT_FLOAT
1164
1165  - callee: BUILTIN_JSRUNTIME
1166    method_name: getElementDouble
1167    params: [BUILTIN_JSVALUE, PRIMITIVE_INT]
1168    return_type: PRIMITIVE_DOUBLE
1169    ref: BUILTIN_JSRUNTIME_GET_ELEMENT_DOUBLE
1170
1171  - callee: BUILTIN_JSRUNTIME
1172    method_name: getElementJSValue
1173    params: [BUILTIN_JSVALUE, PRIMITIVE_INT]
1174    return_type: BUILTIN_JSVALUE
1175    ref: BUILTIN_JSRUNTIME_GET_ELEMENT_JSVALUE
1176
1177  # BUILTIN_JSRUNTIME_SET_PROPERTY_<TYPE>
1178  - callee: BUILTIN_JSRUNTIME
1179    method_name: setElementBoolean
1180    params: [BUILTIN_JSVALUE, PRIMITIVE_INT, PRIMITIVE_BOOLEAN]
1181    return_type: PRIMITIVE_VOID
1182    ref: BUILTIN_JSRUNTIME_SET_ELEMENT_BOOLEAN
1183
1184  - callee: BUILTIN_JSRUNTIME
1185    method_name: setElementByte
1186    params: [BUILTIN_JSVALUE, PRIMITIVE_INT, PRIMITIVE_BYTE]
1187    return_type: PRIMITIVE_VOID
1188    ref: BUILTIN_JSRUNTIME_SET_ELEMENT_BYTE
1189
1190  - callee: BUILTIN_JSRUNTIME
1191    method_name: setElementChar
1192    params: [BUILTIN_JSVALUE, PRIMITIVE_INT, PRIMITIVE_CHAR]
1193    return_type: PRIMITIVE_VOID
1194    ref: BUILTIN_JSRUNTIME_SET_ELEMENT_CHAR
1195
1196  - callee: BUILTIN_JSRUNTIME
1197    method_name: setElementShort
1198    params: [BUILTIN_JSVALUE, PRIMITIVE_INT, PRIMITIVE_SHORT]
1199    return_type: PRIMITIVE_VOID
1200    ref: BUILTIN_JSRUNTIME_SET_ELEMENT_SHORT
1201
1202  - callee: BUILTIN_JSRUNTIME
1203    method_name: setElementInt
1204    params: [BUILTIN_JSVALUE, PRIMITIVE_INT, PRIMITIVE_INT]
1205    return_type: PRIMITIVE_VOID
1206    ref: BUILTIN_JSRUNTIME_SET_ELEMENT_INT
1207
1208  - callee: BUILTIN_JSRUNTIME
1209    method_name: setElementLong
1210    params: [BUILTIN_JSVALUE, PRIMITIVE_INT, PRIMITIVE_LONG]
1211    return_type: PRIMITIVE_VOID
1212    ref: BUILTIN_JSRUNTIME_SET_ELEMENT_LONG
1213
1214  - callee: BUILTIN_JSRUNTIME
1215    method_name: setElementFloat
1216    params: [BUILTIN_JSVALUE, PRIMITIVE_INT, PRIMITIVE_FLOAT]
1217    return_type: PRIMITIVE_VOID
1218    ref: BUILTIN_JSRUNTIME_SET_ELEMENT_FLOAT
1219
1220  - callee: BUILTIN_JSRUNTIME
1221    method_name: setElementDouble
1222    params: [BUILTIN_JSVALUE, PRIMITIVE_INT, PRIMITIVE_DOUBLE]
1223    return_type: PRIMITIVE_VOID
1224    ref: BUILTIN_JSRUNTIME_SET_ELEMENT_DOUBLE
1225
1226  - callee: BUILTIN_JSRUNTIME
1227    method_name: setElementJSValue
1228    params: [BUILTIN_JSVALUE, PRIMITIVE_INT, BUILTIN_JSVALUE]
1229    return_type: PRIMITIVE_VOID
1230    ref: BUILTIN_JSRUNTIME_SET_ELEMENT_JSVALUE
1231
1232  - callee: BUILTIN_JSRUNTIME
1233    method_name: __initJSCallClass
1234    params: []
1235    return_type: PRIMITIVE_VOID
1236    ref: BUILTIN_JSRUNTIME_INIT_DYNAMIC_CALL_CLASS
1237
1238  - callee: BUILTIN_JSRUNTIME
1239    method_name: __initJSNewClass
1240    params: []
1241    return_type: PRIMITIVE_VOID
1242    ref: BUILTIN_JSRUNTIME_INIT_DYNAMIC_NEW_CLASS
1243
1244  - callee: BUILTIN_JSRUNTIME
1245    method_name: loadModule
1246    params: [BUILTIN_STRING]
1247    return_type: PRIMITIVE_VOID
1248    ref: BUILTIN_JSRUNTIME_LOAD_MODULE
1249
1250  - callee: BUILTIN_JSRUNTIME
1251    method_name: getUndefined
1252    params: []
1253    return_type: BUILTIN_JSVALUE
1254    ref: BUILTIN_JSRUNTIME_GET_UNDEFINED
1255
1256  - callee: BUILTIN_JSRUNTIME
1257    method_name: strictEqual
1258    params: [BUILTIN_JSVALUE, BUILTIN_JSVALUE]
1259    return_type: PRIMITIVE_BOOLEAN
1260    ref: BUILTIN_JSRUNTIME_STRICT_EQUAL
1261
1262  - callee: BUILTIN_JSRUNTIME
1263    method_name: instanceOfDynamic
1264    params: [BUILTIN_JSVALUE, BUILTIN_JSVALUE]
1265    return_type: PRIMITIVE_BOOLEAN
1266    ref: BUILTIN_JSRUNTIME_INSTANCE_OF_DYNAMIC
1267
1268  - callee: BUILTIN_JSRUNTIME
1269    method_name: instanceOfStatic
1270    params: [BUILTIN_JSVALUE, BUILTIN_CLASS]
1271    return_type: PRIMITIVE_BOOLEAN
1272    ref: BUILTIN_JSRUNTIME_INSTANCE_OF_STATIC
1273
1274  - callee: BUILTIN_JSVALUE
1275    method_name: toString
1276    params: []
1277    return_type: PRIMITIVE_STRING
1278    ref: BUILTIN_JSVALUE_TO_STRING
1279
1280  - callee: BUILTIN_BOX
1281    method_name: $CTOR
1282    params: []
1283    return_type: PRIMITIVE_VOID
1284    ref: BUILTIN_BOX_CTOR
1285
1286  - callee: BUILTIN_BOX
1287    method_name: get
1288    params: []
1289    return_type: BUILTIN_OBJECT
1290    ref: BUILTIN_BOX_GET
1291
1292  - callee: BUILTIN_BOX
1293    method_name: set
1294    params: [BUILTIN_OBJECT]
1295    return_type: BUILTIN_OBJECT
1296    ref: BUILTIN_BOX_SET
1297
1298  - callee: BUILTIN_BOOLEAN_BOX
1299    method_name: $CTOR
1300    params: []
1301    return_type: PRIMITIVE_VOID
1302    ref: BUILTIN_BOOLEAN_BOX_CTOR
1303
1304  - callee: BUILTIN_BOOLEAN_BOX
1305    method_name: get
1306    params: []
1307    return_type: PRIMITIVE_BOOLEAN
1308    ref: BUILTIN_BOOLEAN_BOX_GET
1309
1310  - callee: BUILTIN_BOOLEAN_BOX
1311    method_name: set
1312    params: [PRIMITIVE_BOOLEAN]
1313    return_type: PRIMITIVE_BOOLEAN
1314    ref: BUILTIN_BOOLEAN_BOX_SET
1315
1316  - callee: BUILTIN_BYTE_BOX
1317    method_name: $CTOR
1318    params: []
1319    return_type: PRIMITIVE_VOID
1320    ref: BUILTIN_BYTE_BOX_CTOR
1321
1322  - callee: BUILTIN_BYTE_BOX
1323    method_name: get
1324    params: []
1325    return_type: PRIMITIVE_BYTE
1326    ref: BUILTIN_BYTE_BOX_GET
1327
1328  - callee: BUILTIN_BYTE_BOX
1329    method_name: set
1330    params: [PRIMITIVE_BYTE]
1331    return_type: PRIMITIVE_BYTE
1332    ref: BUILTIN_BYTE_BOX_SET
1333
1334  - callee: BUILTIN_CHAR_BOX
1335    method_name: $CTOR
1336    params: []
1337    return_type: PRIMITIVE_VOID
1338    ref: BUILTIN_CHAR_BOX_CTOR
1339
1340  - callee: BUILTIN_CHAR_BOX
1341    method_name: get
1342    params: []
1343    return_type: PRIMITIVE_CHAR
1344    ref: BUILTIN_CHAR_BOX_GET
1345
1346  - callee: BUILTIN_CHAR_BOX
1347    method_name: set
1348    params: [PRIMITIVE_CHAR]
1349    return_type: PRIMITIVE_CHAR
1350    ref: BUILTIN_CHAR_BOX_SET
1351
1352  - callee: BUILTIN_SHORT_BOX
1353    method_name: $CTOR
1354    params: []
1355    return_type: PRIMITIVE_VOID
1356    ref: BUILTIN_SHORT_BOX_CTOR
1357
1358  - callee: BUILTIN_SHORT_BOX
1359    method_name: get
1360    params: []
1361    return_type: PRIMITIVE_SHORT
1362    ref: BUILTIN_SHORT_BOX_GET
1363
1364  - callee: BUILTIN_SHORT_BOX
1365    method_name: set
1366    params: [PRIMITIVE_SHORT]
1367    return_type: PRIMITIVE_SHORT
1368    ref: BUILTIN_SHORT_BOX_SET
1369
1370  - callee: BUILTIN_INT_BOX
1371    method_name: $CTOR
1372    params: []
1373    return_type: PRIMITIVE_VOID
1374    ref: BUILTIN_INT_BOX_CTOR
1375
1376  - callee: BUILTIN_INT_BOX
1377    method_name: get
1378    params: []
1379    return_type: PRIMITIVE_INT
1380    ref: BUILTIN_INT_BOX_GET
1381
1382  - callee: BUILTIN_INT_BOX
1383    method_name: set
1384    params: [PRIMITIVE_INT]
1385    return_type: PRIMITIVE_INT
1386    ref: BUILTIN_INT_BOX_SET
1387
1388  - callee: BUILTIN_LONG_BOX
1389    method_name: $CTOR
1390    params: []
1391    return_type: PRIMITIVE_VOID
1392    ref: BUILTIN_LONG_BOX_CTOR
1393
1394  - callee: BUILTIN_LONG_BOX
1395    method_name: get
1396    params: []
1397    return_type: PRIMITIVE_LONG
1398    ref: BUILTIN_LONG_BOX_GET
1399
1400  - callee: BUILTIN_LONG_BOX
1401    method_name: set
1402    params: [PRIMITIVE_LONG]
1403    return_type: PRIMITIVE_LONG
1404    ref: BUILTIN_LONG_BOX_SET
1405
1406  - callee: BUILTIN_FLOAT_BOX
1407    method_name: $CTOR
1408    params: []
1409    return_type: PRIMITIVE_VOID
1410    ref: BUILTIN_FLOAT_BOX_CTOR
1411
1412  - callee: BUILTIN_FLOAT_BOX
1413    method_name: get
1414    params: []
1415    return_type: PRIMITIVE_FLOAT
1416    ref: BUILTIN_FLOAT_BOX_GET
1417
1418  - callee: BUILTIN_FLOAT_BOX
1419    method_name: set
1420    params: [PRIMITIVE_FLOAT]
1421    return_type: PRIMITIVE_FLOAT
1422    ref: BUILTIN_FLOAT_BOX_SET
1423
1424  - callee: BUILTIN_DOUBLE_BOX
1425    method_name: $CTOR
1426    params: []
1427    return_type: PRIMITIVE_VOID
1428    ref: BUILTIN_DOUBLE_BOX_CTOR
1429
1430  - callee: BUILTIN_DOUBLE_BOX
1431    method_name: get
1432    params: []
1433    return_type: PRIMITIVE_DOUBLE
1434    ref: BUILTIN_DOUBLE_BOX_GET
1435
1436  - callee: BUILTIN_DOUBLE_BOX
1437    method_name: set
1438    params: [PRIMITIVE_DOUBLE]
1439    return_type: PRIMITIVE_DOUBLE
1440    ref: BUILTIN_DOUBLE_BOX_SET
1441
1442  - callee: BUILTIN_JSRUNTIME
1443    method_name: createObject
1444    params: []
1445    return_type: BUILTIN_JSVALUE
1446    ref: BUILTIN_JSRUNTIME_CREATE_OBJECT
1447
1448dynamiclangs:
1449  - name: js
1450    dynamic_class: BUILTIN_JSVALUE
1451    call_class:
1452      name: JSCALL_CLASS
1453      init_builtin: BUILTIN_JSRUNTIME_INIT_DYNAMIC_CALL_CLASS
1454    new_class:
1455      name: JSNEW_CLASS
1456      init_builtin: BUILTIN_JSRUNTIME_INIT_DYNAMIC_NEW_CLASS
1457    module_class:
1458      load_builtin: BUILTIN_JSRUNTIME_LOAD_MODULE
1459    builtins:
1460      new:
1461        - type: boolean
1462          builtin: BUILTIN_JSRUNTIME_NEW_JSVALUE_BOOLEAN
1463        - type: byte
1464          builtin: BUILTIN_JSRUNTIME_NEW_JSVALUE_BYTE
1465        - type: char
1466          builtin: BUILTIN_JSRUNTIME_NEW_JSVALUE_CHAR
1467        - type: short
1468          builtin: BUILTIN_JSRUNTIME_NEW_JSVALUE_SHORT
1469        - type: int
1470          builtin: BUILTIN_JSRUNTIME_NEW_JSVALUE_INT
1471        - type: long
1472          builtin: BUILTIN_JSRUNTIME_NEW_JSVALUE_LONG
1473        - type: float
1474          builtin: BUILTIN_JSRUNTIME_NEW_JSVALUE_FLOAT
1475        - type: double
1476          builtin: BUILTIN_JSRUNTIME_NEW_JSVALUE_DOUBLE
1477        - type: string
1478          builtin: BUILTIN_JSRUNTIME_NEW_JSVALUE_STRING
1479        - type: object
1480          builtin: BUILTIN_JSRUNTIME_NEW_JSVALUE_OBJECT
1481      get_value:
1482        - type: boolean
1483          builtin: BUILTIN_JSRUNTIME_GET_VALUE_BOOLEAN
1484        - type: byte
1485          builtin: BUILTIN_JSRUNTIME_GET_VALUE_BYTE
1486        - type: char
1487          builtin: BUILTIN_JSRUNTIME_GET_VALUE_CHAR
1488        - type: short
1489          builtin: BUILTIN_JSRUNTIME_GET_VALUE_SHORT
1490        - type: int
1491          builtin: BUILTIN_JSRUNTIME_GET_VALUE_INT
1492        - type: long
1493          builtin: BUILTIN_JSRUNTIME_GET_VALUE_LONG
1494        - type: float
1495          builtin: BUILTIN_JSRUNTIME_GET_VALUE_FLOAT
1496        - type: double
1497          builtin: BUILTIN_JSRUNTIME_GET_VALUE_DOUBLE
1498        - type: string
1499          builtin: BUILTIN_JSRUNTIME_GET_VALUE_STRING
1500        - type: object
1501          builtin: BUILTIN_JSRUNTIME_GET_VALUE_OBJECT
1502      get_property:
1503        - type: boolean
1504          builtin: BUILTIN_JSRUNTIME_GET_PROPERTY_BOOLEAN
1505        - type: byte
1506          builtin: BUILTIN_JSRUNTIME_GET_PROPERTY_BYTE
1507        - type: char
1508          builtin: BUILTIN_JSRUNTIME_GET_PROPERTY_CHAR
1509        - type: short
1510          builtin: BUILTIN_JSRUNTIME_GET_PROPERTY_SHORT
1511        - type: int
1512          builtin: BUILTIN_JSRUNTIME_GET_PROPERTY_INT
1513        - type: long
1514          builtin: BUILTIN_JSRUNTIME_GET_PROPERTY_LONG
1515        - type: float
1516          builtin: BUILTIN_JSRUNTIME_GET_PROPERTY_FLOAT
1517        - type: double
1518          builtin: BUILTIN_JSRUNTIME_GET_PROPERTY_DOUBLE
1519        - type: string
1520          builtin: BUILTIN_JSRUNTIME_GET_PROPERTY_STRING
1521        - type: dynamic
1522          builtin: BUILTIN_JSRUNTIME_GET_PROPERTY_JSVALUE
1523      set_property:
1524        - type: boolean
1525          builtin: BUILTIN_JSRUNTIME_SET_PROPERTY_BOOLEAN
1526        - type: byte
1527          builtin: BUILTIN_JSRUNTIME_SET_PROPERTY_BYTE
1528        - type: char
1529          builtin: BUILTIN_JSRUNTIME_SET_PROPERTY_CHAR
1530        - type: short
1531          builtin: BUILTIN_JSRUNTIME_SET_PROPERTY_SHORT
1532        - type: int
1533          builtin: BUILTIN_JSRUNTIME_SET_PROPERTY_INT
1534        - type: long
1535          builtin: BUILTIN_JSRUNTIME_SET_PROPERTY_LONG
1536        - type: float
1537          builtin: BUILTIN_JSRUNTIME_SET_PROPERTY_FLOAT
1538        - type: double
1539          builtin: BUILTIN_JSRUNTIME_SET_PROPERTY_DOUBLE
1540        - type: string
1541          builtin: BUILTIN_JSRUNTIME_SET_PROPERTY_STRING
1542        - type: dynamic
1543          builtin: BUILTIN_JSRUNTIME_SET_PROPERTY_JSVALUE
1544      get_element:
1545        - type: boolean
1546          builtin: BUILTIN_JSRUNTIME_GET_ELEMENT_BOOLEAN
1547        - type: byte
1548          builtin: BUILTIN_JSRUNTIME_GET_ELEMENT_BYTE
1549        - type: char
1550          builtin: BUILTIN_JSRUNTIME_GET_ELEMENT_CHAR
1551        - type: short
1552          builtin: BUILTIN_JSRUNTIME_GET_ELEMENT_SHORT
1553        - type: int
1554          builtin: BUILTIN_JSRUNTIME_GET_ELEMENT_INT
1555        - type: long
1556          builtin: BUILTIN_JSRUNTIME_GET_ELEMENT_LONG
1557        - type: float
1558          builtin: BUILTIN_JSRUNTIME_GET_ELEMENT_FLOAT
1559        - type: double
1560          builtin: BUILTIN_JSRUNTIME_GET_ELEMENT_DOUBLE
1561        - type: dynamic
1562          builtin: BUILTIN_JSRUNTIME_GET_ELEMENT_JSVALUE
1563      set_element:
1564        - type: boolean
1565          builtin: BUILTIN_JSRUNTIME_SET_ELEMENT_BOOLEAN
1566        - type: byte
1567          builtin: BUILTIN_JSRUNTIME_SET_ELEMENT_BYTE
1568        - type: char
1569          builtin: BUILTIN_JSRUNTIME_SET_ELEMENT_CHAR
1570        - type: short
1571          builtin: BUILTIN_JSRUNTIME_SET_ELEMENT_SHORT
1572        - type: int
1573          builtin: BUILTIN_JSRUNTIME_SET_ELEMENT_INT
1574        - type: long
1575          builtin: BUILTIN_JSRUNTIME_SET_ELEMENT_LONG
1576        - type: float
1577          builtin: BUILTIN_JSRUNTIME_SET_ELEMENT_FLOAT
1578        - type: double
1579          builtin: BUILTIN_JSRUNTIME_SET_ELEMENT_DOUBLE
1580        - type: dynamic
1581          builtin: BUILTIN_JSRUNTIME_SET_ELEMENT_JSVALUE
1582      get_undefined: BUILTIN_JSRUNTIME_GET_UNDEFINED
1583