blob: bc2ef49bac39e19a87761c0fb789c32c7aff8a6e (
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
|
public abstract class FancyHelloWorld extends java.lang.Object:
public void <init>():
ALOAD_0 // FancyHelloWorld this (line 7)
INVOKESPECIAL java.lang.Object.<init> ()V
constructor-execution(void FancyHelloWorld.<init>())
| INVOKESTATIC Aspect.ajc_before_constructor_execution ()V
| RETURN
constructor-execution(void FancyHelloWorld.<init>())
end public void <init>()
public static void main(String[]):
method-execution(void FancyHelloWorld.main(java.lang.String[]))
| INVOKESTATIC Aspect.ajc_before_method_execution ()V
| field-get(java.io.PrintStream java.lang.System.out)
| | INVOKESTATIC Aspect.ajc_before_field_get ()V
| | GETSTATIC java.lang.System.out Ljava/io/PrintStream; (line 9)
| field-get(java.io.PrintStream java.lang.System.out)
| ASTORE_1
| finally -> E1
| | catch java.lang.Exception -> E0
| | | ALOAD_1 // java.io.PrintStream out (line 11)
| | | LDC "bye"
| | | method-call(void java.io.PrintStream.println(java.lang.String))
| | | | INVOKESTATIC Aspect.ajc_before_method_call ()V
| | | | INVOKEVIRTUAL java.io.PrintStream.println (Ljava/lang/String;)V
| | | method-call(void java.io.PrintStream.println(java.lang.String))
| | | GOTO L0
| | catch java.lang.Exception -> E0
| | E0: ASTORE_2 (line 12)
| | ALOAD_1 // java.io.PrintStream out (line 13)
| | ALOAD_2 // java.lang.Exception e
| | method-call(void java.io.PrintStream.println(java.lang.Object))
| | | INVOKESTATIC Aspect.ajc_before_method_call ()V
| | | INVOKEVIRTUAL java.io.PrintStream.println (Ljava/lang/Object;)V
| | 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 // java.io.PrintStream out (line 15)
| LDC "finally"
| method-call(void java.io.PrintStream.println(java.lang.String))
| | INVOKESTATIC Aspect.ajc_before_method_call ()V
| | INVOKEVIRTUAL java.io.PrintStream.println (Ljava/lang/String;)V
| method-call(void java.io.PrintStream.println(java.lang.String))
| RET 3 (line 10)
| L2: RETURN (line 17)
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 Aspect.ajc_before_method_execution ()V
| ICONST_0 (line 20)
| ISTORE_0
| ILOAD_0 // int x (line 21)
| LDC "name"
| method-call(int java.lang.String.hashCode())
| | INVOKESTATIC Aspect.ajc_before_method_call ()V
| | INVOKEVIRTUAL java.lang.String.hashCode ()I
| method-call(int java.lang.String.hashCode())
| IADD
| ISTORE_0 // int x
| LDC "name" (line 22)
| ASTORE_1
| constructor-call(void java.lang.StringBuffer.<init>(java.lang.String))
| | INVOKESTATIC Aspect.ajc_before_constructor_call ()V
| | NEW java.lang.StringBuffer
| | DUP
| | ALOAD_1
| | INVOKESPECIAL java.lang.StringBuffer.<init> (Ljava/lang/String;)V
| constructor-call(void java.lang.StringBuffer.<init>(java.lang.String))
| ILOAD_0 // int x
| method-call(java.lang.StringBuffer java.lang.StringBuffer.append(int))
| | INVOKESTATIC Aspect.ajc_before_method_call ()V
| | INVOKEVIRTUAL java.lang.StringBuffer.append (I)Ljava/lang/StringBuffer;
| method-call(java.lang.StringBuffer java.lang.StringBuffer.append(int))
| method-call(java.lang.String java.lang.StringBuffer.toString())
| | INVOKESTATIC Aspect.ajc_before_method_call ()V
| | 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
|