blob: eeeb8db461e7d2464edad3c0fa9c8fdecd6b6dfe (
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
|
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>())
| RETURN
constructor-execution(void FancyHelloWorld.<init>())
end public void <init>()
public static void main(String[]):
ALOAD_0
ASTORE 8
method-execution(void FancyHelloWorld.main(java.lang.String[]))
| GETSTATIC java.lang.System.out Ljava/io/PrintStream; (line 9)
| ASTORE_1
| finally -> E1
| | catch java.lang.Exception -> E0
| | | ALOAD_1 // Ljava/io/PrintStream; out (line 11)
| | | LDC "bye"
| | | ASTORE 5
| | | method-call(void java.io.PrintStream.println(java.lang.String))
| | | | ALOAD 5
| | | | INVOKEVIRTUAL java.io.PrintStream.println (Ljava/lang/String;)V
| | | | ALOAD 5
| | | | INVOKESTATIC Aspect.ajc_afterReturning_method_call (Ljava/lang/Object;)V
| | | | NOP
| | | method-call(void java.io.PrintStream.println(java.lang.String))
| | | GOTO L0
| | catch java.lang.Exception -> E0
| | E0: ASTORE_2 (line 12)
| | ALOAD_1 // Ljava/io/PrintStream; out (line 13)
| | ALOAD_2 // Ljava/lang/Exception; e
| | ASTORE 6
| | method-call(void java.io.PrintStream.println(java.lang.Object))
| | | ALOAD 6
| | | INVOKEVIRTUAL java.io.PrintStream.println (Ljava/lang/Object;)V
| | | ALOAD 6
| | | INVOKESTATIC Aspect.ajc_afterReturning_method_call (Ljava/lang/Object;)V
| | | NOP
| | method-call(void java.io.PrintStream.println(java.lang.Object))
| finally -> E1
| GOTO L0
| E1: ASTORE 4 (line 14)
| JSR L1
| ALOAD 4
| ATHROW
| L0: JSR L1
| GOTO L2
| L1: ASTORE_3
| ALOAD_1 // Ljava/io/PrintStream; out (line 15)
| LDC "finally"
| ASTORE 7
| method-call(void java.io.PrintStream.println(java.lang.String))
| | ALOAD 7
| | INVOKEVIRTUAL java.io.PrintStream.println (Ljava/lang/String;)V
| | ALOAD 7
| | INVOKESTATIC Aspect.ajc_afterReturning_method_call (Ljava/lang/Object;)V
| | NOP
| method-call(void java.io.PrintStream.println(java.lang.String))
| RET 3 (line 10)
| L2: NOP (line 17)
| ALOAD 8
| INVOKESTATIC Aspect.ajc_afterReturning_method_execution (Ljava/lang/Object;)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())
| ICONST_0 (line 20)
| ISTORE_0
| ILOAD_0 // I x (line 21)
| LDC "name"
| method-call(int java.lang.String.hashCode())
| | INVOKEVIRTUAL java.lang.String.hashCode ()I
| method-call(int java.lang.String.hashCode())
| IADD
| ISTORE_0 // I x
| LDC "name" (line 22)
| ASTORE_1
| constructor-call(void java.lang.StringBuffer.<init>(java.lang.String))
| | NEW java.lang.StringBuffer
| | DUP
| | ALOAD_1
| | INVOKESPECIAL java.lang.StringBuffer.<init> (Ljava/lang/String;)V
| | ALOAD_1
| | INVOKESTATIC Aspect.ajc_afterReturning_constructor_call (Ljava/lang/Object;)V
| | NOP
| constructor-call(void java.lang.StringBuffer.<init>(java.lang.String))
| ILOAD_0 // I x
| ISTORE_2
| method-call(java.lang.StringBuffer java.lang.StringBuffer.append(int))
| | ILOAD_2
| | INVOKEVIRTUAL java.lang.StringBuffer.append (I)Ljava/lang/StringBuffer;
| | ILOAD_2
| | INVOKESTATIC org.aspectj.runtime.internal.Conversions.intObject (I)Ljava/lang/Object;
| | INVOKESTATIC Aspect.ajc_afterReturning_method_call (Ljava/lang/Object;)V
| | NOP
| method-call(java.lang.StringBuffer java.lang.StringBuffer.append(int))
| method-call(java.lang.String java.lang.StringBuffer.toString())
| | INVOKEVIRTUAL java.lang.StringBuffer.toString ()Ljava/lang/String;
| method-call(java.lang.String java.lang.StringBuffer.toString())
| ARETURN
method-execution(java.lang.String FancyHelloWorld.getName())
end public static String getName()
end public abstract class FancyHelloWorld
|