xref: /aosp_15_r20/tools/dexter/testdata/expected/try_catch.verbose_cfg (revision f0dffb02cdb5c647d21204e89a92a1ffae2dad87)
1*f0dffb02SXin Li
2*f0dffb02SXin Limethod A.<init>():void
3*f0dffb02SXin Li{
4*f0dffb02SXin Li............................. begin block 1 .............................
5*f0dffb02SXin Li	.src "tryCatch.java"
6*f0dffb02SXin Li	.line 2
7*f0dffb02SXin Li	.prologue_end
8*f0dffb02SXin Li	.line 2
9*f0dffb02SXin Li	    0| move-object v0, v2
10*f0dffb02SXin Li	.local v0, "this", A
11*f0dffb02SXin Li	    1| move-object v1, v0
12*f0dffb02SXin Li	    2| invoke-direct {v1}, java.lang.Throwable.<init>():void
13*f0dffb02SXin Li.............................. end block 1 ..............................
14*f0dffb02SXin Li............................. begin block 2 .............................
15*f0dffb02SXin Li	    5| return-void
16*f0dffb02SXin Li.............................. end block 2 ..............................
17*f0dffb02SXin Li}
18*f0dffb02SXin Li
19*f0dffb02SXin Limethod B.<init>():void
20*f0dffb02SXin Li{
21*f0dffb02SXin Li............................. begin block 1 .............................
22*f0dffb02SXin Li	.src "tryCatch.java"
23*f0dffb02SXin Li	.line 6
24*f0dffb02SXin Li	.prologue_end
25*f0dffb02SXin Li	.line 6
26*f0dffb02SXin Li	    0| move-object v0, v2
27*f0dffb02SXin Li	.local v0, "this", B
28*f0dffb02SXin Li	    1| move-object v1, v0
29*f0dffb02SXin Li	    2| invoke-direct {v1}, java.lang.Throwable.<init>():void
30*f0dffb02SXin Li.............................. end block 1 ..............................
31*f0dffb02SXin Li............................. begin block 2 .............................
32*f0dffb02SXin Li	    5| return-void
33*f0dffb02SXin Li.............................. end block 2 ..............................
34*f0dffb02SXin Li}
35*f0dffb02SXin Li
36*f0dffb02SXin Limethod TryCatch.<init>():void
37*f0dffb02SXin Li{
38*f0dffb02SXin Li............................. begin block 1 .............................
39*f0dffb02SXin Li	.src "tryCatch.java"
40*f0dffb02SXin Li	.line 10
41*f0dffb02SXin Li	.prologue_end
42*f0dffb02SXin Li	.line 10
43*f0dffb02SXin Li	    0| move-object v0, v2
44*f0dffb02SXin Li	.local v0, "this", TryCatch
45*f0dffb02SXin Li	    1| move-object v1, v0
46*f0dffb02SXin Li	    2| invoke-direct {v1}, java.lang.Object.<init>():void
47*f0dffb02SXin Li.............................. end block 1 ..............................
48*f0dffb02SXin Li............................. begin block 2 .............................
49*f0dffb02SXin Li	    5| return-void
50*f0dffb02SXin Li.............................. end block 2 ..............................
51*f0dffb02SXin Li}
52*f0dffb02SXin Li
53*f0dffb02SXin Limethod TryCatch.foo(int):int
54*f0dffb02SXin Li{
55*f0dffb02SXin Li............................. begin block 1 .............................
56*f0dffb02SXin Li	.params "?"
57*f0dffb02SXin Li	.src "tryCatch.java"
58*f0dffb02SXin Li	.line 27
59*f0dffb02SXin Li	.prologue_end
60*f0dffb02SXin Li	.line 27
61*f0dffb02SXin Li	    0| move v0, v4
62*f0dffb02SXin Li	.local v0, "x", int
63*f0dffb02SXin Li	    1| move v1, v0
64*f0dffb02SXin Li	    2| if-lez v1, Label_4
65*f0dffb02SXin Li.............................. end block 1 ..............................
66*f0dffb02SXin Li............................. begin block 2 .............................
67*f0dffb02SXin Li	.line 28
68*f0dffb02SXin Li	    4| move v1, v0
69*f0dffb02SXin Li	    5| packed-switch v1, Label_5
70*f0dffb02SXin Li.............................. end block 2 ..............................
71*f0dffb02SXin Li............................. begin block 3 .............................
72*f0dffb02SXin Li	.line 31
73*f0dffb02SXin Li	    8| const/4 v1, #+1 (0x00000001 | 1.40130e-45)
74*f0dffb02SXin Li	    9| move v0, v1
75*f0dffb02SXin Li.............................. end block 3 ..............................
76*f0dffb02SXin Li............................. begin block 4 .............................
77*f0dffb02SXin LiLabel_1:
78*f0dffb02SXin Li	.line 34
79*f0dffb02SXin Li	.end_local v0
80*f0dffb02SXin Li	   10| return v0
81*f0dffb02SXin Li.............................. end block 4 ..............................
82*f0dffb02SXin Li............................. begin block 5 .............................
83*f0dffb02SXin LiLabel_2:
84*f0dffb02SXin Li	.line 29
85*f0dffb02SXin Li	.restart_local v0
86*f0dffb02SXin Li	   11| new-instance v1, A
87*f0dffb02SXin Li.............................. end block 5 ..............................
88*f0dffb02SXin Li............................. begin block 6 .............................
89*f0dffb02SXin Li	   13| move-object v3, v1
90*f0dffb02SXin Li	   14| move-object v1, v3
91*f0dffb02SXin Li	   15| move-object v2, v3
92*f0dffb02SXin Li	   16| invoke-direct {v2}, A.<init>():void
93*f0dffb02SXin Li.............................. end block 6 ..............................
94*f0dffb02SXin Li............................. begin block 7 .............................
95*f0dffb02SXin Li	   19| throw v1
96*f0dffb02SXin Li.............................. end block 7 ..............................
97*f0dffb02SXin Li............................. begin block 8 .............................
98*f0dffb02SXin LiLabel_3:
99*f0dffb02SXin Li	.line 30
100*f0dffb02SXin Li	   20| new-instance v1, B
101*f0dffb02SXin Li.............................. end block 8 ..............................
102*f0dffb02SXin Li............................. begin block 9 .............................
103*f0dffb02SXin Li	   22| move-object v3, v1
104*f0dffb02SXin Li	   23| move-object v1, v3
105*f0dffb02SXin Li	   24| move-object v2, v3
106*f0dffb02SXin Li	   25| invoke-direct {v2}, B.<init>():void
107*f0dffb02SXin Li.............................. end block 9 ..............................
108*f0dffb02SXin Li............................. begin block 10 .............................
109*f0dffb02SXin Li	   28| throw v1
110*f0dffb02SXin Li.............................. end block 10 ..............................
111*f0dffb02SXin Li............................. begin block 11 .............................
112*f0dffb02SXin LiLabel_4:
113*f0dffb02SXin Li	.line 34
114*f0dffb02SXin Li	   29| const/4 v1, #+0 (0x00000000 | 0.00000)
115*f0dffb02SXin Li	   30| move v0, v1
116*f0dffb02SXin Li	   31| goto Label_1
117*f0dffb02SXin Li.............................. end block 11 ..............................
118*f0dffb02SXin LiLabel_5: <aligned>
119*f0dffb02SXin Li	.line 28
120*f0dffb02SXin Li	   32| packed-switch-payload
121*f0dffb02SXin Li		    1: Label_2
122*f0dffb02SXin Li		    2: Label_3
123*f0dffb02SXin Li}
124*f0dffb02SXin Li
125*f0dffb02SXin Limethod TryCatch.main(java.lang.String[]):void
126*f0dffb02SXin Li{
127*f0dffb02SXin Li............................. begin block 1 .............................
128*f0dffb02SXin Li	.params "?"
129*f0dffb02SXin Li	.src "tryCatch.java"
130*f0dffb02SXin Li	.line 15
131*f0dffb02SXin Li	.prologue_end
132*f0dffb02SXin Li	.line 15
133*f0dffb02SXin Li	    0| move-object v0, v6
134*f0dffb02SXin Li	.local v0, "args", java.lang.String[]
135*f0dffb02SXin Li	    1| const/4 v3, #+0 (0x00000000 | 0.00000)
136*f0dffb02SXin Li.............................. end block 1 ..............................
137*f0dffb02SXin Li	.try_begin_1
138*f0dffb02SXin Li............................. begin block 2 .............................
139*f0dffb02SXin Li	    2| invoke-static {v3}, TryCatch.foo(int):int
140*f0dffb02SXin Li.............................. end block 2 ..............................
141*f0dffb02SXin Li	.try_end_1
142*f0dffb02SXin Li	  catch(B) : Label_3
143*f0dffb02SXin Li	  catch(A) : Label_4
144*f0dffb02SXin Li	  catch(...) : Label_5
145*f0dffb02SXin Li............................. begin block 3 .............................
146*f0dffb02SXin Li	    5| move-result v3
147*f0dffb02SXin Li.............................. end block 3 ..............................
148*f0dffb02SXin Li............................. begin block 4 .............................
149*f0dffb02SXin LiLabel_1:
150*f0dffb02SXin Li	.line 18
151*f0dffb02SXin Li	.line 22
152*f0dffb02SXin Li	    6| sget-object v3, java.lang.System.out
153*f0dffb02SXin Li.............................. end block 4 ..............................
154*f0dffb02SXin Li............................. begin block 5 .............................
155*f0dffb02SXin Li	    8| const-string v4, "finally\n"
156*f0dffb02SXin Li.............................. end block 5 ..............................
157*f0dffb02SXin Li............................. begin block 6 .............................
158*f0dffb02SXin Li	   10| const/4 v5, #+0 (0x00000000 | 0.00000)
159*f0dffb02SXin Li	   11| new-array v5, v5, java.lang.Object[]
160*f0dffb02SXin Li.............................. end block 6 ..............................
161*f0dffb02SXin Li............................. begin block 7 .............................
162*f0dffb02SXin Li	   13| invoke-virtual {v3,v4,v5}, java.io.PrintStream.printf(java.lang.String, java.lang.Object[]):java.io.PrintStream
163*f0dffb02SXin Li.............................. end block 7 ..............................
164*f0dffb02SXin Li............................. begin block 8 .............................
165*f0dffb02SXin Li	   16| move-result-object v3
166*f0dffb02SXin Li.............................. end block 8 ..............................
167*f0dffb02SXin Li............................. begin block 9 .............................
168*f0dffb02SXin LiLabel_2:
169*f0dffb02SXin Li	.line 23
170*f0dffb02SXin Li	.line 24
171*f0dffb02SXin Li	   17| return-void
172*f0dffb02SXin Li.............................. end block 9 ..............................
173*f0dffb02SXin Li............................. begin block 10 .............................
174*f0dffb02SXin LiLabel_3:
175*f0dffb02SXin Li	.line 16
176*f0dffb02SXin Li	   18| move-exception v3
177*f0dffb02SXin Li	   19| move-object v1, v3
178*f0dffb02SXin Li.............................. end block 10 ..............................
179*f0dffb02SXin Li	.try_begin_2
180*f0dffb02SXin Li............................. begin block 11 .............................
181*f0dffb02SXin Li	.line 17
182*f0dffb02SXin Li	.local v1, "ex", B
183*f0dffb02SXin Li	   20| sget-object v3, java.lang.System.out
184*f0dffb02SXin Li.............................. end block 11 ..............................
185*f0dffb02SXin Li............................. begin block 12 .............................
186*f0dffb02SXin Li	   22| const-string v4, "catch: B\n"
187*f0dffb02SXin Li.............................. end block 12 ..............................
188*f0dffb02SXin Li............................. begin block 13 .............................
189*f0dffb02SXin Li	   24| const/4 v5, #+0 (0x00000000 | 0.00000)
190*f0dffb02SXin Li	   25| new-array v5, v5, java.lang.Object[]
191*f0dffb02SXin Li.............................. end block 13 ..............................
192*f0dffb02SXin Li............................. begin block 14 .............................
193*f0dffb02SXin Li	   27| invoke-virtual {v3,v4,v5}, java.io.PrintStream.printf(java.lang.String, java.lang.Object[]):java.io.PrintStream
194*f0dffb02SXin Li.............................. end block 14 ..............................
195*f0dffb02SXin Li	.try_end_2
196*f0dffb02SXin Li	  catch(A) : Label_4
197*f0dffb02SXin Li	  catch(...) : Label_5
198*f0dffb02SXin Li............................. begin block 15 .............................
199*f0dffb02SXin Li	   30| move-result-object v3
200*f0dffb02SXin Li	   31| goto Label_1
201*f0dffb02SXin Li.............................. end block 15 ..............................
202*f0dffb02SXin Li............................. begin block 16 .............................
203*f0dffb02SXin LiLabel_4:
204*f0dffb02SXin Li	.line 19
205*f0dffb02SXin Li	.end_local v1
206*f0dffb02SXin Li	   32| move-exception v3
207*f0dffb02SXin Li	   33| move-object v1, v3
208*f0dffb02SXin Li.............................. end block 16 ..............................
209*f0dffb02SXin Li	.try_begin_3
210*f0dffb02SXin Li............................. begin block 17 .............................
211*f0dffb02SXin Li	.line 20
212*f0dffb02SXin Li	.local v1, "ex", A
213*f0dffb02SXin Li	   34| sget-object v3, java.lang.System.out
214*f0dffb02SXin Li.............................. end block 17 ..............................
215*f0dffb02SXin Li............................. begin block 18 .............................
216*f0dffb02SXin Li	   36| const-string v4, "catch: A\n"
217*f0dffb02SXin Li.............................. end block 18 ..............................
218*f0dffb02SXin Li............................. begin block 19 .............................
219*f0dffb02SXin Li	   38| const/4 v5, #+0 (0x00000000 | 0.00000)
220*f0dffb02SXin Li	   39| new-array v5, v5, java.lang.Object[]
221*f0dffb02SXin Li.............................. end block 19 ..............................
222*f0dffb02SXin Li............................. begin block 20 .............................
223*f0dffb02SXin Li	   41| invoke-virtual {v3,v4,v5}, java.io.PrintStream.printf(java.lang.String, java.lang.Object[]):java.io.PrintStream
224*f0dffb02SXin Li.............................. end block 20 ..............................
225*f0dffb02SXin Li	.try_end_3
226*f0dffb02SXin Li	  catch(...) : Label_5
227*f0dffb02SXin Li............................. begin block 21 .............................
228*f0dffb02SXin Li	   44| move-result-object v3
229*f0dffb02SXin Li	.line 22
230*f0dffb02SXin Li	   45| sget-object v3, java.lang.System.out
231*f0dffb02SXin Li.............................. end block 21 ..............................
232*f0dffb02SXin Li............................. begin block 22 .............................
233*f0dffb02SXin Li	   47| const-string v4, "finally\n"
234*f0dffb02SXin Li.............................. end block 22 ..............................
235*f0dffb02SXin Li............................. begin block 23 .............................
236*f0dffb02SXin Li	   49| const/4 v5, #+0 (0x00000000 | 0.00000)
237*f0dffb02SXin Li	   50| new-array v5, v5, java.lang.Object[]
238*f0dffb02SXin Li.............................. end block 23 ..............................
239*f0dffb02SXin Li............................. begin block 24 .............................
240*f0dffb02SXin Li	   52| invoke-virtual {v3,v4,v5}, java.io.PrintStream.printf(java.lang.String, java.lang.Object[]):java.io.PrintStream
241*f0dffb02SXin Li.............................. end block 24 ..............................
242*f0dffb02SXin Li............................. begin block 25 .............................
243*f0dffb02SXin Li	   55| move-result-object v3
244*f0dffb02SXin Li	.line 23
245*f0dffb02SXin Li	   56| goto Label_2
246*f0dffb02SXin Li.............................. end block 25 ..............................
247*f0dffb02SXin Li............................. begin block 26 .............................
248*f0dffb02SXin LiLabel_5:
249*f0dffb02SXin Li	.line 22
250*f0dffb02SXin Li	.end_local v1
251*f0dffb02SXin Li	   57| move-exception v3
252*f0dffb02SXin Li	   58| move-object v2, v3
253*f0dffb02SXin Li	   59| sget-object v3, java.lang.System.out
254*f0dffb02SXin Li.............................. end block 26 ..............................
255*f0dffb02SXin Li............................. begin block 27 .............................
256*f0dffb02SXin Li	   61| const-string v4, "finally\n"
257*f0dffb02SXin Li.............................. end block 27 ..............................
258*f0dffb02SXin Li............................. begin block 28 .............................
259*f0dffb02SXin Li	   63| const/4 v5, #+0 (0x00000000 | 0.00000)
260*f0dffb02SXin Li	   64| new-array v5, v5, java.lang.Object[]
261*f0dffb02SXin Li.............................. end block 28 ..............................
262*f0dffb02SXin Li............................. begin block 29 .............................
263*f0dffb02SXin Li	   66| invoke-virtual {v3,v4,v5}, java.io.PrintStream.printf(java.lang.String, java.lang.Object[]):java.io.PrintStream
264*f0dffb02SXin Li.............................. end block 29 ..............................
265*f0dffb02SXin Li............................. begin block 30 .............................
266*f0dffb02SXin Li	   69| move-result-object v3
267*f0dffb02SXin Li	   70| move-object v3, v2
268*f0dffb02SXin Li	   71| throw v3
269*f0dffb02SXin Li.............................. end block 30 ..............................
270*f0dffb02SXin Li}
271