public abstract class FancyHelloWorld extends java.lang.Object:
  public void <init>():
                    ALOAD_0     // FancyHelloWorld this   (line 7)
                    INVOKESPECIAL java.lang.Object.<init> ()V
    constructor-execution(void FancyHelloWorld.<init>())
    | 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.<init>())
  end public void <init>()

  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.<init>(java.lang.String))
    | | | catch java.lang.Throwable -> E2
    | | | |         NEW java.lang.StringBuffer
    | | | |         DUP
    | | | |         ALOAD_2
    | | | |         INVOKESPECIAL java.lang.StringBuffer.<init> (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.<init>(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