1
2method Base.<init>():void
3{
4	.src "Target.java"
5	.line 1
6	.prologue_end
7	.line 1
8	    0| invoke-direct {v0}, java.lang.Object.<init>():void
9	    3| return-void
10}
11
12method Base.foo(int, java.lang.String):int
13{
14	.params "?", "?"
15	.src "Target.java"
16	.line 3
17	.prologue_end
18	.line 3
19	    0| const/4 v0, #+0 (0x00000000 | 0.00000)
20	    1| return v0
21}
22
23method IBase.bar(java.lang.String):void
24{
25}
26
27method Target.<init>(Base, IBase):void
28{
29	.params "?", "?"
30	.src "Target.java"
31	.line 15
32	.prologue_end
33	.line 15
34	    0| invoke-direct {v0}, java.lang.Object.<init>():void
35	.line 16
36	    3| iput-object v1, v0, Target.base
37	.line 17
38	    5| iput-object v2, v0, Target.iBase
39	.line 18
40	    7| return-void
41}
42
43method Target.foo(int, java.lang.String):int
44{
45	.params "?", "?"
46	.src "Target.java"
47	.line 21
48	.prologue_end
49	.line 21
50	    0| const v0, #+4 (0x00000004 | 5.60519e-45)
51	    3| new-array v1, v0, java.lang.Object[]
52	    5| const-string v2, "Target->foo(ILjava/lang/String;)I"
53	    7| const v0, #+0 (0x00000000 | 0.00000)
54	   10| aput-object v2, v1, v0
55	   12| const v0, #+1 (0x00000001 | 1.40130e-45)
56	   15| aput-object v3, v1, v0
57	   17| invoke-static/range {v4..v4}, java.lang.Integer.valueOf(int):java.lang.Integer
58	   20| move-result-object v2
59	   21| const v0, #+2 (0x00000002 | 2.80260e-45)
60	   24| aput-object v2, v1, v0
61	   26| const v0, #+3 (0x00000003 | 4.20390e-45)
62	   29| aput-object v5, v1, v0
63	   31| invoke-static/range {v1..v1}, Tracer.onFooEntry(java.lang.Object[]):void
64	   34| const v0, #-16843010 (0xfefefefe | -1.69474e+38)
65	   37| const v1, #-16843010 (0xfefefefe | -1.69474e+38)
66	   40| const v2, #-16843010 (0xfefefefe | -1.69474e+38)
67	   43| move-object/16 v2, v3
68	   46| move/16 v3, v4
69	   49| move-object/16 v4, v5
70	   52| iget-object v0, v2, Target.base
71	   54| invoke-virtual {v0,v3,v4}, Base.foo(int, java.lang.String):int
72	   57| move-result v0
73	.line 22
74	   58| iget-object v1, v2, Target.iBase
75	   60| invoke-interface {v1,v4}, IBase.bar(java.lang.String):void
76	.line 23
77	   63| return v0
78}
79
80method Target.foo(int, java.lang.String[][]):java.lang.Integer
81{
82	.params "?", "?"
83	.src "Target.java"
84	.line 27
85	.prologue_end
86	.line 27
87	    0| const v0, #+4 (0x00000004 | 5.60519e-45)
88	    3| new-array v1, v0, java.lang.Object[]
89	    5| const-string v2, "Target->foo(I[[Ljava/lang/String;)Ljava/lang/Integer;"
90	    7| const v0, #+0 (0x00000000 | 0.00000)
91	   10| aput-object v2, v1, v0
92	   12| const v0, #+1 (0x00000001 | 1.40130e-45)
93	   15| aput-object v3, v1, v0
94	   17| invoke-static/range {v4..v4}, java.lang.Integer.valueOf(int):java.lang.Integer
95	   20| move-result-object v2
96	   21| const v0, #+2 (0x00000002 | 2.80260e-45)
97	   24| aput-object v2, v1, v0
98	   26| const v0, #+3 (0x00000003 | 4.20390e-45)
99	   29| aput-object v5, v1, v0
100	   31| invoke-static/range {v1..v1}, Tracer.onFooEntry(java.lang.Object[]):void
101	   34| const v0, #-16843010 (0xfefefefe | -1.69474e+38)
102	   37| const v1, #-16843010 (0xfefefefe | -1.69474e+38)
103	   40| const v2, #-16843010 (0xfefefefe | -1.69474e+38)
104	   43| move-object/16 v2, v3
105	   46| move/16 v3, v4
106	   49| move-object/16 v4, v5
107	   52| iget-object v0, v2, Target.base
108	   54| const-string v1, "foo"
109	   56| invoke-virtual {v0,v3,v1}, Base.foo(int, java.lang.String):int
110	.line 28
111	   59| iget-object v0, v2, Target.iBase
112	   61| const-string v1, "bar"
113	   63| invoke-interface {v0,v1}, IBase.bar(java.lang.String):void
114	.line 29
115	   66| const/4 v0, #+0 (0x00000000 | 0.00000)
116	   67| return-object v0
117}
118