public class DynamicHelloWorld extends java.lang.Object implements java.io.Serializable: public void (): ALOAD_0 // DynamicHelloWorld this (line 8) INVOKESPECIAL java.lang.Object. ()V constructor-execution(void DynamicHelloWorld.()) | RETURN constructor-execution(void DynamicHelloWorld.()) end public void () 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.()) | | | INVOKESPECIAL DynamicHelloWorld. ()V | | constructor-call(void DynamicHelloWorld.()) | | 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.(java.lang.String)) | | INVOKESPECIAL java.lang.StringBuffer. (Ljava/lang/String;)V | constructor-call(void java.lang.StringBuffer.(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.(java.lang.String)) | | INVOKESPECIAL java.lang.RuntimeException. (Ljava/lang/String;)V | constructor-call(void java.lang.RuntimeException.(java.lang.String)) | ATHROW method-execution(void DynamicHelloWorld.main(java.lang.String[])) end public static void main(String[]) String doit(String, java.util.List): ALOAD_1 ASTORE_3 ALOAD_2 ASTORE 4 method-execution(java.lang.String DynamicHelloWorld.doit(java.lang.String, java.util.List)) | INVOKESTATIC MyTrace.aspectOf ()LMyTrace; | ALOAD_0 | INVOKEVIRTUAL Trace.ajc$before$Trace$51 (Ljava/lang/Object;)V | INVOKESTATIC MyTrace.aspectOf ()LMyTrace; | ACONST_NULL | ASTORE 13 | ASTORE 12 | LDC "Hi" (line 9) | ASTORE 14 | GETSTATIC java.lang.System.out Ljava/io/PrintStream; (line 10) | NEW java.lang.StringBuffer | DUP | LDC "start around: " | INVOKESPECIAL java.lang.StringBuffer. (Ljava/lang/String;)V | ALOAD 14 | INVOKEVIRTUAL java.lang.StringBuffer.append (Ljava/lang/Object;)Ljava/lang/StringBuffer; | INVOKEVIRTUAL java.lang.StringBuffer.toString ()Ljava/lang/String; | INVOKEVIRTUAL java.io.PrintStream.println (Ljava/lang/String;)V | ALOAD 13 (line 11) | ASTORE 18 | ALOAD_0 | ALOAD_3 | ALOAD 4 | INVOKESTATIC DynamicHelloWorld.doit_aroundBody1 (LDynamicHelloWorld;Ljava/lang/String;Ljava/util/List;)Ljava/lang/String; | ASTORE 16 | GETSTATIC java.lang.System.out Ljava/io/PrintStream; (line 12) | NEW java.lang.StringBuffer | DUP | LDC "exiting around with: " | INVOKESPECIAL java.lang.StringBuffer. (Ljava/lang/String;)V | ALOAD 16 | INVOKEVIRTUAL java.lang.StringBuffer.append (Ljava/lang/Object;)Ljava/lang/StringBuffer; | INVOKEVIRTUAL java.lang.StringBuffer.toString ()Ljava/lang/String; | INVOKEVIRTUAL java.io.PrintStream.println (Ljava/lang/String;)V | ALOAD 16 (line 13) | GOTO L0 | L0: NOP | CHECKCAST java.lang.String | GOTO L1 | L1: DUP | ASTORE 19 | INVOKESTATIC MyTrace.aspectOf ()LMyTrace; | ALOAD_0 | ALOAD 19 | INVOKEVIRTUAL MyTrace.ajc$afterReturning$MyTrace$6e (Ljava/lang/Object;Ljava/lang/Object;)V | ARETURN method-execution(java.lang.String DynamicHelloWorld.doit(java.lang.String, java.util.List)) end String doit(String, java.util.List) static final String doit_aroundBody0(DynamicHelloWorld, String, java.util.List): ALOAD_2 (line 21) ALOAD_1 method-call(boolean java.util.List.add(java.lang.Object)) | INVOKEINTERFACE java.util.List.add (Ljava/lang/Object;)Z method-call(boolean java.util.List.add(java.lang.Object)) POP ALOAD_2 (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 end static final String doit_aroundBody0(DynamicHelloWorld, String, java.util.List) static final String doit_aroundBody1(DynamicHelloWorld, String, java.util.List): INVOKESTATIC MyTrace.aspectOf ()LMyTrace; ALOAD_0 ACONST_NULL ASTORE_3 ASTORE 5 ASTORE 7 GETSTATIC java.lang.System.out Ljava/io/PrintStream; (line 17) NEW java.lang.StringBuffer DUP LDC "start around(2): " INVOKESPECIAL java.lang.StringBuffer. (Ljava/lang/String;)V ALOAD 5 INVOKEVIRTUAL java.lang.StringBuffer.append (Ljava/lang/Object;)Ljava/lang/StringBuffer; INVOKEVIRTUAL java.lang.StringBuffer.toString ()Ljava/lang/String; INVOKEVIRTUAL java.io.PrintStream.println (Ljava/lang/String;)V ALOAD 5 (line 18) ALOAD_3 ASTORE 9 ASTORE 11 ALOAD 11 CHECKCAST DynamicHelloWorld ALOAD_1 ALOAD_2 INVOKESTATIC DynamicHelloWorld.doit_aroundBody0 (LDynamicHelloWorld;Ljava/lang/String;Ljava/util/List;)Ljava/lang/String; ASTORE 13 GETSTATIC java.lang.System.out Ljava/io/PrintStream; (line 19) NEW java.lang.StringBuffer DUP LDC "exiting around with(2): " INVOKESPECIAL java.lang.StringBuffer. (Ljava/lang/String;)V ALOAD 13 INVOKEVIRTUAL java.lang.StringBuffer.append (Ljava/lang/Object;)Ljava/lang/StringBuffer; INVOKEVIRTUAL java.lang.StringBuffer.toString ()Ljava/lang/String; INVOKEVIRTUAL java.io.PrintStream.println (Ljava/lang/String;)V ALOAD 13 (line 20) GOTO L0 L0: NOP CHECKCAST java.lang.String ARETURN end static final String doit_aroundBody1(DynamicHelloWorld, String, java.util.List) end public class DynamicHelloWorld