public class HelloWorld extends java.lang.Object:
  public void <init>():
                    ALOAD_0     // HelloWorld this   (line 5)
                    INVOKESPECIAL java.lang.Object.<init> ()V
    constructor-execution(void HelloWorld.<init>())
    |               BIPUSH 1
    |               ANEWARRAY java.lang.Object
    |               ASTORE_1
    |               ALOAD_1
    |               BIPUSH 0
    |               ALOAD_0
    |               AASTORE
    |               NEW HelloWorld$AjcClosure1
    |               DUP
    |               ALOAD_1
    |               INVOKESPECIAL HelloWorld$AjcClosure1.<init> ([Ljava/lang/Object;)V
    |               INVOKESTATIC Aspect.ajc_around (Lorg/aspectj/runtime/internal/AroundClosure;)Ljava/lang/Object;
    |               POP
    |               RETURN
    constructor-execution(void HelloWorld.<init>())
  end public void <init>()

  public static void main(String[]):
                    ALOAD_0
                    ASTORE 5
    method-execution(void HelloWorld.main(java.lang.String[]))
    |               BIPUSH 1
    |               ANEWARRAY java.lang.Object
    |               ASTORE 6
    |               ALOAD 6
    |               BIPUSH 0
    |               ALOAD 5
    |               AASTORE
    |               NEW HelloWorld$AjcClosure7
    |               DUP
    |               ALOAD 6
    |               INVOKESPECIAL HelloWorld$AjcClosure7.<init> ([Ljava/lang/Object;)V
    |               INVOKESTATIC Aspect.ajc_around (Lorg/aspectj/runtime/internal/AroundClosure;)Ljava/lang/Object;
    |               POP
    |               RETURN
    method-execution(void HelloWorld.main(java.lang.String[]))
  end public static void main(String[])

  static final void init$_aroundBody0(HelloWorld):
                    RETURN   (line 5)
  end static final void init$_aroundBody0(HelloWorld)

  static final java.io.PrintStream out_aroundBody2():
                    GETSTATIC java.lang.System.out Ljava/io/PrintStream;   (line 8)
                    ARETURN
  end static final java.io.PrintStream out_aroundBody2()

  static final void println_aroundBody4(java.io.PrintStream, String):
                    ALOAD_0
                    ALOAD_1
                    INVOKEVIRTUAL java.io.PrintStream.println (Ljava/lang/String;)V   (line 9)
                    RETURN
  end static final void println_aroundBody4(java.io.PrintStream, String)

  static final void main_aroundBody6(String[]):
    field-get(java.io.PrintStream java.lang.System.out)
    |               BIPUSH 0
    |               ANEWARRAY java.lang.Object
    |               ASTORE_1
    |               NEW HelloWorld$AjcClosure3
    |               DUP
    |               ALOAD_1
    |               INVOKESPECIAL HelloWorld$AjcClosure3.<init> ([Ljava/lang/Object;)V
    |               INVOKESTATIC Aspect.ajc_around (Lorg/aspectj/runtime/internal/AroundClosure;)Ljava/lang/Object;
    |               CHECKCAST java.io.PrintStream
    field-get(java.io.PrintStream java.lang.System.out)
                    LDC "hello world"   (line 9)
                    ASTORE_3
                    ASTORE 5
    method-call(void java.io.PrintStream.println(java.lang.String))
    |               BIPUSH 2
    |               ANEWARRAY java.lang.Object
    |               ASTORE 7
    |               ALOAD 7
    |               BIPUSH 0
    |               ALOAD 5
    |               AASTORE
    |               ALOAD 7
    |               BIPUSH 1
    |               ALOAD_3
    |               AASTORE
    |               NEW HelloWorld$AjcClosure5
    |               DUP
    |               ALOAD 7
    |               INVOKESPECIAL HelloWorld$AjcClosure5.<init> ([Ljava/lang/Object;)V
    |               INVOKESTATIC Aspect.ajc_around (Lorg/aspectj/runtime/internal/AroundClosure;)Ljava/lang/Object;
    |               POP
    method-call(void java.io.PrintStream.println(java.lang.String))
                    RETURN   (line 11)
  end static final void main_aroundBody6(String[])
end public class HelloWorld

public class HelloWorld$AjcClosure1 extends org.aspectj.runtime.internal.AroundClosure:
  public void <init>(Object[]):
                    ALOAD_0
                    ALOAD_1
                    INVOKESPECIAL org.aspectj.runtime.internal.AroundClosure.<init> ([Ljava/lang/Object;)V
                    RETURN
  end public void <init>(Object[])

  public Object run(Object[]):
                    ALOAD_0
                    GETFIELD org.aspectj.runtime.internal.AroundClosure.state [Ljava/lang/Object;
                    ASTORE_2
                    ALOAD_2
                    BIPUSH 0
                    AALOAD
                    CHECKCAST HelloWorld
                    INVOKESTATIC HelloWorld.init$_aroundBody0 (LHelloWorld;)V
                    ACONST_NULL
                    ARETURN
  end public Object run(Object[])
end public class HelloWorld$AjcClosure1

public class HelloWorld$AjcClosure3 extends org.aspectj.runtime.internal.AroundClosure:
  public void <init>(Object[]):
                    ALOAD_0
                    ALOAD_1
                    INVOKESPECIAL org.aspectj.runtime.internal.AroundClosure.<init> ([Ljava/lang/Object;)V
                    RETURN
  end public void <init>(Object[])

  public Object run(Object[]):
                    ALOAD_0
                    GETFIELD org.aspectj.runtime.internal.AroundClosure.state [Ljava/lang/Object;
                    ASTORE_2
                    INVOKESTATIC HelloWorld.out_aroundBody2 ()Ljava/io/PrintStream;
                    ARETURN
  end public Object run(Object[])
end public class HelloWorld$AjcClosure3

public class HelloWorld$AjcClosure5 extends org.aspectj.runtime.internal.AroundClosure:
  public void <init>(Object[]):
                    ALOAD_0
                    ALOAD_1
                    INVOKESPECIAL org.aspectj.runtime.internal.AroundClosure.<init> ([Ljava/lang/Object;)V
                    RETURN
  end public void <init>(Object[])

  public Object run(Object[]):
                    ALOAD_0
                    GETFIELD org.aspectj.runtime.internal.AroundClosure.state [Ljava/lang/Object;
                    ASTORE_2
                    ALOAD_2
                    BIPUSH 0
                    AALOAD
                    CHECKCAST java.io.PrintStream
                    ALOAD_2
                    BIPUSH 1
                    AALOAD
                    CHECKCAST java.lang.String
                    INVOKESTATIC HelloWorld.println_aroundBody4 (Ljava/io/PrintStream;Ljava/lang/String;)V
                    ACONST_NULL
                    ARETURN
  end public Object run(Object[])
end public class HelloWorld$AjcClosure5

public class HelloWorld$AjcClosure7 extends org.aspectj.runtime.internal.AroundClosure:
  public void <init>(Object[]):
                    ALOAD_0
                    ALOAD_1
                    INVOKESPECIAL org.aspectj.runtime.internal.AroundClosure.<init> ([Ljava/lang/Object;)V
                    RETURN
  end public void <init>(Object[])

  public Object run(Object[]):
                    ALOAD_0
                    GETFIELD org.aspectj.runtime.internal.AroundClosure.state [Ljava/lang/Object;
                    ASTORE_2
                    ALOAD_2
                    BIPUSH 0
                    AALOAD
                    CHECKCAST [Ljava.lang.String;
                    INVOKESTATIC HelloWorld.main_aroundBody6 ([Ljava/lang/String;)V
                    ACONST_NULL
                    ARETURN
  end public Object run(Object[])
end public class HelloWorld$AjcClosure7
