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[]): catch java.lang.UnsupportedOperationException -> E0 | NEW DynamicHelloWorld (line 12) | DUP | INVOKESPECIAL DynamicHelloWorld. ()V | LDC "hello" | GETSTATIC java.util.Collections.EMPTY_LIST Ljava/util/List; | INVOKEVIRTUAL DynamicHelloWorld.doit (Ljava/lang/String;Ljava/util/List;)Ljava/lang/String; | POP | GOTO L0 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. (Ljava/lang/String;)V ALOAD_1 // java.lang.UnsupportedOperationException t 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 RETURN (line 15) L0: NEW java.lang.RuntimeException (line 17) DUP LDC "should have caught exception" INVOKESPECIAL java.lang.RuntimeException. (Ljava/lang/String;)V ATHROW 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$1$26352be2 (Ljava/lang/Object;)V | ALOAD_0 | ALOAD_3 | ALOAD 4 | INVOKESTATIC MyTrace.aspectOf ()LMyTrace; | ACONST_NULL | INVOKESTATIC DynamicHelloWorld.doit_aroundBody3$advice (LDynamicHelloWorld;Ljava/lang/String;Ljava/util/List;LTrace;Lorg/aspectj/runtime/internal/AroundClosure;)Ljava/lang/Object; | CHECKCAST java.lang.String | GOTO L0 | L0: DUP | ASTORE 5 | INVOKESTATIC MyTrace.aspectOf ()LMyTrace; | ALOAD_0 | ALOAD 5 | INVOKEVIRTUAL MyTrace.ajc$afterReturning$MyTrace$1$2b31dfa3 (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) private static final String doit_aroundBody0(DynamicHelloWorld, String, java.util.List): ALOAD_2 (line 21) ALOAD_1 INVOKEINTERFACE java.util.List.add (Ljava/lang/Object;)Z POP ALOAD_2 (line 22) INVOKEVIRTUAL java.lang.Object.toString ()Ljava/lang/String; ARETURN end private static final String doit_aroundBody0(DynamicHelloWorld, String, java.util.List) private static final Object doit_aroundBody1$advice(DynamicHelloWorld, String, java.util.List, Trace, Object, org.aspectj.runtime.internal.AroundClosure): 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 4 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 4 (line 18) ALOAD 5 ASTORE 7 ASTORE 8 ALOAD 8 CHECKCAST DynamicHelloWorld ALOAD_1 ALOAD_2 INVOKESTATIC DynamicHelloWorld.doit_aroundBody0 (LDynamicHelloWorld;Ljava/lang/String;Ljava/util/List;)Ljava/lang/String; ASTORE 6 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 6 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 6 (line 20) ARETURN end private static final Object doit_aroundBody1$advice(DynamicHelloWorld, String, java.util.List, Trace, Object, org.aspectj.runtime.internal.AroundClosure) private static final String doit_aroundBody2(DynamicHelloWorld, String, java.util.List): ALOAD_0 ALOAD_1 ALOAD_2 INVOKESTATIC MyTrace.aspectOf ()LMyTrace; ALOAD_0 ACONST_NULL INVOKESTATIC DynamicHelloWorld.doit_aroundBody1$advice (LDynamicHelloWorld;Ljava/lang/String;Ljava/util/List;LTrace;Ljava/lang/Object;Lorg/aspectj/runtime/internal/AroundClosure;)Ljava/lang/Object; CHECKCAST java.lang.String ARETURN end private static final String doit_aroundBody2(DynamicHelloWorld, String, java.util.List) private static final Object doit_aroundBody3$advice(DynamicHelloWorld, String, java.util.List, Trace, org.aspectj.runtime.internal.AroundClosure): LDC "Hi" (line 9) ASTORE 5 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 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 4 (line 11) ASTORE 7 ALOAD_0 ALOAD_1 ALOAD_2 INVOKESTATIC DynamicHelloWorld.doit_aroundBody2 (LDynamicHelloWorld;Ljava/lang/String;Ljava/util/List;)Ljava/lang/String; ASTORE 6 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 6 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 6 (line 13) ARETURN end private static final Object doit_aroundBody3$advice(DynamicHelloWorld, String, java.util.List, Trace, org.aspectj.runtime.internal.AroundClosure) end public class DynamicHelloWorld