From 900a3e81d5b09c55e4044451f311f0566c025ec6 Mon Sep 17 00:00:00 2001 From: aclement Date: Thu, 4 Aug 2005 16:11:03 +0000 Subject: genericitds: lots of new support for recursive type variables and ITD ctors. --- .../aspectj/systemtest/ajc150/GenericsTests.java | 51 ++++++++++++++--- tests/src/org/aspectj/systemtest/ajc150/ajc150.xml | 65 +++++++++++++++++++++- 2 files changed, 105 insertions(+), 11 deletions(-) (limited to 'tests') diff --git a/tests/src/org/aspectj/systemtest/ajc150/GenericsTests.java b/tests/src/org/aspectj/systemtest/ajc150/GenericsTests.java index ab4e34add..f38a45198 100644 --- a/tests/src/org/aspectj/systemtest/ajc150/GenericsTests.java +++ b/tests/src/org/aspectj/systemtest/ajc150/GenericsTests.java @@ -99,6 +99,29 @@ public class GenericsTests extends XMLBasedAjcTestCase { * - wait till we get there! */ + /* ========================================== + * Generics test plan for ITDs. + * + * think about: + * - source/binary weaving + * - visibility default/private/public + * - static/nonstatic + * - parameterized ITDs (methods/ctors/fields) + * - ITD target: interface/class/aspect + * - multiple type variables + * - generic ITDs (like generic methods) + * - constructor ITDs, method ITDs + * - ITDs sharing type variables with generic types + * - relating to above point, this makes generic ITD fields possible + * - signature attributes for generic ITDs (required? required only for public ITDs?) + * - binary weaving when target type changes over time (might start out 'simple' then sometime later be 'generic') + * - bridge methods - when to create them + * - multiple 'separate' ITDs in a file that share a type variable by 'name' + * - wildcards '?' 'extends' 'super' '&' + * - do type variables assigned to members need to persist across serialization + * - recursive type variable definitions eg. > + */ + public static Test suite() { return XMLBasedAjcTestCase.loadSuite(GenericsTests.class); } @@ -182,12 +205,21 @@ public class GenericsTests extends XMLBasedAjcTestCase { // non static - public void testGenericMethodITD1() {runTest("generic method itd - 1");} // ... (List) - public void testGenericMethodITD2() {runTest("generic method itd - 2");} // ... (List) called incorrectly - public void testGenericMethodITD3() {runTest("generic method itd - 3");} // ... (List,List) - public void testGenericMethodITD4() {runTest("generic method itd - 4");} // ... (List,List) - public void testGenericMethodITD5() {runTest("generic method itd - 5");} // ... (List,List) called incorrectly - public void testGenericMethodITD6() {runTest("generic method itd - 6");} // ... (List) + public void testGenericMethodITD1() {runTest("generic method itd - 1"); } // ... (List) + public void testGenericMethodITD2() {runTest("generic method itd - 2"); } // ... (List) called incorrectly + public void testGenericMethodITD3() {runTest("generic method itd - 3"); } // ... (List,List) + public void testGenericMethodITD4() {runTest("generic method itd - 4"); } // ... (List,List) + public void testGenericMethodITD5() {runTest("generic method itd - 5"); } // ... (List,List) called incorrectly + public void testGenericMethodITD6() {runTest("generic method itd - 6"); } // ... (List) + public void testGenericMethodITD7() {runTest("generic method itd - 7"); } // ... (List,List) + public void testGenericMethodITD8() {runTest("generic method itd - 8"); } // ... (List,List) called incorrectly + public void testGenericMethodITD9() {runTest("generic method itd - 9"); } // > ... (List) + public void testGenericMethodITD10() {runTest("generic method itd - 10");} // > ... (List) called incorrectly + public void testGenericMethodITD11() {runTest("generic method itd - 11");} // > ... (List) + public void testGenericMethodITD12() {runTest("generic method itd - 12");} // > ... (List) called incorrectly + public void testGenericMethodITD13() {runTest("generic method itd - 13");} // > ... (List) called correctly in a clever way ;) + public void testGenericMethodITD14() {runTest("generic method itd - 14");} // > ... (List) called incorrectly in a clever way + public void testGenericMethodITD15() {runTest("generic method itd - 15");} // > ... (List) called correctly in a clever way public void testParameterizedMethodITD1() {runTest("parameterized method itd - 1");} // (List) @@ -196,8 +228,11 @@ public class GenericsTests extends XMLBasedAjcTestCase { public void testParameterizedMethodITD4() {runTest("parameterized method itd - 4");} // (List) -// public void testNonStaticGenericCtorITD1() {runTest("generic ctor itd - 1");} -// public void testGenericITFSharingTypeVariable() { + public void testGenericCtorITD1() {runTest("generic ctor itd - 1");} // new(List) + public void testGenericCtorITD2() {runTest("generic ctor itd - 2");} // new(List,List) + public void testGenericCtorITD3() {runTest("generic ctor itd - 3");} // new(List,Comparator) + + // public void testGenericITFSharingTypeVariable() { // runTest("generic intertype field declaration, sharing type variable"); // } diff --git a/tests/src/org/aspectj/systemtest/ajc150/ajc150.xml b/tests/src/org/aspectj/systemtest/ajc150/ajc150.xml index 0d7143caa..d3e7cfd85 100644 --- a/tests/src/org/aspectj/systemtest/ajc150/ajc150.xml +++ b/tests/src/org/aspectj/systemtest/ajc150/ajc150.xml @@ -2386,9 +2386,19 @@ - - - + + + + + + + + + + + + + @@ -2447,6 +2457,55 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -- cgit v1.2.3