blob: ba9460b6920f59867aa460ff5c8ad47464df7459 (
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
|
public class HelloWorld extends java.lang.Object:
public void <init>():
ALOAD_0 // HelloWorld this (line 5)
INVOKESPECIAL java.lang.Object.<init> ()V
constructor-execution(void HelloWorld.<init>())
| RETURN
constructor-execution(void HelloWorld.<init>())
end public void <init>()
public static void main(String[]):
method-execution(void HelloWorld.main(java.lang.String[]))
| GETSTATIC java.lang.System.out Ljava/io/PrintStream; (line 8)
| LDC "hello world" (line 9)
| ASTORE_1
| ASTORE_2
| method-call(void java.io.PrintStream.println(java.lang.String))
| | INVOKESTATIC Aspect.ajc_before_method_execution ()V
| | BIPUSH 2
| | ANEWARRAY java.lang.Object
| | ASTORE 4
| | ALOAD 4
| | BIPUSH 0
| | ALOAD_2
| | AASTORE
| | ALOAD 4
| | BIPUSH 1
| | ALOAD_1
| | AASTORE
| | NEW HelloWorld$AjcClosure3
| | DUP
| | ALOAD 4
| | INVOKESPECIAL HelloWorld$AjcClosure3.<init> ([Ljava/lang/Object;)V
| | INVOKESTATIC Aspect.ajc_around (Lorg/aspectj/runtime/internal/AroundClosure;)Ljava/lang/Object;
| | POP
| method-call(void java.io.PrintStream.println(java.lang.String))
| RETURN (line 11)
method-execution(void HelloWorld.main(java.lang.String[]))
end public static void main(String[])
static final void println_aroundBody0(java.io.PrintStream, String):
ALOAD_0
ALOAD_1
INVOKEVIRTUAL java.io.PrintStream.println (Ljava/lang/String;)V (line 9)
RETURN
end static final void println_aroundBody0(java.io.PrintStream, String)
static final void println_aroundBody2(java.io.PrintStream, String):
INVOKESTATIC Aspect.ajc_before_method_execution ()V
BIPUSH 2
ANEWARRAY java.lang.Object
ASTORE_2
ALOAD_2
BIPUSH 0
ALOAD_0
AASTORE
ALOAD_2
BIPUSH 1
ALOAD_1
AASTORE
NEW HelloWorld$AjcClosure1
DUP
ALOAD_2
INVOKESPECIAL HelloWorld$AjcClosure1.<init> ([Ljava/lang/Object;)V
INVOKESTATIC Aspect.ajc_around (Lorg/aspectj/runtime/internal/AroundClosure;)Ljava/lang/Object;
POP
RETURN
end static final void println_aroundBody2(java.io.PrintStream, String)
end public class HelloWorld
public class HelloWorld$AjcClosure1 extends org.aspectj.runtime.internal.AroundClosure:
public void <init>(Object[]):
ALOAD_0
ALOAD_1
INVOKESPECIAL org.aspectj.runtime.internal.AroundClosure.<init> ([Ljava/lang/Object;)V
RETURN
end public void <init>(Object[])
public Object run(Object[]):
ALOAD_0
GETFIELD org.aspectj.runtime.internal.AroundClosure.state [Ljava/lang/Object;
ASTORE_2
ALOAD_2
BIPUSH 0
AALOAD
CHECKCAST java.io.PrintStream
ALOAD_2
BIPUSH 1
AALOAD
CHECKCAST java.lang.String
INVOKESTATIC HelloWorld.println_aroundBody0 (Ljava/io/PrintStream;Ljava/lang/String;)V
ACONST_NULL
ARETURN
end public Object run(Object[])
end public class HelloWorld$AjcClosure1
public class HelloWorld$AjcClosure3 extends org.aspectj.runtime.internal.AroundClosure:
public void <init>(Object[]):
ALOAD_0
ALOAD_1
INVOKESPECIAL org.aspectj.runtime.internal.AroundClosure.<init> ([Ljava/lang/Object;)V
RETURN
end public void <init>(Object[])
public Object run(Object[]):
ALOAD_0
GETFIELD org.aspectj.runtime.internal.AroundClosure.state [Ljava/lang/Object;
ASTORE_2
ALOAD_2
BIPUSH 0
AALOAD
CHECKCAST java.io.PrintStream
ALOAD_2
BIPUSH 1
AALOAD
CHECKCAST java.lang.String
INVOKESTATIC HelloWorld.println_aroundBody2 (Ljava/io/PrintStream;Ljava/lang/String;)V
ACONST_NULL
ARETURN
end public Object run(Object[])
end public class HelloWorld$AjcClosure3
|