import org.aspectj.internal.lang.annotation.ajcPrivileged; import org.aspectj.lang.NoAspectBoundException; import org.aspectj.lang.annotation.Around; import org.aspectj.lang.annotation.Aspect; import org.aspectj.runtime.internal.AroundClosure; @Aspect @ajcPrivileged public class A { private static final int MAX = 1000; public static A aspectOf() { if (ajc$perSingletonInstance == null) { throw new NoAspectBoundException("test_A", ajc$initFailureCause); } return ajc$perSingletonInstance; } public static boolean hasAspect() { return ajc$perSingletonInstance != null; } static { try { } catch (Throwable localThrowable) { ajc$initFailureCause = localThrowable; } } @Around(value="(call(void C.incI(int)) && (target(c) && args(x)))", argNames="c,x,ajc$aroundClosure") public void ajc$around$test_A$1$ff7f72c0(C c, int x, AroundClosure ajc$aroundClosure) { if (c.i + x > 1000) { throw new RuntimeException(); } ajc$around$test_A$1$ff7f72c0proceed(c, x, ajc$aroundClosure); } }