public static void main(String[]):
method-execution(void FancyHelloWorld.main(java.lang.String[]))
| field-get(java.io.PrintStream java.lang.System.out)
- | | GETSTATIC Aspect.ajc$perSingletonInstance LAspect;
+ | | INVOKESTATIC Aspect.aspectOf ()LAspect;
| | INVOKEVIRTUAL Aspect.ajc_before ()V
| | GETSTATIC java.lang.System.out Ljava/io/PrintStream; (line 9)
| field-get(java.io.PrintStream java.lang.System.out)
| ARETURN
method-execution(java.lang.String FancyHelloWorld.getName())
end public static String getName()
+
end public abstract class FancyHelloWorld
public static void main(String[]):
method-execution(void HelloWorld.main(java.lang.String[]))
| field-get(java.io.PrintStream java.lang.System.out)
- | | GETSTATIC Aspect.ajc$perSingletonInstance LAspect;
+ | | INVOKESTATIC Aspect.aspectOf ()LAspect;
| | INVOKEVIRTUAL Aspect.ajc_before ()V
| | GETSTATIC java.lang.System.out Ljava/io/PrintStream; (line 8)
| field-get(java.io.PrintStream java.lang.System.out)
| RETURN (line 11)
method-execution(void HelloWorld.main(java.lang.String[]))
end public static void main(String[])
+
end public class HelloWorld
ALOAD_2
ASTORE 4
method-execution(java.lang.String DynamicHelloWorld.doit(java.lang.String, java.util.List))
- | GETSTATIC MyTrace.ajc$perSingletonInstance LMyTrace;
+ | INVOKESTATIC MyTrace.aspectOf ()LMyTrace;
| ALOAD_0
| INVOKEVIRTUAL Trace.ajc$before$Trace$51 (Ljava/lang/Object;)V
- | GETSTATIC MyTrace.ajc$perSingletonInstance LMyTrace;
+ | INVOKESTATIC MyTrace.aspectOf ()LMyTrace;
| BIPUSH 3
| ANEWARRAY java.lang.Object
| ASTORE 6
| GOTO L0
| L0: DUP
| ASTORE 7
- | GETSTATIC MyTrace.ajc$perSingletonInstance LMyTrace;
+ | INVOKESTATIC MyTrace.aspectOf ()LMyTrace;
| ALOAD_0
| ALOAD 7
| INVOKEVIRTUAL MyTrace.ajc$afterReturning$MyTrace$6e (Ljava/lang/Object;Ljava/lang/Object;)V
end static final String doit_aroundBody0(DynamicHelloWorld, String, java.util.List)
static final String doit_aroundBody2(DynamicHelloWorld, String, java.util.List):
- GETSTATIC MyTrace.ajc$perSingletonInstance LMyTrace;
+ INVOKESTATIC MyTrace.aspectOf ()LMyTrace;
ALOAD_0
BIPUSH 3
ANEWARRAY java.lang.Object
}
public static Aspect aspectOf() {
+ if (ajc$perSingletonInstance != null) return ajc$perSingletonInstance;
+
return (Aspect) ajc$perCflowStack.peekInstance();
}