[jboss-cvs] JBossAS SVN: r102428 - in projects/jboss-reflect/trunk/src: test/java/org/jboss/test/classinfo/test and 1 other directory.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Mon Mar 15 14:58:19 EDT 2010
Author: kabir.khan at jboss.com
Date: 2010-03-15 14:58:18 -0400 (Mon, 15 Mar 2010)
New Revision: 102428
Modified:
projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/JavassistTypeInfoFactoryImpl.java
projects/jboss-reflect/trunk/src/test/java/org/jboss/test/classinfo/test/ClassInfoGenericClassTest.java
Log:
[JBREFLECT-5] TypeVariable support
Modified: projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/JavassistTypeInfoFactoryImpl.java
===================================================================
--- projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/JavassistTypeInfoFactoryImpl.java 2010-03-15 18:23:26 UTC (rev 102427)
+++ projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/JavassistTypeInfoFactoryImpl.java 2010-03-15 18:58:18 UTC (rev 102428)
@@ -26,6 +26,7 @@
import java.lang.reflect.GenericArrayType;
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
+import java.lang.reflect.TypeVariable;
import java.lang.reflect.WildcardType;
import java.util.Map;
@@ -549,6 +550,8 @@
return getWildcardType((WildcardType)type);
else if (type instanceof GenericArrayType)
return getGenericArrayType((GenericArrayType)type);
+ else if (type instanceof TypeVariable)
+ return getTypeVariable((TypeVariable<?>) type);
throw new org.jboss.util.NotImplementedException("getTypeInfo");
}
@@ -852,4 +855,9 @@
throw new IllegalArgumentException(componentType + " is not a JavassistType info or a JavassistParameterizedType");
}
+
+ protected TypeInfo getTypeVariable(TypeVariable<?> type)
+ {
+ return getTypeInfo(type.getBounds()[0]);
+ }
}
Modified: projects/jboss-reflect/trunk/src/test/java/org/jboss/test/classinfo/test/ClassInfoGenericClassTest.java
===================================================================
--- projects/jboss-reflect/trunk/src/test/java/org/jboss/test/classinfo/test/ClassInfoGenericClassTest.java 2010-03-15 18:23:26 UTC (rev 102427)
+++ projects/jboss-reflect/trunk/src/test/java/org/jboss/test/classinfo/test/ClassInfoGenericClassTest.java 2010-03-15 18:58:18 UTC (rev 102428)
@@ -300,11 +300,37 @@
assertSame(infoB, info);
}
- public static Collection<Boolean> signatureCollectionBoolean()
+ public static <T> T signatureSimpleTypeVariable()
{
return null;
}
+ public void testSimpleTypeVariable() throws Throwable
+ {
+ Type type = getGenericReturnType("signatureSimpleTypeVariable");
+ TypeInfo info = getTypeInfoFactory().getTypeInfo(type);
+ assertNotNull(info);
+ assertEquals(Object.class.getName(), info.getName());
+ }
+
+ public static <T extends Boolean> T signatureBoundedTypeVariable()
+ {
+ return null;
+ }
+
+ public void testUpperBoundedTypeVariable() throws Throwable
+ {
+ Type type = getGenericReturnType("signatureBoundedTypeVariable");
+ TypeInfo info = getTypeInfoFactory().getTypeInfo(type);
+ assertNotNull(info);
+ assertEquals(Boolean.class, info.getType());
+ }
+
+ public static Collection<Boolean> signatureCollectionBoolean()
+ {
+ return null;
+ }
+
public void testComponentTypeCollectionBoolean() throws Throwable
{
assertComponentType("signatureCollectionBoolean", Boolean.class);
More information about the jboss-cvs-commits
mailing list