aboutsummaryrefslogtreecommitdiffstats
path: root/weaver/testdata/CflowStateResidueDynamicHelloWorld.txt
blob: 4745c2af0eccfb77b32ab809e6cbdd762feaa04a (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
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[]))
    |               GETSTATIC Aspect.ajc$cflowStack$0 Lorg/aspectj/runtime/internal/CFlowStack;
    |               INVOKEVIRTUAL org.aspectj.runtime.internal.CFlowStack.isValid ()Z
    |               IFEQ L0
    |               GETSTATIC Aspect.ajc$cflowStack$0 Lorg/aspectj/runtime/internal/CFlowStack;
    |               BIPUSH 0
    |               INVOKEVIRTUAL org.aspectj.runtime.internal.CFlowStack.get (I)Ljava/lang/Object;
    |               CHECKCAST java.util.ArrayList
    |               INVOKESTATIC Aspect.ajc_before_0 (Ljava/util/ArrayList;)V
    | catch java.lang.UnsupportedOperationException -> E0
    | |         L0: NEW DynamicHelloWorld   (line 12)
    | |             DUP
    | |             INVOKESPECIAL DynamicHelloWorld.<init> ()V
    | |             LDC "hello"
    | |             GETSTATIC java.util.Collections.EMPTY_LIST Ljava/util/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 L1
    | catch java.lang.UnsupportedOperationException -> E0
    |           E0: ASTORE_1   (line 13)
    |               GETSTATIC java.lang.System.out Ljava/io/PrintStream;   (line 14)
    |               NEW java.lang.StringBuffer
    |               DUP
    |               LDC "expected and caught: "
    |               INVOKESPECIAL java.lang.StringBuffer.<init> (Ljava/lang/String;)V
    |               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)
    |           L1: NEW java.lang.RuntimeException   (line 17)
    |               DUP
    |               LDC "should have caught exception"
    |               INVOKESPECIAL java.lang.RuntimeException.<init> (Ljava/lang/String;)V
    |               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))
    | |             BIPUSH 0
    | |             ISTORE 5
    | |             ALOAD 4
    | |             INSTANCEOF java.util.ArrayList
    | |             IFEQ L0
    | |             BIPUSH 1
    | |             ISTORE 5
    | |             BIPUSH 1
    | |             ANEWARRAY java.lang.Object
    | |             ASTORE 6
    | |             ALOAD 6
    | |             BIPUSH 0
    | |             ALOAD 4
    | |             AASTORE
    | |             GETSTATIC Aspect.ajc$cflowStack$0 Lorg/aspectj/runtime/internal/CFlowStack;
    | |             ALOAD 6
    | |             INVOKEVIRTUAL org.aspectj.runtime.internal.CFlowStack.push ([Ljava/lang/Object;)V
    | | catch java.lang.Throwable -> E0
    | | |       L0: ALOAD 4
    | | |           ALOAD_3
    | | |           INVOKEINTERFACE java.util.List.add (Ljava/lang/Object;)Z
    | | catch java.lang.Throwable -> E0
    | |             GOTO L2
    | |         E0: ASTORE 7
    | |             ILOAD 5
    | |             IFEQ L1
    | |             GETSTATIC Aspect.ajc$cflowStack$0 Lorg/aspectj/runtime/internal/CFlowStack;
    | |             INVOKEVIRTUAL org.aspectj.runtime.internal.CFlowStack.pop ()V
    | |         L1: ALOAD 7
    | |             ATHROW
    | |         L2: NOP
    | |             ILOAD 5
    | |             IFEQ L3
    | |             GETSTATIC Aspect.ajc$cflowStack$0 Lorg/aspectj/runtime/internal/CFlowStack;
    | |             INVOKEVIRTUAL org.aspectj.runtime.internal.CFlowStack.pop ()V
    | |         L3: 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)

end public class DynamicHelloWorld