diff options
-rw-r--r-- | tests/bugs163/pr253109/CodeOne.java | 16 | ||||
-rw-r--r-- | tests/bugs163/pr253109/CodeTwo.java | 13 | ||||
-rw-r--r-- | tests/src/org/aspectj/systemtest/ajc163/Ajc163Tests.java | 32 | ||||
-rw-r--r-- | tests/src/org/aspectj/systemtest/ajc163/ajc163.xml | 13 |
4 files changed, 66 insertions, 8 deletions
diff --git a/tests/bugs163/pr253109/CodeOne.java b/tests/bugs163/pr253109/CodeOne.java new file mode 100644 index 000000000..0f73cac0d --- /dev/null +++ b/tests/bugs163/pr253109/CodeOne.java @@ -0,0 +1,16 @@ +import java.util.*; + +public aspect CodeOne { + before(): execution(* CodeOne.*(..)) && args(List<Number>) {} + before(): execution(* CodeOne.*(..)) && args(List<Integer>) {} + + void m(List<Integer> li) {} + + public void callm() { + List<Number> ln = new ArrayList<Number>(); + List<Integer> li = new ArrayList<Integer>(); + // m(ln);//not allowed + m(li); + } + +} diff --git a/tests/bugs163/pr253109/CodeTwo.java b/tests/bugs163/pr253109/CodeTwo.java new file mode 100644 index 000000000..ea5a3026b --- /dev/null +++ b/tests/bugs163/pr253109/CodeTwo.java @@ -0,0 +1,13 @@ +import java.util.*; + +public aspect CodeTwo { + before(): execution(* CodeTwo.*(..)) && args(List<? extends Number>) {} + + void m(List<Integer> li) {} + + public void callm() { + List<? extends Number> lqn = new ArrayList<Number>(); + // m(lqn); + } + +} diff --git a/tests/src/org/aspectj/systemtest/ajc163/Ajc163Tests.java b/tests/src/org/aspectj/systemtest/ajc163/Ajc163Tests.java index 77f2cb55e..2c83fd4db 100644 --- a/tests/src/org/aspectj/systemtest/ajc163/Ajc163Tests.java +++ b/tests/src/org/aspectj/systemtest/ajc163/Ajc163Tests.java @@ -23,7 +23,15 @@ import org.aspectj.testing.XMLBasedAjcTestCase; public class Ajc163Tests extends org.aspectj.testing.XMLBasedAjcTestCase { - public void testBrokenLVT_pr194314_1() { + public void testGenericPointcuts_1() { + runTest("generic pointcuts - 1"); + } + + public void testGenericPointcuts_2() { + runTest("generic pointcuts - 2"); + } + + public void testBrokenLVT_pr194314_1() throws Exception { runTest("broken lvt - 1"); JavaClass jc = Utils.getClassFrom(ajc.getSandboxDirectory().getAbsolutePath(), "Service"); Method[] ms = jc.getMethods(); @@ -57,20 +65,28 @@ public class Ajc163Tests extends org.aspectj.testing.XMLBasedAjcTestCase { System.out.println(m.getLocalVariableTable()); LocalVariable[] lvt = m.getLocalVariableTable().getLocalVariableTable(); assertEquals(8, lvt.length); - // assertEquals(2, m.getLocalVariableTable().getLocalVariableTable().length); + // assertEquals(2, + // m.getLocalVariableTable().getLocalVariableTable().length); // Before I've started any work on this: - // LocalVariable(start_pc = 0, length = 68, index = 0:ServiceInterceptorCodeStyle this) - // LocalVariable(start_pc = 0, length = 68, index = 1:org.aspectj.runtime.internal.AroundClosure ajc_aroundClosure) - // LocalVariable(start_pc = 0, length = 68, index = 2:org.aspectj.lang.JoinPoint thisJoinPoint) + // LocalVariable(start_pc = 0, length = 68, index = + // 0:ServiceInterceptorCodeStyle this) + // LocalVariable(start_pc = 0, length = 68, index = + // 1:org.aspectj.runtime.internal.AroundClosure ajc_aroundClosure) + // LocalVariable(start_pc = 0, length = 68, index = + // 2:org.aspectj.lang.JoinPoint thisJoinPoint) // LocalVariable(start_pc = 9, length = 59, index = 3:Object[] args) // LocalVariable(start_pc = 21, length = 47, index = 4:long id) // Method signature: - // private static final void method_aroundBody1$advice(Service, long, org.aspectj.lang.JoinPoint, - // ServiceInterceptorCodeStyle, org.aspectj.runtime.internal.AroundClosure, org.aspectj.lang.JoinPoint); + // private static final void method_aroundBody1$advice(Service, long, + // org.aspectj.lang.JoinPoint, + // ServiceInterceptorCodeStyle, + // org.aspectj.runtime.internal.AroundClosure, + // org.aspectj.lang.JoinPoint); // - // Service, JoinPoint, ServiceInterceptorCodeStyle, AroundClosure, JoinPoint + // Service, JoinPoint, ServiceInterceptorCodeStyle, AroundClosure, + // JoinPoint // args should be in slot 7 and the long in position 8 diff --git a/tests/src/org/aspectj/systemtest/ajc163/ajc163.xml b/tests/src/org/aspectj/systemtest/ajc163/ajc163.xml index c76014610..b7ddfa85c 100644 --- a/tests/src/org/aspectj/systemtest/ajc163/ajc163.xml +++ b/tests/src/org/aspectj/systemtest/ajc163/ajc163.xml @@ -3,6 +3,19 @@ <suite> + <ajc-test dir="bugs163/pr253109" title="generic pointcuts - 1"> + <compile files="CodeOne.java" options="-1.5"> + <message kind="warning" line="4" text="has not been applied"/> + </compile> + </ajc-test> + + <ajc-test dir="bugs163/pr253109" title="generic pointcuts - 2"> + <compile files="CodeTwo.java" options="-1.5"> + <message kind="warning" line="4" text="has not been applied"/> + </compile> + </ajc-test> + + <ajc-test dir="bugs163/pr194314" title="broken lvt - 1"> <compile files="Service.java IService.java Main.java ServiceInterceptor.java" options="-1.5"/> </ajc-test> |