From 608688ca74d3c19da3124a917c390232bca610a2 Mon Sep 17 00:00:00 2001 From: aclement Date: Thu, 17 Nov 2005 08:56:15 +0000 Subject: [PATCH] case4 of Alex's bug ;) --- .../java5/generics/bugs/lists/case4/Bean.java | 2 ++ .../bugs/lists/case4/Identifiable.java | 5 +++++ .../bugs/lists/case4/IdentifiableAspect.java | 20 +++++++++++++++++++ .../bugs/lists/case4/LongIdentifiable.java | 2 ++ .../systemtest/ajc150/Ajc150Tests.java | 1 + .../systemtest/ajc150/GenericsTests.java | 1 + .../org/aspectj/systemtest/ajc150/ajc150.xml | 6 ++++++ 7 files changed, 37 insertions(+) create mode 100644 tests/java5/generics/bugs/lists/case4/Bean.java create mode 100644 tests/java5/generics/bugs/lists/case4/Identifiable.java create mode 100644 tests/java5/generics/bugs/lists/case4/IdentifiableAspect.java create mode 100644 tests/java5/generics/bugs/lists/case4/LongIdentifiable.java diff --git a/tests/java5/generics/bugs/lists/case4/Bean.java b/tests/java5/generics/bugs/lists/case4/Bean.java new file mode 100644 index 000000000..6444e4a92 --- /dev/null +++ b/tests/java5/generics/bugs/lists/case4/Bean.java @@ -0,0 +1,2 @@ + +public class Bean {} diff --git a/tests/java5/generics/bugs/lists/case4/Identifiable.java b/tests/java5/generics/bugs/lists/case4/Identifiable.java new file mode 100644 index 000000000..645ee36de --- /dev/null +++ b/tests/java5/generics/bugs/lists/case4/Identifiable.java @@ -0,0 +1,5 @@ +public interface Identifiable { + T getId(); + + void setId(T t); +} diff --git a/tests/java5/generics/bugs/lists/case4/IdentifiableAspect.java b/tests/java5/generics/bugs/lists/case4/IdentifiableAspect.java new file mode 100644 index 000000000..26b162f69 --- /dev/null +++ b/tests/java5/generics/bugs/lists/case4/IdentifiableAspect.java @@ -0,0 +1,20 @@ +public aspect IdentifiableAspect { + declare parents: Bean implements LongIdentifiable; + + private T Identifiable.m_id; + + public T Identifiable.getId() { + return m_id; + } + + public void Identifiable.setId(T id) { + m_id= id; + } + + public static void main(String []argv) { + Bean b = new Bean(); + b.setId(37L); + long l = b.getId(); + if (l!=37L) throw new RuntimeException("id should be 37"); + } +} diff --git a/tests/java5/generics/bugs/lists/case4/LongIdentifiable.java b/tests/java5/generics/bugs/lists/case4/LongIdentifiable.java new file mode 100644 index 000000000..37fa76252 --- /dev/null +++ b/tests/java5/generics/bugs/lists/case4/LongIdentifiable.java @@ -0,0 +1,2 @@ +public interface LongIdentifiable extends Identifiable { +} diff --git a/tests/src/org/aspectj/systemtest/ajc150/Ajc150Tests.java b/tests/src/org/aspectj/systemtest/ajc150/Ajc150Tests.java index f6f142f21..be7ec7eb5 100644 --- a/tests/src/org/aspectj/systemtest/ajc150/Ajc150Tests.java +++ b/tests/src/org/aspectj/systemtest/ajc150/Ajc150Tests.java @@ -49,6 +49,7 @@ public class Ajc150Tests extends org.aspectj.testing.XMLBasedAjcTestCase { public void testGenericITDsAndAbstractMethodError_pr102357() { runTest("generic itds and abstract method error");} */ +// public void testGenericAspects_pr115237() { runTest("aspectOf and generic aspects");} public void testClassFormatError_pr114436() { runTest("ClassFormatError binary weaving perthis");} public void testParserException_pr115788() { runTest("parser exception");} public void testPossibleStaticImports_pr113066_1() { runTest("possible static imports bug - 1");} diff --git a/tests/src/org/aspectj/systemtest/ajc150/GenericsTests.java b/tests/src/org/aspectj/systemtest/ajc150/GenericsTests.java index 83c1b59cc..3791429ed 100644 --- a/tests/src/org/aspectj/systemtest/ajc150/GenericsTests.java +++ b/tests/src/org/aspectj/systemtest/ajc150/GenericsTests.java @@ -211,6 +211,7 @@ public class GenericsTests extends XMLBasedAjcTestCase { public void testGenericsOverrides_1() { runTest("generics and ITD overrides - 1"); } public void testGenericsOverrides_2() { runTest("generics and ITD overrides - 2"); } public void testGenericsOverrides_3() { runTest("generics and ITD overrides - 3"); } + public void testGenericsOverrides_4() { runTest("generics and ITD overrides - 4"); } public void testPR88606() { runTest("Parameterized types on introduced fields not correctly recognized"); diff --git a/tests/src/org/aspectj/systemtest/ajc150/ajc150.xml b/tests/src/org/aspectj/systemtest/ajc150/ajc150.xml index 971e0ee48..a2075580f 100644 --- a/tests/src/org/aspectj/systemtest/ajc150/ajc150.xml +++ b/tests/src/org/aspectj/systemtest/ajc150/ajc150.xml @@ -213,6 +213,12 @@ + + + + + +