blob: 17f383f9c7de69c3b0cc6016e91c7d3300c3932f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
|
public abstract class FancyHelloWorld extends java.lang.Object:
public void <init>():
ALOAD_0 // LFancyHelloWorld; this (line 7)
INVOKESPECIAL java.lang.Object.<init> ()V
constructor-execution(void FancyHelloWorld.<init>())
| ALOAD_0
| INVOKESTATIC FancyHelloWorld.init$_extracted0 (LFancyHelloWorld;)V
| RETURN
constructor-execution(void FancyHelloWorld.<init>())
end public void <init>()
public static void main(String[]):
ALOAD_0
ASTORE 11
method-execution(void FancyHelloWorld.main(java.lang.String[]))
| ALOAD 11
| INVOKESTATIC FancyHelloWorld.main_extracted5 ([Ljava/lang/String;)V
| RETURN
method-execution(void FancyHelloWorld.main(java.lang.String[]))
end public static void main(String[])
public static String getName():
method-execution(java.lang.String FancyHelloWorld.getName())
| INVOKESTATIC FancyHelloWorld.getName_extracted10 ()Ljava/lang/String;
| ARETURN
method-execution(java.lang.String FancyHelloWorld.getName())
end public static String getName()
static final void init$_extracted0(FancyHelloWorld):
RETURN (line 7)
end static final void init$_extracted0(FancyHelloWorld)
static final java.io.PrintStream out_extracted1():
GETSTATIC java.lang.System.out Ljava/io/PrintStream; (line 9)
ARETURN
end static final java.io.PrintStream out_extracted1()
static final void println_extracted2(java.io.PrintStream, String):
ALOAD_0
ALOAD_1
INVOKEVIRTUAL java.io.PrintStream.println (Ljava/lang/String;)V (line 11)
RETURN
end static final void println_extracted2(java.io.PrintStream, String)
static final void println_extracted3(java.io.PrintStream, Object):
ALOAD_0
ALOAD_1
INVOKEVIRTUAL java.io.PrintStream.println (Ljava/lang/Object;)V (line 13)
RETURN
end static final void println_extracted3(java.io.PrintStream, Object)
static final void println_extracted4(java.io.PrintStream, String):
ALOAD_0
ALOAD_1
INVOKEVIRTUAL java.io.PrintStream.println (Ljava/lang/String;)V (line 15)
RETURN
end static final void println_extracted4(java.io.PrintStream, String)
static final void main_extracted5(String[]):
field-get(java.io.PrintStream java.lang.System.out)
| INVOKESTATIC FancyHelloWorld.out_extracted1 ()Ljava/io/PrintStream;
field-get(java.io.PrintStream java.lang.System.out)
ASTORE_1 (line 9)
finally -> E1
| catch java.lang.Exception -> E0
| | ALOAD_1 // Ljava/io/PrintStream; out (line 11)
| | LDC "bye"
| | ASTORE_3
| | ASTORE 5
| | method-call(void java.io.PrintStream.println(java.lang.String))
| | | ALOAD 5
| | | ALOAD_3
| | | INVOKESTATIC FancyHelloWorld.println_extracted2 (Ljava/io/PrintStream;Ljava/lang/String;)V
| | method-call(void java.io.PrintStream.println(java.lang.String))
| | GOTO L0
| catch java.lang.Exception -> E0
| E0: ASTORE 7 (line 12)
| ALOAD_1 // Ljava/io/PrintStream; out (line 13)
| ALOAD 7 // Ljava/lang/Exception; e
| ASTORE 9
| ASTORE 11
| method-call(void java.io.PrintStream.println(java.lang.Object))
| | ALOAD 11
| | ALOAD 9
| | INVOKESTATIC FancyHelloWorld.println_extracted3 (Ljava/io/PrintStream;Ljava/lang/Object;)V
| method-call(void java.io.PrintStream.println(java.lang.Object))
finally -> E1
GOTO L0
E1: ASTORE 13 (line 14)
JSR L1
ALOAD 13
ATHROW
L0: JSR L1
GOTO L2
L1: ASTORE 15
ALOAD_1 // Ljava/io/PrintStream; out (line 15)
LDC "finally"
ASTORE 17
ASTORE 19
method-call(void java.io.PrintStream.println(java.lang.String))
| ALOAD 19
| ALOAD 17
| INVOKESTATIC FancyHelloWorld.println_extracted4 (Ljava/io/PrintStream;Ljava/lang/String;)V
method-call(void java.io.PrintStream.println(java.lang.String))
RET 15 (line 10)
L2: RETURN (line 17)
end static final void main_extracted5(String[])
static final int hashCode_extracted6(String):
ALOAD_0
INVOKEVIRTUAL java.lang.String.hashCode ()I (line 21)
IRETURN
end static final int hashCode_extracted6(String)
static final StringBuffer init$_extracted7(String):
NEW java.lang.StringBuffer
DUP
ALOAD_0
INVOKESPECIAL java.lang.StringBuffer.<init> (Ljava/lang/String;)V (line 22)
ARETURN
end static final StringBuffer init$_extracted7(String)
static final StringBuffer append_extracted8(StringBuffer, int):
ALOAD_0
ILOAD_1
INVOKEVIRTUAL java.lang.StringBuffer.append (I)Ljava/lang/StringBuffer; (line 22)
ARETURN
end static final StringBuffer append_extracted8(StringBuffer, int)
static final String toString_extracted9(StringBuffer):
ALOAD_0
INVOKEVIRTUAL java.lang.StringBuffer.toString ()Ljava/lang/String; (line 22)
ARETURN
end static final String toString_extracted9(StringBuffer)
static final String getName_extracted10():
ICONST_0 (line 20)
ISTORE_0
ILOAD_0 // I x (line 21)
LDC "name"
ASTORE_2
method-call(int java.lang.String.hashCode())
| ALOAD_2
| INVOKESTATIC FancyHelloWorld.hashCode_extracted6 (Ljava/lang/String;)I
method-call(int java.lang.String.hashCode())
IADD
ISTORE_0 // I x
LDC "name" (line 22)
ASTORE 4
constructor-call(void java.lang.StringBuffer.<init>(java.lang.String))
| ALOAD 4
| INVOKESTATIC FancyHelloWorld.init$_extracted7 (Ljava/lang/String;)Ljava/lang/StringBuffer;
constructor-call(void java.lang.StringBuffer.<init>(java.lang.String))
ILOAD_0 // I x
ISTORE 6
ASTORE 8
method-call(java.lang.StringBuffer java.lang.StringBuffer.append(int))
| ALOAD 8
| ILOAD 6
| INVOKESTATIC FancyHelloWorld.append_extracted8 (Ljava/lang/StringBuffer;I)Ljava/lang/StringBuffer;
method-call(java.lang.StringBuffer java.lang.StringBuffer.append(int))
ASTORE 10
method-call(java.lang.String java.lang.StringBuffer.toString())
| ALOAD 10
| INVOKESTATIC FancyHelloWorld.toString_extracted9 (Ljava/lang/StringBuffer;)Ljava/lang/String;
method-call(java.lang.String java.lang.StringBuffer.toString())
ARETURN
end static final String getName_extracted10()
end public abstract class FancyHelloWorld
|