--- /dev/null
+package m;
+
+import org.aspectj.lang.annotation.Around;
+import org.aspectj.lang.annotation.Aspect;
+
+@Aspect("pertarget(execution( public void m.M.run() ))")
+public class A {
+ int i;
+ @Around("execution( public void m.M.run() )")
+ public void count() {
+// System.out.println(this);
+ System.out.println("tick " + (i++));
+ }
+}
--- /dev/null
+package m;
+public class M {
+ public void run() {
+ }
+ public static void main(String[] args) {
+ for (int i = 0; i < 3; i++) {
+ new M().run();
+ }
+ }
+}
--- /dev/null
+<?xml version="1.0"?>
+<aspectj>
+ <aspects>
+ <aspect name="m.A"/>
+ </aspects>
+ <weaver options="-verbose -showWeaveInfo"/>
+</aspectj>
\ No newline at end of file
// AspectJ1.6.2
public void testAnnotationDecp_pr239441() { runTest("annotation decp"); }
+ public void testAtAspectJPerTarget_pr198181() { runTest("ataspectj ltw pertarget"); }
// public void testAnnotationValueDecp_pr238992() { runTest("annotation value decp"); }
// public void testAnnotationValueDecp_pr238992_2() { runTest("annotation value decp - 2"); }
// public void testAnnotationValueDecp_pr238992_3() { runTest("annotation value decp - 3"); }
<run class="ArgsBinding"/>
</ajc-test>
+ <ajc-test dir="bugs162/pr198181" title="ataspectj ltw pertarget">
+ <compile files="M.java" outjar="code.jar"/>
+ <compile files="A.java" classpath="code.jar" options="-1.5 -Xlint:ignore"/>
+ <run class="m.M" classpath="$sandbox/code.jar" ltw="aop.xml">
+ <stdout>
+ <line text="tick 0"/>
+ <line text="tick 0"/>
+ <line text="tick 0"/>
+ </stdout>
+ </run>
+ </ajc-test>
</suite>
\ No newline at end of file