summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoraclement <aclement>2007-01-23 10:45:30 +0000
committeraclement <aclement>2007-01-23 10:45:30 +0000
commit8ab740316c2afbe54fbdd081b0e4ad2790c3ef60 (patch)
tree040cb9ceee1cbd9d0426ff3dfdf694c79d60c422
parentfe356d2b742c642a931d40e6e5c5c43118c35f89 (diff)
downloadaspectj-8ab740316c2afbe54fbdd081b0e4ad2790c3ef60.tar.gz
aspectj-8ab740316c2afbe54fbdd081b0e4ad2790c3ef60.zip
170467: methods with parameterized parameters not working in ITD overrides relationship. tests and fix.
-rw-r--r--tests/bugs160/pr170467/Bug.aj16
-rw-r--r--tests/bugs160/pr170467/Bug2.aj16
-rw-r--r--tests/src/org/aspectj/systemtest/ajc160/Ajc160Tests.java1
-rw-r--r--tests/src/org/aspectj/systemtest/ajc160/ajc160.xml7
4 files changed, 40 insertions, 0 deletions
diff --git a/tests/bugs160/pr170467/Bug.aj b/tests/bugs160/pr170467/Bug.aj
new file mode 100644
index 000000000..4c68eda07
--- /dev/null
+++ b/tests/bugs160/pr170467/Bug.aj
@@ -0,0 +1,16 @@
+import java.util.*;
+
+// this should be OK, the parameterized forms of Set are the same
+
+abstract class BaseClass { }
+
+aspect BaseClassAspect {
+ public abstract void BaseClass.setSomething(Set<String> somethings);
+}
+
+class ExtendedBaseClass extends BaseClass {
+ @Override
+ public void setSomething(Set<String> somethings) { }
+}
+
+
diff --git a/tests/bugs160/pr170467/Bug2.aj b/tests/bugs160/pr170467/Bug2.aj
new file mode 100644
index 000000000..89b5121c4
--- /dev/null
+++ b/tests/bugs160/pr170467/Bug2.aj
@@ -0,0 +1,16 @@
+import java.util.*;
+
+// Trivial testcase to ensure the basics behave
+
+abstract class BaseClass { }
+
+aspect BaseClassAspect {
+ public abstract void BaseClass.setSomething(Set somethings);
+}
+
+class ExtendedBaseClass extends BaseClass {
+ @Override
+ public void setSomething(Set somethings) { }
+}
+
+
diff --git a/tests/src/org/aspectj/systemtest/ajc160/Ajc160Tests.java b/tests/src/org/aspectj/systemtest/ajc160/Ajc160Tests.java
index a452fe4c4..c0b562ac2 100644
--- a/tests/src/org/aspectj/systemtest/ajc160/Ajc160Tests.java
+++ b/tests/src/org/aspectj/systemtest/ajc160/Ajc160Tests.java
@@ -21,6 +21,7 @@ import junit.framework.Test;
*/
public class Ajc160Tests extends org.aspectj.testing.XMLBasedAjcTestCase {
+ public void testItdsParameterizedParameters_pr170467() { runTest("itds and parameterized parameters");}
public void testComplexGenerics_pr168044() { runTest("complex generics - 1");}
public void testIncorrectlyMarkingFieldTransient_pr168063() { runTest("incorrectly marking field transient");}
public void testInheritedAnnotations_pr169706() { runTest("inherited annotations");}
diff --git a/tests/src/org/aspectj/systemtest/ajc160/ajc160.xml b/tests/src/org/aspectj/systemtest/ajc160/ajc160.xml
index 23816e58e..b2793eb8c 100644
--- a/tests/src/org/aspectj/systemtest/ajc160/ajc160.xml
+++ b/tests/src/org/aspectj/systemtest/ajc160/ajc160.xml
@@ -4,6 +4,13 @@
<suite>
<!-- first section - dont need a 1.6 vm but fixed in the 1.6 branch of AspectJ -->
+
+ <ajc-test dir="bugs160/pr170467" title="itds and parameterized parameters">
+ <compile files="Bug.aj" options="-1.5"/>
+ <compile files="Bug2.aj" options="-1.5"/>
+ </ajc-test>
+
+
<ajc-test dir="bugs160/pr169706" title="inherited annotations">
<compile files="A.java,B.java,C.java,MyAspect.java,MyAnnotation.java,Test.java" options="-1.5 -showWeaveInfo">
<message kind="weave" text="Join point 'method-call(void C.foo())' in Type 'Test' (Test.java:5) advised by before advice from 'MyAspect' (MyAspect.java:4)"/>