• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (c) 2021-2022 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
14.record panda.String <external>
15.record panda.Class <external>
16.record panda.Array <external>
17
18.record panda.Object {}
19.record Math {}
20.record Double {}
21.record Float {}
22.record IO {}
23.record System {}
24.record Convert {}
25.record Object {}
26.record DebugUtils {}
27
28# exceptions
29
30.record panda.StackOverflowException {
31    panda.String message
32    panda.Object cause
33}
34
35.record panda.NullPointerException {
36    panda.String message
37    panda.Object cause
38}
39
40.record panda.ArrayIndexOutOfBoundsException {
41    panda.String message
42    panda.Object cause
43}
44
45.record panda.IndexOutOfBoundsException {
46    panda.String message
47    panda.Object cause
48}
49
50.record panda.IllegalStateException {
51    panda.String message
52    panda.Object cause
53}
54
55.record panda.UnsupportedOperationException {
56    panda.String message
57    panda.Object cause
58}
59
60.record panda.ArrayStoreException {
61    panda.String message
62    panda.Object cause
63}
64
65.record panda.StringIndexOutOfBoundsException {
66    panda.String message
67    panda.Object cause
68}
69
70.record panda.NegativeArraySizeException {
71    panda.String message
72    panda.Object cause
73}
74
75.record panda.ArithmeticException {
76    panda.String message
77    panda.Object cause
78}
79
80.record panda.ClassCastException {
81    panda.String message
82    panda.Object cause
83}
84
85.record panda.AbstractMethodError {
86    panda.String message
87    panda.Object cause
88}
89
90.record panda.NoClassDefFoundError {
91    panda.String message
92    panda.Object cause
93}
94
95.record panda.ClassNotFoundException {
96    panda.String message
97    panda.Object cause
98}
99
100.record panda.NoSuchFieldError {
101    panda.String message
102    panda.Object cause
103}
104
105.record panda.NoSuchMethodError {
106    panda.String message
107    panda.Object cause
108}
109
110.record panda.ExceptionInInitializerError {
111    panda.String message
112    panda.Object cause
113}
114
115.record panda.InstantiationError {
116    panda.String message
117    panda.Object cause
118}
119
120.record panda.IllegalMonitorStateException {
121    panda.String message
122    panda.Object cause
123}
124
125.record panda.OutOfMemoryError {
126    panda.String message
127    panda.Object cause
128}
129
130.record panda.RuntimeException {
131    panda.String message
132    panda.Object cause
133}
134
135.record panda.VerifyError {
136    panda.String message
137    panda.Object cause
138}
139
140.record panda.Error {
141    panda.String message
142    panda.Object cause
143}
144
145.record panda.IncompatibleClassChangeError {
146    panda.String message
147    panda.Object cause
148}
149
150.function void panda.Object.ctor(panda.Object a0) <ctor> {
151    return.void
152}
153
154.function void panda.StackOverflowException.ctor(panda.StackOverflowException a0, panda.String a1, panda.Object a2) <ctor> {
155    lda.obj a1
156    stobj.obj a0, panda.StackOverflowException.message
157    lda.obj a2
158    stobj.obj a0, panda.StackOverflowException.cause
159    return.void
160}
161
162.function panda.String panda.StackOverflowException.getMessage(panda.StackOverflowException a0) {
163    ldobj.obj a0, panda.StackOverflowException.message
164    return.obj
165}
166
167.function panda.String panda.StackOverflowException.getCause(panda.StackOverflowException a0) {
168    ldobj.obj a0, panda.StackOverflowException.cause
169    return.obj
170}
171
172.function void panda.NullPointerException.ctor(panda.NullPointerException a0, panda.String a1, panda.Object a2) <ctor> {
173    lda.obj a1
174    stobj.obj a0, panda.NullPointerException.message
175    lda.obj a2
176    stobj.obj a0, panda.NullPointerException.cause
177    return.void
178}
179
180.function panda.String panda.NullPointerException.getMessage(panda.NullPointerException a0) {
181    ldobj.obj a0, panda.NullPointerException.message
182    return.obj
183}
184
185.function panda.Object panda.NullPointerException.getCause(panda.NullPointerException a0) {
186    ldobj.obj a0, panda.NullPointerException.cause
187    return.obj
188}
189
190.function void panda.ArrayIndexOutOfBoundsException.ctor(panda.ArrayIndexOutOfBoundsException a0, panda.String a1, panda.Object a2) <ctor> {
191    lda.obj a1
192    stobj.obj a0, panda.ArrayIndexOutOfBoundsException.message
193    lda.obj a2
194    stobj.obj a0, panda.ArrayIndexOutOfBoundsException.cause
195    return.void
196}
197
198.function panda.String panda.ArrayIndexOutOfBoundsException.getMessage(panda.ArrayIndexOutOfBoundsException a0) {
199    ldobj.obj a0, panda.ArrayIndexOutOfBoundsException.message
200    return.obj
201}
202
203.function panda.Object panda.ArrayIndexOutOfBoundsException.getCause(panda.ArrayIndexOutOfBoundsException a0) {
204    ldobj.obj a0, panda.ArrayIndexOutOfBoundsException.cause
205    return.obj
206}
207
208.function void panda.IndexOutOfBoundsException.ctor(panda.IndexOutOfBoundsException a0, panda.String a1, panda.Object a2) <ctor> {
209    lda.obj a1
210    stobj.obj a0, panda.IndexOutOfBoundsException.message
211    lda.obj a2
212    stobj.obj a0, panda.IndexOutOfBoundsException.cause
213    return.void
214}
215
216.function panda.String panda.IndexOutOfBoundsException.getMessage(panda.IndexOutOfBoundsException a0) {
217    ldobj.obj a0, panda.IndexOutOfBoundsException.message
218    return.obj
219}
220
221.function panda.Object panda.IndexOutOfBoundsException.getCause(panda.IndexOutOfBoundsException a0) {
222    ldobj.obj a0, panda.IndexOutOfBoundsException.cause
223    return.obj
224}
225
226.function void panda.IllegalStateException.ctor(panda.IllegalStateException a0, panda.String a1, panda.Object a2) <ctor> {
227    lda.obj a1
228    stobj.obj a0, panda.IllegalStateException.message
229    lda.obj a2
230    stobj.obj a0, panda.IllegalStateException.cause
231    return.void
232}
233
234.function panda.String panda.IllegalStateException.getMessage(panda.IllegalStateException a0) {
235    ldobj.obj a0, panda.IllegalStateException.message
236    return.obj
237}
238
239.function panda.Object panda.IllegalStateException.getCause(panda.IllegalStateException a0) {
240    ldobj.obj a0, panda.IllegalStateException.cause
241    return.obj
242}
243
244.function void panda.UnsupportedOperationException.ctor(panda.UnsupportedOperationException a0, panda.String a1, panda.Object a2) <ctor> {
245    lda.obj a1
246    stobj.obj a0, panda.UnsupportedOperationException.message
247    lda.obj a2
248    stobj.obj a0, panda.UnsupportedOperationException.cause
249    return.void
250}
251
252.function panda.String panda.UnsupportedOperationException.getMessage(panda.UnsupportedOperationException a0) {
253    ldobj.obj a0, panda.UnsupportedOperationException.message
254    return.obj
255}
256
257.function panda.Object panda.UnsupportedOperationException.getCause(panda.UnsupportedOperationException a0) {
258    ldobj.obj a0, panda.UnsupportedOperationException.cause
259    return.obj
260}
261
262.function void panda.ArrayStoreException.ctor(panda.ArrayStoreException a0, panda.String a1, panda.Object a2) <ctor> {
263    lda.obj a1
264    stobj.obj a0, panda.ArrayStoreException.message
265    lda.obj a2
266    stobj.obj a0, panda.ArrayStoreException.cause
267    return.void
268}
269
270.function panda.String panda.ArrayStoreException.getMessage(panda.ArrayStoreException a0) {
271    ldobj.obj a0, panda.ArrayStoreException.message
272    return.obj
273}
274
275.function panda.Object panda.ArrayStoreException.getCause(panda.ArrayStoreException a0) {
276    ldobj.obj a0, panda.ArrayStoreException.cause
277    return.obj
278}
279
280.function void panda.StringIndexOutOfBoundsException.ctor(panda.StringIndexOutOfBoundsException a0, panda.String a1, panda.Object a2) <ctor> {
281    lda.obj a1
282    stobj.obj a0, panda.StringIndexOutOfBoundsException.message
283    lda.obj a2
284    stobj.obj a0, panda.StringIndexOutOfBoundsException.cause
285    return.void
286}
287
288.function panda.String panda.StringIndexOutOfBoundsException.getMessage(panda.StringIndexOutOfBoundsException a0) {
289    ldobj.obj a0, panda.StringIndexOutOfBoundsException.message
290    return.obj
291}
292
293.function panda.Object panda.StringIndexOutOfBoundsException.getCause(panda.StringIndexOutOfBoundsException a0) {
294    ldobj.obj a0, panda.StringIndexOutOfBoundsException.cause
295    return.obj
296}
297
298.function void panda.NegativeArraySizeException.ctor(panda.NegativeArraySizeException a0, panda.String a1, panda.Object a2) <ctor> {
299    lda.obj a1
300    stobj.obj a0, panda.NegativeArraySizeException.message
301    lda.obj a2
302    stobj.obj a0, panda.NegativeArraySizeException.cause
303    return.void
304}
305
306.function panda.String panda.NegativeArraySizeException.getMessage(panda.NegativeArraySizeException a0) {
307    ldobj.obj a0, panda.NegativeArraySizeException.message
308    return.obj
309}
310
311.function panda.Object panda.NegativeArraySizeException.getCause(panda.NegativeArraySizeException a0) {
312    ldobj.obj a0, panda.NegativeArraySizeException.cause
313    return.obj
314}
315
316.function void panda.ArithmeticException.ctor(panda.ArithmeticException a0, panda.String a1, panda.Object a2) <ctor> {
317    lda.obj a1
318    stobj.obj a0, panda.ArithmeticException.message
319    lda.obj a2
320    stobj.obj a0, panda.ArithmeticException.cause
321    return.void
322}
323
324.function panda.String panda.ArithmeticException.getMessage(panda.ArithmeticException a0) {
325    ldobj.obj a0, panda.ArithmeticException.message
326    return.obj
327}
328
329.function panda.Object panda.ArithmeticException.getCause(panda.ArithmeticException a0) {
330    ldobj.obj a0, panda.ArithmeticException.cause
331    return.obj
332}
333
334.function void panda.ClassCastException.ctor(panda.ClassCastException a0, panda.String a1, panda.Object a2) <ctor> {
335    lda.obj a1
336    stobj.obj a0, panda.ClassCastException.message
337    lda.obj a2
338    stobj.obj a0, panda.ClassCastException.cause
339    return.void
340}
341
342.function panda.String panda.ClassCastException.getMessage(panda.ClassCastException a0) {
343    ldobj.obj a0, panda.ClassCastException.message
344    return.obj
345}
346
347.function panda.Object panda.ClassCastException.getCause(panda.ClassCastException a0) {
348    ldobj.obj a0, panda.ClassCastException.cause
349    return.obj
350}
351
352.function void panda.AbstractMethodError.ctor(panda.AbstractMethodError a0, panda.String a1, panda.Object a2) <ctor> {
353    lda.obj a1
354    stobj.obj a0, panda.AbstractMethodError.message
355    lda.obj a2
356    stobj.obj a0, panda.AbstractMethodError.cause
357    return.void
358}
359
360.function panda.String panda.AbstractMethodError.getMessage(panda.AbstractMethodError a0) {
361    ldobj.obj a0, panda.AbstractMethodError.message
362    return.obj
363}
364
365.function panda.Object panda.AbstractMethodError.getCause(panda.AbstractMethodError a0) {
366    ldobj.obj a0, panda.AbstractMethodError.cause
367    return.obj
368}
369
370.function void panda.NoClassDefFoundError.ctor(panda.NoClassDefFoundError a0, panda.String a1, panda.Object a2) <ctor> {
371    lda.obj a1
372    stobj.obj a0, panda.NoClassDefFoundError.message
373    lda.obj a2
374    stobj.obj a0, panda.NoClassDefFoundError.cause
375    return.void
376}
377
378.function panda.String panda.NoClassDefFoundError.getMessage(panda.NoClassDefFoundError a0) {
379    ldobj.obj a0, panda.NoClassDefFoundError.message
380    return.obj
381}
382
383.function panda.Object panda.NoClassDefFoundError.getCause(panda.NoClassDefFoundError a0) {
384    ldobj.obj a0, panda.NoClassDefFoundError.cause
385    return.obj
386}
387
388.function void panda.ClassNotFoundException.ctor(panda.ClassNotFoundException a0, panda.String a1, panda.Object a2) <ctor> {
389    lda.obj a1
390    stobj.obj a0, panda.ClassNotFoundException.message
391    lda.obj a2
392    stobj.obj a0, panda.ClassNotFoundException.cause
393    return.void
394}
395
396.function panda.String panda.ClassNotFoundException.getMessage(panda.ClassNotFoundException a0) {
397    ldobj.obj a0, panda.ClassNotFoundException.message
398    return.obj
399}
400
401.function panda.Object panda.ClassNotFoundException.getCause(panda.ClassNotFoundException a0) {
402    ldobj.obj a0, panda.ClassNotFoundException.cause
403    return.obj
404}
405
406.function void panda.NoSuchFieldError.ctor(panda.NoSuchFieldError a0, panda.String a1, panda.Object a2) <ctor> {
407    lda.obj a1
408    stobj.obj a0, panda.NoSuchFieldError.message
409    lda.obj a2
410    stobj.obj a0, panda.NoSuchFieldError.cause
411    return.void
412}
413
414.function panda.String panda.NoSuchFieldError.getMessage(panda.NoSuchFieldError a0) {
415    ldobj.obj a0, panda.NoSuchFieldError.message
416    return.obj
417}
418
419.function panda.Object panda.NoSuchFieldError.getCause(panda.NoSuchFieldError a0) {
420    ldobj.obj a0, panda.NoSuchFieldError.cause
421    return.obj
422}
423
424.function void panda.NoSuchMethodError.ctor(panda.NoSuchMethodError a0, panda.String a1, panda.Object a2) <ctor> {
425    lda.obj a1
426    stobj.obj a0, panda.NoSuchMethodError.message
427    lda.obj a2
428    stobj.obj a0, panda.NoSuchMethodError.cause
429    return.void
430}
431
432.function panda.String panda.NoSuchMethodError.getMessage(panda.NoSuchMethodError a0) {
433    ldobj.obj a0, panda.NoSuchMethodError.message
434    return.obj
435}
436
437.function panda.Object panda.NoSuchMethodError.getCause(panda.NoSuchMethodError a0) {
438    ldobj.obj a0, panda.NoSuchMethodError.cause
439    return.obj
440}
441
442.function void panda.ExceptionInInitializerError.ctor(panda.ExceptionInInitializerError a0, panda.String a1, panda.Object a2) <ctor> {
443    lda.obj a1
444    stobj.obj a0, panda.ExceptionInInitializerError.message
445    lda.obj a2
446    stobj.obj a0, panda.ExceptionInInitializerError.cause
447    return.void
448}
449
450.function panda.String panda.ExceptionInInitializerError.getMessage(panda.ExceptionInInitializerError a0) {
451    ldobj.obj a0, panda.ExceptionInInitializerError.message
452    return.obj
453}
454
455.function panda.Object panda.ExceptionInInitializerError.getCause(panda.ExceptionInInitializerError a0) {
456    ldobj.obj a0, panda.ExceptionInInitializerError.cause
457    return.obj
458}
459
460.function void panda.InstantiationError.ctor(panda.InstantiationError a0, panda.String a1, panda.Object a2) <ctor> {
461    lda.obj a1
462    stobj.obj a0, panda.InstantiationError.message
463    lda.obj a2
464    stobj.obj a0, panda.InstantiationError.cause
465    return.void
466}
467
468.function panda.String panda.InstantiationError.getMessage(panda.InstantiationError a0) {
469    ldobj.obj a0, panda.InstantiationError.message
470    return.obj
471}
472
473.function panda.Object panda.InstantiationError.getCause(panda.InstantiationError a0) {
474    ldobj.obj a0, panda.InstantiationError.cause
475    return.obj
476}
477
478.function void panda.IllegalMonitorStateException.ctor(panda.IllegalMonitorStateException a0, panda.String a1, panda.Object a2) <ctor> {
479    lda.obj a1
480    stobj.obj a0, panda.IllegalMonitorStateException.message
481    lda.obj a2
482    stobj.obj a0, panda.IllegalMonitorStateException.cause
483    return.void
484}
485
486.function panda.String panda.IllegalMonitorStateException.getMessage(panda.IllegalMonitorStateException a0) {
487    ldobj.obj a0, panda.IllegalMonitorStateException.message
488    return.obj
489}
490
491.function panda.Object panda.IllegalMonitorStateException.getCause(panda.IllegalMonitorStateException a0) {
492    ldobj.obj a0, panda.IllegalMonitorStateException.cause
493    return.obj
494}
495
496.function void panda.OutOfMemoryError.ctor(panda.OutOfMemoryError a0, panda.String a1, panda.Object a2) <ctor> {
497    lda.obj a1
498    stobj.obj a0, panda.OutOfMemoryError.message
499    lda.obj a2
500    stobj.obj a0, panda.OutOfMemoryError.cause
501    return.void
502}
503
504.function panda.String panda.OutOfMemoryError.getMessage(panda.OutOfMemoryError a0) {
505    ldobj.obj a0, panda.OutOfMemoryError.message
506    return.obj
507}
508
509.function panda.Object panda.OutOfMemoryError.getCause(panda.OutOfMemoryError a0) {
510    ldobj.obj a0, panda.OutOfMemoryError.cause
511    return.obj
512}
513
514.function void panda.RuntimeException.ctor(panda.RuntimeException a0, panda.String a1, panda.Object a2) <ctor> {
515    lda.obj a1
516    stobj.obj a0, panda.RuntimeException.message
517    lda.obj a2
518    stobj.obj a0, panda.RuntimeException.cause
519    return.void
520}
521
522.function panda.String panda.RuntimeException.getMessage(panda.RuntimeException a0) {
523    ldobj.obj a0, panda.RuntimeException.message
524    return.obj
525}
526
527.function panda.Object panda.RuntimeException.getCause(panda.RuntimeException a0) {
528    ldobj.obj a0, panda.RuntimeException.cause
529    return.obj
530}
531
532.function void panda.VerifyError.ctor(panda.VerifyError a0, panda.String a1, panda.Object a2) <ctor> {
533    lda.obj a1
534    stobj.obj a0, panda.VerifyError.message
535    lda.obj a2
536    stobj.obj a0, panda.VerifyError.cause
537    return.void
538}
539
540.function panda.String panda.VerifyError.getMessage(panda.VerifyError a0) {
541    ldobj.obj a0, panda.VerifyError.message
542    return.obj
543}
544
545.function panda.Object panda.VerifyError.getCause(panda.VerifyError a0) {
546    ldobj.obj a0, panda.VerifyError.cause
547    return.obj
548}
549
550.function void panda.Error.ctor(panda.Error a0, panda.String a1, panda.Object a2) <ctor> {
551    lda.obj a1
552    stobj.obj a0, panda.Error.message
553    lda.obj a2
554    stobj.obj a0, panda.Error.cause
555    return.void
556}
557
558.function panda.String panda.Error.getMessage(panda.Error a0) {
559    ldobj.obj a0, panda.Error.message
560    return.obj
561}
562
563.function panda.Object panda.Error.getCause(panda.Error a0) {
564    ldobj.obj a0, panda.Error.cause
565    return.obj
566}
567
568.function void panda.IncompatibleClassChangeError.ctor(panda.IncompatibleClassChangeError a0, panda.String a1, panda.Object a2) <ctor> {
569    lda.obj a1
570    stobj.obj a0, panda.IncompatibleClassChangeError.message
571    lda.obj a2
572    stobj.obj a0, panda.IncompatibleClassChangeError.cause
573    return.void
574}
575
576.function panda.String panda.IncompatibleClassChangeError.getMessage(panda.IncompatibleClassChangeError a0) {
577    ldobj.obj a0, panda.IncompatibleClassChangeError.message
578    return.obj
579}
580
581.function panda.Object panda.IncompatibleClassChangeError.getCause(panda.IncompatibleClassChangeError a0) {
582    ldobj.obj a0, panda.IncompatibleClassChangeError.cause
583    return.obj
584}
585
586# Math methods
587
588.function i32 Math.absI32(i32 a0) <native>
589
590.function i64 Math.absI64(i64 a0) <native>
591
592.function f32 Math.absF32(f32 a0) <native>
593
594.function f64 Math.absF64(f64 a0) <native>
595
596.function f32 Math.fsin(f32 a0) <native>
597
598.function f64 Math.sin(f64 a0) <native>
599
600.function f32 Math.fcos(f32 a0) <native>
601
602.function f64 Math.cos(f64 a0) <native>
603
604.function f32 Math.fpow(f32 a0, f32 a1) <native>
605
606.function f64 Math.pow(f64 a0, f64 a1) <native>
607
608.function f32 Math.fsqrt(f32 a0) <native>
609
610.function f64 Math.sqrt(f64 a0) <native>
611
612.function i32 Math.minI32(i32 a0, i32 a1) <native>
613
614.function i64 Math.minI64(i64 a0, i64 a1) <native>
615
616.function f32 Math.minF32(f32 a0, f32 a1) <native>
617
618.function f64 Math.minF64(f64 a0, f64 a1) <native>
619
620.function i32 Math.maxI32(i32 a0, i32 a1) <native>
621
622.function i64 Math.maxI64(i64 a0, i64 a1) <native>
623
624.function f32 Math.maxF32(f32 a0, f32 a1) <native>
625
626.function f64 Math.maxF64(f64 a0, f64 a1) <native>
627
628.function u1 Double.isInfinite(f64 a0) <native>
629
630.function u1 Float.isInfinite(f32 a0) <native>
631
632.function f64 Math.calculateDouble(u32 a0, f64 a1) <native>
633
634.function f32 Math.calculateFloat(u32 a0, f32 a1) <native>
635
636# IO methods
637
638.function void IO.printI32(i32 a0) <native>
639
640.function void IO.printU32(u32 a0) <native>
641
642.function void IO.printI64(i64 a0) <native>
643
644.function void IO.printU64(u64 a0) <native>
645
646.function void IO.printF32(f32 a0) <native>
647
648.function void IO.printF64(f64 a0) <native>
649
650.function void IO.printString(panda.String a0) <native>
651
652# System methods
653.function i32 System.getCoroutineWorkerId() <native>
654
655.function void System.scheduleCoroutine() <native>
656
657.function void System.exit(i32 a0) <native>
658
659.function u8 System.compileMethod(panda.String a0) <native>
660
661.function i64 System.nanoTime() <native>
662
663.function void System.assert(u1 a0) <native>
664
665.function void System.assertPrint(u1 a0, panda.String a1) <native>
666
667# Debug methods
668
669.function void DebugUtils.checkTag(i64 a0, i64 a1) <native>
670
671# Object methods
672
673# TODO(mwx851039): move to java lib
674
675.function panda.Object Object.createNonMovable(panda.Class a0) <native>
676
677.function void Object.monitorEnter(panda.Object a0) <native>
678
679.function void Object.monitorExit(panda.Object a0) <native>
680
681.function void Object.Wait(panda.Object a0) <native>
682
683.function void Object.TimedWait(panda.Object a0, u64 a1) <native>
684
685.function void Object.TimedWaitNanos(panda.Object a0, u64 a1, u64 a2) <native>
686
687.function void Object.Notify(panda.Object a0) <native>
688
689.function void Object.NotifyAll(panda.Object a0) <native>
690
691# Convert methods
692
693.function i32 Convert.stringToI32(panda.String a0) <native>
694
695.function u32 Convert.stringToU32(panda.String a0) <native>
696
697.function i64 Convert.stringToI64(panda.String a0) <native>
698
699.function u64 Convert.stringToU64(panda.String a0) <native>
700
701.function f32 Convert.stringToF32(panda.String a0) <native>
702
703.function f64 Convert.stringToF64(panda.String a0) <native>
704