// for Bugzilla Bug 34858 // Weaver crash w/ coverage import org.aspectj.testing.Tester; public class CflowBinding { public static void main(String[] args) { new Bar().bar(10); } static aspect A { pointcut flow(int i, Object o): cflow(execution(void bar(int)) && this(o) && args(i)); Object around() : call(void m()) && flow(int, Object) { return proceed(); } Object around(final int i) : call(void m()) && flow(i, Object) { System.out.println("i: " + i); return proceed(i); } Object around(final Object o) : call(void m()) && flow(int, o) { System.out.println("o: " + o); return proceed(o); } Object around(final Object o, final int i) : call(void m()) && flow(i, o) { System.out.println("o: " + o + ", i: " + i); return proceed(o, i); } } } class Bar { void bar(int i) { m(); } void m() { System.out.println("m"); } }