public abstract class FancyHelloWorld extends java.lang.Object: public void (): ALOAD_0 // FancyHelloWorld this (line 7) INVOKESPECIAL java.lang.Object. ()V constructor-execution(void FancyHelloWorld.()) | catch java.lang.Throwable -> E0 | | RETURN | catch java.lang.Throwable -> E0 | E0: ASTORE_1 | INVOKESTATIC Aspect.ajc_afterThrowing_constructor_execution ()V | ALOAD_1 | ATHROW constructor-execution(void FancyHelloWorld.()) end public void () public static void main(String[]): method-execution(void FancyHelloWorld.main(java.lang.String[])) | catch java.lang.Throwable -> E6 | | field-get(java.io.PrintStream java.lang.System.out) | | | catch java.lang.Throwable -> E3 | | | | GETSTATIC java.lang.System.out Ljava/io/PrintStream; (line 9) | | | catch java.lang.Throwable -> E3 | | | GOTO L0 | | | E3: ASTORE 5 | | | INVOKESTATIC Aspect.ajc_afterThrowing_field_get ()V | | | ALOAD 5 | | | ATHROW | | | L0: NOP | | field-get(java.io.PrintStream java.lang.System.out) | | ASTORE_1 | | finally -> E5 | | | catch java.lang.Exception -> E4 | | | | ALOAD_1 // java.io.PrintStream out (line 11) | | | | LDC "bye" | | | | method-call(void java.io.PrintStream.println(java.lang.String)) | | | | | catch java.lang.Throwable -> E2 | | | | | | INVOKEVIRTUAL java.io.PrintStream.println (Ljava/lang/String;)V | | | | | catch java.lang.Throwable -> E2 | | | | | GOTO L1 | | | | | E2: ASTORE 6 | | | | | INVOKESTATIC Aspect.ajc_afterThrowing_method_call ()V | | | | | ALOAD 6 | | | | | ATHROW | | | | | L1: NOP | | | | method-call(void java.io.PrintStream.println(java.lang.String)) | | | | GOTO L3 | | | catch java.lang.Exception -> E4 | | | E4: ASTORE_2 (line 12) | | | ALOAD_1 // java.io.PrintStream out (line 13) | | | ALOAD_2 // java.lang.Exception e | | | method-call(void java.io.PrintStream.println(java.lang.Object)) | | | | catch java.lang.Throwable -> E1 | | | | | INVOKEVIRTUAL java.io.PrintStream.println (Ljava/lang/Object;)V | | | | catch java.lang.Throwable -> E1 | | | | GOTO L2 | | | | E1: ASTORE 7 | | | | INVOKESTATIC Aspect.ajc_afterThrowing_method_call ()V | | | | ALOAD 7 | | | | ATHROW | | | | L2: NOP | | | method-call(void java.io.PrintStream.println(java.lang.Object)) | | finally -> E5 | | GOTO L3 | | E5: ASTORE 4 (line 14) | | JSR L4 | | ALOAD 4 | | ATHROW | | L3: JSR L4 | | GOTO L6 | | L4: ASTORE_3 | | ALOAD_1 // java.io.PrintStream out (line 15) | | LDC "finally" | | method-call(void java.io.PrintStream.println(java.lang.String)) | | | catch java.lang.Throwable -> E0 | | | | INVOKEVIRTUAL java.io.PrintStream.println (Ljava/lang/String;)V | | | catch java.lang.Throwable -> E0 | | | GOTO L5 | | | E0: ASTORE 8 | | | INVOKESTATIC Aspect.ajc_afterThrowing_method_call ()V | | | ALOAD 8 | | | ATHROW | | | L5: NOP | | method-call(void java.io.PrintStream.println(java.lang.String)) | | RET 3 (line 10) | | L6: RETURN (line 17) | catch java.lang.Throwable -> E6 | E6: ASTORE 9 | INVOKESTATIC Aspect.ajc_afterThrowing_method_execution ()V | ALOAD 9 | ATHROW method-execution(void FancyHelloWorld.main(java.lang.String[])) end public static void main(String[]) public static String getName(): method-execution(java.lang.String FancyHelloWorld.getName()) | catch java.lang.Throwable -> E4 | | ICONST_0 (line 20) | | ISTORE_0 | | ILOAD_0 // int x (line 21) | | LDC "name" | | method-call(int java.lang.String.hashCode()) | | | catch java.lang.Throwable -> E3 | | | | INVOKEVIRTUAL java.lang.String.hashCode ()I | | | catch java.lang.Throwable -> E3 | | | GOTO L0 | | | E3: ASTORE_1 | | | INVOKESTATIC Aspect.ajc_afterThrowing_method_call ()V | | | ALOAD_1 | | | ATHROW | | | L0: NOP | | method-call(int java.lang.String.hashCode()) | | IADD | | ISTORE_0 // int x | | LDC "name" (line 22) | | ASTORE_2 | | constructor-call(void java.lang.StringBuffer.(java.lang.String)) | | | catch java.lang.Throwable -> E2 | | | | NEW java.lang.StringBuffer | | | | DUP | | | | ALOAD_2 | | | | INVOKESPECIAL java.lang.StringBuffer. (Ljava/lang/String;)V | | | catch java.lang.Throwable -> E2 | | | GOTO L1 | | | E2: ASTORE_3 | | | INVOKESTATIC Aspect.ajc_afterThrowing_constructor_call ()V | | | ALOAD_3 | | | ATHROW | | | L1: NOP | | constructor-call(void java.lang.StringBuffer.(java.lang.String)) | | ILOAD_0 // int x | | method-call(java.lang.StringBuffer java.lang.StringBuffer.append(int)) | | | catch java.lang.Throwable -> E1 | | | | INVOKEVIRTUAL java.lang.StringBuffer.append (I)Ljava/lang/StringBuffer; | | | catch java.lang.Throwable -> E1 | | | GOTO L2 | | | E1: ASTORE 4 | | | INVOKESTATIC Aspect.ajc_afterThrowing_method_call ()V | | | ALOAD 4 | | | ATHROW | | | L2: NOP | | method-call(java.lang.StringBuffer java.lang.StringBuffer.append(int)) | | method-call(java.lang.String java.lang.StringBuffer.toString()) | | | catch java.lang.Throwable -> E0 | | | | INVOKEVIRTUAL java.lang.StringBuffer.toString ()Ljava/lang/String; | | | catch java.lang.Throwable -> E0 | | | GOTO L3 | | | E0: ASTORE 5 | | | INVOKESTATIC Aspect.ajc_afterThrowing_method_call ()V | | | ALOAD 5 | | | ATHROW | | | L3: NOP | | method-call(java.lang.String java.lang.StringBuffer.toString()) | | ARETURN | catch java.lang.Throwable -> E4 | E4: ASTORE 6 | INVOKESTATIC Aspect.ajc_afterThrowing_method_execution ()V | ALOAD 6 | ATHROW method-execution(java.lang.String FancyHelloWorld.getName()) end public static String getName() end public abstract class FancyHelloWorld