aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoraclement <aclement>2005-06-16 11:57:28 +0000
committeraclement <aclement>2005-06-16 11:57:28 +0000
commitb54831fd860a852310cf2b7e831df741d1545437 (patch)
tree80f9b82a5e74e07deb537a8ba7dd60cc4eaf5413
parent91829de8a72b1348a17c230bcb3eaf7c077475e8 (diff)
downloadaspectj-b54831fd860a852310cf2b7e831df741d1545437.tar.gz
aspectj-b54831fd860a852310cf2b7e831df741d1545437.zip
Tests and fixes for bug 100260: methods inherited from a generic parent
-rw-r--r--org.eclipse.jdt.core/jdtcore-for-aspectj-src.zipbin4306508 -> 4306619 bytes
-rw-r--r--org.eclipse.jdt.core/jdtcore-for-aspectj.jarbin5164609 -> 5164697 bytes
-rw-r--r--tests/bugs150/pr100260.aj25
-rw-r--r--tests/src/org/aspectj/systemtest/ajc150/Ajc150Tests.java3
-rw-r--r--tests/src/org/aspectj/systemtest/ajc150/ajc150.xml5
5 files changed, 32 insertions, 1 deletions
diff --git a/org.eclipse.jdt.core/jdtcore-for-aspectj-src.zip b/org.eclipse.jdt.core/jdtcore-for-aspectj-src.zip
index c1e461849..cd2fd005d 100644
--- a/org.eclipse.jdt.core/jdtcore-for-aspectj-src.zip
+++ b/org.eclipse.jdt.core/jdtcore-for-aspectj-src.zip
Binary files differ
diff --git a/org.eclipse.jdt.core/jdtcore-for-aspectj.jar b/org.eclipse.jdt.core/jdtcore-for-aspectj.jar
index 3afd719ae..64a2c2a56 100644
--- a/org.eclipse.jdt.core/jdtcore-for-aspectj.jar
+++ b/org.eclipse.jdt.core/jdtcore-for-aspectj.jar
Binary files differ
diff --git a/tests/bugs150/pr100260.aj b/tests/bugs150/pr100260.aj
new file mode 100644
index 000000000..13f58b365
--- /dev/null
+++ b/tests/bugs150/pr100260.aj
@@ -0,0 +1,25 @@
+class Generic_Parent<T> {}
+
+class Child extends Generic_Parent<Integer> {}
+
+class Generic_Child<T> extends Generic_Parent<Integer> {}
+
+public aspect pr100260 {
+ public void Generic_Parent.inherited_method() {}
+ public int Generic_Parent.inherited_field;
+
+ public static void test() {
+ int inherited_field;
+ inherited_field = new Generic_Child().inherited_field; // works
+ inherited_field = new Generic_Child<Integer>().inherited_field; // works
+ inherited_field = new Child().inherited_field; // works
+
+ new Generic_Child().inherited_method(); // works
+ new Generic_Child<Integer>().inherited_method(); // unresolved
+ new Child().inherited_method(); // unresolved
+ }
+
+ public static void main(String []argv) {
+ test();
+ }
+}
diff --git a/tests/src/org/aspectj/systemtest/ajc150/Ajc150Tests.java b/tests/src/org/aspectj/systemtest/ajc150/Ajc150Tests.java
index 1292a7475..35701e80f 100644
--- a/tests/src/org/aspectj/systemtest/ajc150/Ajc150Tests.java
+++ b/tests/src/org/aspectj/systemtest/ajc150/Ajc150Tests.java
@@ -183,7 +183,8 @@ public class Ajc150Tests extends org.aspectj.testing.XMLBasedAjcTestCase {
public void testItdGenerics_pr99228() {runTest("ITD of a field into a generic class");}
public void testItdGenerics_pr98320() {runTest("intertype with nested generic type");}
public void testItdGenerics_pr100227() {runTest("inner class with generic enclosing class");}
-
+ public void testItdGenerics_pr100260() {runTest("methods inherited from a generic parent");}
+
// helper methods.....
public SyntheticRepository createRepos(File cpentry) {
diff --git a/tests/src/org/aspectj/systemtest/ajc150/ajc150.xml b/tests/src/org/aspectj/systemtest/ajc150/ajc150.xml
index 48cadc36e..c156bc7bd 100644
--- a/tests/src/org/aspectj/systemtest/ajc150/ajc150.xml
+++ b/tests/src/org/aspectj/systemtest/ajc150/ajc150.xml
@@ -2287,6 +2287,11 @@
</run>
</ajc-test>
+ <ajc-test dir="bugs150" pr="100260" title="methods inherited from a generic parent">
+ <compile files="pr100260.aj" options="-1.5"/>
+ <run class="pr100260"/>
+ </ajc-test>
+
// end of generic bugs
// generic aspects