diff options
author | aclement <aclement> | 2007-01-23 10:45:30 +0000 |
---|---|---|
committer | aclement <aclement> | 2007-01-23 10:45:30 +0000 |
commit | 8ab740316c2afbe54fbdd081b0e4ad2790c3ef60 (patch) | |
tree | 040cb9ceee1cbd9d0426ff3dfdf694c79d60c422 | |
parent | fe356d2b742c642a931d40e6e5c5c43118c35f89 (diff) | |
download | aspectj-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.aj | 16 | ||||
-rw-r--r-- | tests/bugs160/pr170467/Bug2.aj | 16 | ||||
-rw-r--r-- | tests/src/org/aspectj/systemtest/ajc160/Ajc160Tests.java | 1 | ||||
-rw-r--r-- | tests/src/org/aspectj/systemtest/ajc160/ajc160.xml | 7 |
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)"/> |