summaryrefslogtreecommitdiffstats
path: root/tests/src
diff options
context:
space:
mode:
authorAndy Clement <aclement@vmware.com>2012-02-15 14:25:02 -0800
committerAndy Clement <aclement@vmware.com>2012-02-15 14:25:02 -0800
commit89756cdfe58319d4e8e29b88de6fd8810d84244d (patch)
tree64e1a37d47f3e81b0aa4fd0e3772ac87cb41aabc /tests/src
parentf66393ae36fc65882be9810d0c8100aee7739521 (diff)
downloadaspectj-89756cdfe58319d4e8e29b88de6fd8810d84244d.tar.gz
aspectj-89756cdfe58319d4e8e29b88de6fd8810d84244d.zip
371684 - wildcard generics unpacking
Diffstat (limited to 'tests/src')
-rw-r--r--tests/src/org/aspectj/systemtest/ajc170/Ajc170Tests.java39
1 files changed, 39 insertions, 0 deletions
diff --git a/tests/src/org/aspectj/systemtest/ajc170/Ajc170Tests.java b/tests/src/org/aspectj/systemtest/ajc170/Ajc170Tests.java
index a6102fd08..4e40d4162 100644
--- a/tests/src/org/aspectj/systemtest/ajc170/Ajc170Tests.java
+++ b/tests/src/org/aspectj/systemtest/ajc170/Ajc170Tests.java
@@ -11,16 +11,55 @@
package org.aspectj.systemtest.ajc170;
import java.io.File;
+import java.util.List;
import junit.framework.Test;
+import org.aspectj.apache.bcel.util.ClassPath;
import org.aspectj.testing.XMLBasedAjcTestCase;
+import org.aspectj.weaver.CrosscuttingMembers;
+import org.aspectj.weaver.ReferenceType;
+import org.aspectj.weaver.ResolvedMember;
+import org.aspectj.weaver.ResolvedType;
+import org.aspectj.weaver.TypeFactory;
+import org.aspectj.weaver.TypeVariable;
+import org.aspectj.weaver.UnresolvedType;
+import org.aspectj.weaver.World;
+import org.aspectj.weaver.bcel.BcelWorld;
/**
* @author Andy Clement
*/
public class Ajc170Tests extends org.aspectj.testing.XMLBasedAjcTestCase {
+ public void testGenericsWithTwoTypeParamsOneWildcard() {
+ UnresolvedType ut;
+
+ ut = TypeFactory.createTypeFromSignature("LFoo<**>;");
+ assertEquals(2,ut.getTypeParameters().length);
+
+ ut = TypeFactory.createTypeFromSignature("LFoo<***>;");
+ assertEquals(3,ut.getTypeParameters().length);
+
+ ut = TypeFactory.createTypeFromSignature("LFoo<TP;*+Ljava/lang/String;>;");
+ assertEquals(2,ut.getTypeParameters().length);
+
+ ut = TypeFactory.createTypeFromSignature("LFoo<*+Ljava/lang/String;TP;>;");
+ assertEquals(2,ut.getTypeParameters().length);
+
+ ut = TypeFactory.createTypeFromSignature("LFoo<*+Ljava/lang/String;TP;>;");
+ assertEquals(2,ut.getTypeParameters().length);
+
+ ut = TypeFactory.createTypeFromSignature("LFoo<*TT;>;");
+ assertEquals(2,ut.getTypeParameters().length);
+
+ ut = TypeFactory.createTypeFromSignature("LFoo<[I>;");
+ assertEquals(1,ut.getTypeParameters().length);
+
+ ut = TypeFactory.createTypeFromSignature("LFoo<[I[Z>;");
+ assertEquals(2,ut.getTypeParameters().length);
+ }
+
public void testPerThis() {
runTest("perthis");
}