aboutsummaryrefslogtreecommitdiffstats
path: root/weaver/testdata/AroundArgsDynamicHelloWorld.txt
blob: 56ef15d8bcfc41aa7346d0dfcbf257b3e3c08641 (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
public class DynamicHelloWorld extends java.lang.Object implements java.io.Serializable:
  public void <init>():
                    ALOAD_0     // DynamicHelloWorld this   (line 8)
                    INVOKESPECIAL java.lang.Object.<init> ()V
    constructor-execution(void DynamicHelloWorld.<init>())
    |               RETURN
    constructor-execution(void DynamicHelloWorld.<init>())
  end public void <init>()

  public static void main(String[]):
    method-execution(void DynamicHelloWorld.main(java.lang.String[]))
    | catch java.lang.UnsupportedOperationException -> E0
    | |             NEW DynamicHelloWorld   (line 12)
    | |             DUP
    | | constructor-call(void DynamicHelloWorld.<init>())
    | | |           INVOKESPECIAL DynamicHelloWorld.<init> ()V
    | | constructor-call(void DynamicHelloWorld.<init>())
    | |             LDC "hello"
    | | field-get(java.util.List java.util.Collections.EMPTY_LIST)
    | | |           GETSTATIC java.util.Collections.EMPTY_LIST Ljava/util/List;
    | | field-get(java.util.List java.util.Collections.EMPTY_LIST)
    | | method-call(java.lang.String DynamicHelloWorld.doit(java.lang.String, java.util.List))
    | | |           INVOKEVIRTUAL DynamicHelloWorld.doit (Ljava/lang/String;Ljava/util/List;)Ljava/lang/String;
    | | method-call(java.lang.String DynamicHelloWorld.doit(java.lang.String, java.util.List))
    | |             POP
    | |             GOTO L0
    | catch java.lang.UnsupportedOperationException -> E0
    |           E0: ASTORE_1   (line 13)
    | field-get(java.io.PrintStream java.lang.System.out)
    | |             GETSTATIC java.lang.System.out Ljava/io/PrintStream;   (line 14)
    | field-get(java.io.PrintStream java.lang.System.out)
    |               NEW java.lang.StringBuffer
    |               DUP
    |               LDC "expected and caught: "
    | constructor-call(void java.lang.StringBuffer.<init>(java.lang.String))
    | |             INVOKESPECIAL java.lang.StringBuffer.<init> (Ljava/lang/String;)V
    | constructor-call(void java.lang.StringBuffer.<init>(java.lang.String))
    |               ALOAD_1     // java.lang.UnsupportedOperationException t
    | method-call(java.lang.StringBuffer java.lang.StringBuffer.append(java.lang.Object))
    | |             INVOKEVIRTUAL java.lang.StringBuffer.append (Ljava/lang/Object;)Ljava/lang/StringBuffer;
    | method-call(java.lang.StringBuffer java.lang.StringBuffer.append(java.lang.Object))
    | 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())
    | method-call(void java.io.PrintStream.println(java.lang.String))
    | |             INVOKEVIRTUAL java.io.PrintStream.println (Ljava/lang/String;)V
    | method-call(void java.io.PrintStream.println(java.lang.String))
    |               RETURN   (line 15)
    |           L0: NEW java.lang.RuntimeException   (line 17)
    |               DUP
    |               LDC "should have caught exception"
    | constructor-call(void java.lang.RuntimeException.<init>(java.lang.String))
    | |             INVOKESPECIAL java.lang.RuntimeException.<init> (Ljava/lang/String;)V
    | constructor-call(void java.lang.RuntimeException.<init>(java.lang.String))
    |               ATHROW
    method-execution(void DynamicHelloWorld.main(java.lang.String[]))
  end public static void main(String[])

  String doit(String, java.util.List):
    method-execution(java.lang.String DynamicHelloWorld.doit(java.lang.String, java.util.List))
    |               ALOAD_2     // java.util.List l   (line 21)
    |               ALOAD_1     // java.lang.String s
    |               ASTORE_3
    |               ASTORE 4
    | method-call(boolean java.util.List.add(java.lang.Object))
    | |             ALOAD 4
    | |             INSTANCEOF java.util.ArrayList
    | |             IFEQ L0
    | |             ALOAD 4
    | |             CHECKCAST java.util.ArrayList
    | |             BIPUSH 3
    | |             ANEWARRAY java.lang.Object
    | |             ASTORE 5
    | |             ALOAD 5
    | |             BIPUSH 0
    | |             ALOAD_0
    | |             AASTORE
    | |             ALOAD 5
    | |             BIPUSH 1
    | |             ALOAD 4
    | |             AASTORE
    | |             ALOAD 5
    | |             BIPUSH 2
    | |             ALOAD_3
    | |             AASTORE
    | |             NEW DynamicHelloWorld$AjcClosure1
    | |             DUP
    | |             ALOAD 5
    | |             INVOKESPECIAL DynamicHelloWorld$AjcClosure1.<init> ([Ljava/lang/Object;)V
    | |             INVOKESTATIC Aspect.ajc_around0 (Ljava/util/ArrayList;Lorg/aspectj/runtime/internal/AroundClosure;)Z
    | |             GOTO L1
    | |         L0: ALOAD_0
    | |             ALOAD 4
    | |             ALOAD_3
    | |             INVOKESTATIC DynamicHelloWorld.add_aroundBody0 (LDynamicHelloWorld;Ljava/util/List;Ljava/lang/Object;)Z
    | |         L1: NOP
    | method-call(boolean java.util.List.add(java.lang.Object))
    |               POP
    |               ALOAD_2     // java.util.List l   (line 22)
    | method-call(java.lang.String java.lang.Object.toString())
    | |             INVOKEVIRTUAL java.lang.Object.toString ()Ljava/lang/String;
    | method-call(java.lang.String java.lang.Object.toString())
    |               ARETURN
    method-execution(java.lang.String DynamicHelloWorld.doit(java.lang.String, java.util.List))
  end String doit(String, java.util.List)

  static final boolean add_aroundBody0(DynamicHelloWorld, java.util.List, Object):
                    ALOAD_1
                    ALOAD_2
                    INVOKEINTERFACE java.util.List.add (Ljava/lang/Object;)Z   (line 21)
                    IRETURN
  end static final boolean add_aroundBody0(DynamicHelloWorld, java.util.List, Object)
end public class DynamicHelloWorld

public class DynamicHelloWorld$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 DynamicHelloWorld
                    ALOAD_1
                    BIPUSH 0
                    AALOAD
                    CHECKCAST java.util.List
                    ALOAD_2
                    BIPUSH 2
                    AALOAD
                    INVOKESTATIC DynamicHelloWorld.add_aroundBody0 (LDynamicHelloWorld;Ljava/util/List;Ljava/lang/Object;)Z
                    INVOKESTATIC org.aspectj.runtime.internal.Conversions.booleanObject (Z)Ljava/lang/Object;
                    ARETURN
  end public Object run(Object[])
end public class DynamicHelloWorld$AjcClosure1