[weld-commits] Weld SVN: r4616 - in core/trunk: tests/src/test/java/org/jboss/weld/test/unit/reflection/method and 1 other directory.
weld-commits at lists.jboss.org
weld-commits at lists.jboss.org
Tue Nov 3 09:43:29 EST 2009
Author: pete.muir at jboss.org
Date: 2009-11-03 09:43:29 -0500 (Tue, 03 Nov 2009)
New Revision: 4616
Modified:
core/trunk/impl/src/main/java/org/jboss/weld/util/Reflections.java
core/trunk/tests/src/test/java/org/jboss/weld/test/unit/reflection/method/WeldMethodTest.java
Log:
WELD-221
Modified: core/trunk/impl/src/main/java/org/jboss/weld/util/Reflections.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/util/Reflections.java 2009-11-03 14:16:06 UTC (rev 4615)
+++ core/trunk/impl/src/main/java/org/jboss/weld/util/Reflections.java 2009-11-03 14:43:29 UTC (rev 4616)
@@ -198,19 +198,19 @@
{
return resolveParameterizedType((ParameterizedType) beanType, (ParameterizedType) type);
}
- if (beanType instanceof Class)
+ if (beanType instanceof Class<?>)
{
return resolveType(((Class<?>) beanType).getGenericSuperclass(), type);
}
}
- if (type instanceof TypeVariable)
+ if (type instanceof TypeVariable<?>)
{
if (beanType instanceof ParameterizedType)
{
return resolveTypeParameter((ParameterizedType) beanType, (TypeVariable<?>) type);
}
- if (beanType instanceof Class)
+ if (beanType instanceof Class<?>)
{
return resolveType(((Class<?>) beanType).getGenericSuperclass(), type);
}
@@ -242,7 +242,7 @@
Type[] actualTypes = beanType.getActualTypeArguments();
for (int i = 0; i < typeVariables.length; i++)
{
- if (typeVariables[i].equals(typeVariable))
+ if (typeVariables[i].equals(typeVariable) && !actualTypes[i].equals(typeVariable))
{
return resolveType(type, actualTypes[i]);
}
Modified: core/trunk/tests/src/test/java/org/jboss/weld/test/unit/reflection/method/WeldMethodTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/test/unit/reflection/method/WeldMethodTest.java 2009-11-03 14:16:06 UTC (rev 4615)
+++ core/trunk/tests/src/test/java/org/jboss/weld/test/unit/reflection/method/WeldMethodTest.java 2009-11-03 14:43:29 UTC (rev 4616)
@@ -16,11 +16,12 @@
private final ClassTransformer transformer = new ClassTransformer(new TypeStore());
private final Class<Choice<?, ?>> CHOICE_LITERAL = new TypeLiteral<Choice<?, ?>>() {}.getRawType();
- @Test(groups = "broken", description = "WELD-221")
- public void testNonStaticInnerClassWithGenericTypes() throws Exception
+ @Test(description = "WELD-221")
+ public void testMethodReturnsGenericTypeOfClass() throws Exception
{
WeldClass<Choice<?, ?>> clazz = WeldClassImpl.of(CHOICE_LITERAL, transformer);
WeldMethod<Choice<?, ?>, Choice<?, ?>> method = WeldMethodImpl.of(Choice.class.getMethod("aMethod"), clazz, transformer);
+ assert method.getTypeClosure().size() == 3;
}
}
More information about the weld-commits
mailing list