summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tests/src/org/aspectj/systemtest/ajc150/GenericsTests.java53
-rw-r--r--tests/src/org/aspectj/systemtest/ajc150/ajc150.xml99
2 files changed, 149 insertions, 3 deletions
diff --git a/tests/src/org/aspectj/systemtest/ajc150/GenericsTests.java b/tests/src/org/aspectj/systemtest/ajc150/GenericsTests.java
index 40519b2eb..864f6e090 100644
--- a/tests/src/org/aspectj/systemtest/ajc150/GenericsTests.java
+++ b/tests/src/org/aspectj/systemtest/ajc150/GenericsTests.java
@@ -48,6 +48,7 @@ public class GenericsTests extends XMLBasedAjcTestCase {
runTest("NPE at ClassScope.java:660 when compiling generic class");
}
+ // generic aspects
public void testPR96220_GenericAspects1() {
runTest("generic aspects - 1");
}
@@ -57,6 +58,56 @@ public class GenericsTests extends XMLBasedAjcTestCase {
}
public void testPR96220_GenericAspects3() {
- runTest("declare parents");
+ runTest("generic aspects - 3");
}
+
+ // Developers notebook
+ // ITD of generic members
+
+// public void testItdNonStaticMethod() {
+// runTest("Parsing generic ITDs - 1");
+// }
+// public void testItdStaticMethod() {
+// runTest("Parsing generic ITDs - 2");
+// }
+// public void testItdCtor() {
+// runTest("Parsing generic ITDs - 3");
+// }
+// public void testItdComplexMethod() {
+// runTest("Parsing generic ITDs - 4");
+// }
+
+// public void testItdOnGenericType() {
+// runTest("ITDs on generic type");
+// }
+//
+// public void testItdNonStaticMember() {
+// runTest("itd of non static member");
+// }
+//
+// public void testItdStaticMember() {
+// runTest("itd of static member");
+// }
+//
+// public void testItdUsingTypeParameter() {
+// runTest("itd using type parameter");
+// }
+//
+// public void testItdIncorrectlyUsingTypeParameter() {
+// runTest("itd incorrectly using type parameter");
+// }
+
+ // generic declare parents
+// public void testPR96220_GenericDecp() {
+// runTest("generic decp");
+// }
+//
+// public void testIllegalGenericDecp() {
+// runTest("illegal generic decp");
+// }
+//
+// public void testPR95992_TypeResolvingProblemWithGenerics() {
+// runTest("Problems resolving type name inside generic class");
+// }
+
}
diff --git a/tests/src/org/aspectj/systemtest/ajc150/ajc150.xml b/tests/src/org/aspectj/systemtest/ajc150/ajc150.xml
index a6768cb98..94994b90a 100644
--- a/tests/src/org/aspectj/systemtest/ajc150/ajc150.xml
+++ b/tests/src/org/aspectj/systemtest/ajc150/ajc150.xml
@@ -2154,7 +2154,9 @@
</compile>
</ajc-test>
- <!-- Generics tests -->
+ <!-- ============================================================== -->
+ <!-- Start of generics tests -->
+ <!-- ============================================================== -->
<ajc-test dir="java5/generics" title="ITD with parameterized type" vm="1.5">
<compile files="ITDReturningParameterizedType.aj" options="-1.5"/>
@@ -2201,6 +2203,8 @@
<compile files="PR94086.aj" options="-1.5"/>
</ajc-test>
+ // generic bugs
+
<ajc-test dir="java5/generics/bugs" title="ITD method with generic arg">
<compile files="PR97763.aj" options="-1.5"/>
<run class="PR97763">
@@ -2214,6 +2218,14 @@
<compile files="PR95993.java" options="-1.5"/>
</ajc-test>
+ <ajc-test dir="java5/generics/bugs" title="Problems resolving type name inside generic class">
+ <compile files="PR95992.java" options="-1.5"/>
+ </ajc-test>
+
+ // end of generic bugs
+
+ // generic aspects
+
<ajc-test dir="java5/generics/genericaspects" title="generic aspects - 1">
<compile files="GenericAspect1.aj" options="-1.5"/>
</ajc-test>
@@ -2224,7 +2236,7 @@
</compile>
</ajc-test>
- <ajc-test dir="java5/generics/genericaspects" title="declare parents">
+ <ajc-test dir="java5/generics/genericaspects" title="generic aspects - 3">
<compile files="GenericAspect3.aj" options="-1.5"/>
<run class="GenericAspect3">
<stderr>
@@ -2234,4 +2246,87 @@
</run>
</ajc-test>
+ // end of generic aspects
+
+ // generic ITDs
+
+ <ajc-test dir="java5/generics/itds" title="itd of non static member">
+ <compile files="A.java" options="-1.5"/>
+ <run class="A">
+ <stderr>
+ <line text="fillthisin"/>
+ </stderr>
+ </run>
+ </ajc-test>
+
+ <ajc-test dir="java5/generics/itds" title="itd of static member">
+ <compile files="B.java" options="-1.5"/>
+ <run class="B">
+ <stderr>
+ <line text="fillthisin..."/>
+ </stderr>
+ </run>
+ </ajc-test>
+
+ <ajc-test dir="java5/generics/itds" title="itd using type parameter">
+ <compile files="C.java" options="-1.5"/>
+ <run class="C">
+ <stderr>
+ <line text="fillthisin..."/>
+ </stderr>
+ </run>
+ </ajc-test>
+
+ <ajc-test dir="java5/generics/itds" title="itd incorrectly using type parameter">
+ <compile files="D.java" options="-1.5"/>
+ <run class="D">
+ <stderr>
+ <line text="fillthisin..."/>
+ </stderr>
+ </run>
+ </ajc-test>
+
+ <ajc-test dir="java5/generics/itds" title="Parsing generic ITDs - 1">
+ <compile files="Parse1.java" options="-1.5"/>
+ </ajc-test>
+
+ <ajc-test dir="java5/generics/itds" title="Parsing generic ITDs - 2">
+ <compile files="Parse2.java" options="-1.5"/>
+ </ajc-test>
+
+ <ajc-test dir="java5/generics/itds" title="Parsing generic ITDs - 3">
+ <compile files="Parse3.java" options="-1.5"/>
+ </ajc-test>
+
+ <ajc-test dir="java5/generics/itds" title="Parsing generic ITDs - 4">
+ <compile files="Parse4.java" options="-1.5"/>
+ </ajc-test>
+
+ <ajc-test dir="java5/generics/itds" title="ITDs on generic type">
+ <compile files="Parse5.java" options="-1.5">
+ <message kind="error" line="9"/>
+ <message kind="error" line="11"/>
+ <message kind="error" line="13"/>
+ <message kind="error" line="15"/>
+ </compile>
+ </ajc-test>
+
+ // end of generic ITDs
+
+ // generic decps
+
+ <ajc-test dir="java5/generics/decp" title="generic decp">
+ <compile files="Basic.aj" options="-1.5"/>
+ <run class="Basic"/>
+ </ajc-test>
+
+ <ajc-test dir="java5/generics/decp" title="illegal generic decp">
+ <compile files="Basic2.aj" options="-1.5"/>
+ </ajc-test>
+
+ // end of generic decps
+ <!-- ============================================================== -->
+ <!-- End of generics tests -->
+ <!-- ============================================================== -->
+
</suite> \ No newline at end of file