public class DynamicHelloWorld extends java.lang.Object implements java.io.Serializable: public void (): ALOAD_0 // LDynamicHelloWorld; 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[])) | GETSTATIC Aspect.ajc$cflowStack$0 Lorg/aspectj/runtime/internal/CFlowStack; (line 12) | INVOKEVIRTUAL org.aspectj.runtime.internal.CFlowStack.isValid ()Z | IFEQ L0 | GETSTATIC Aspect.ajc$cflowStack$0 Lorg/aspectj/runtime/internal/CFlowStack; | ICONST_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 | | DUP | | INVOKESPECIAL DynamicHelloWorld. ()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. (Ljava/lang/String;)V | ALOAD_1 // Ljava/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. (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 // Ljava/util/List; l (line 21) | ALOAD_1 // Ljava/lang/String; s | ASTORE_3 | ASTORE 4 | method-call(boolean java.util.List.add(java.lang.Object)) | | ICONST_0 | | ISTORE 5 | | ALOAD 4 | | INSTANCEOF java.util.ArrayList | | IFEQ L0 | | ICONST_1 | | ISTORE 5 | | ICONST_1 | | ANEWARRAY java.lang.Object | | ASTORE 6 | | ALOAD 6 | | ICONST_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 // Ljava/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