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