Author: pete.muir(a)jboss.org
Date: 2009-11-03 14:39:16 -0500 (Tue, 03 Nov 2009)
New Revision: 4629
Modified:
cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/extensions/alternative/metadata/AlternativeMetadataTest.java
core/trunk/impl/src/main/java/org/jboss/weld/introspector/jlr/WeldConstructorImpl.java
core/trunk/impl/src/main/java/org/jboss/weld/introspector/jlr/WeldFieldImpl.java
core/trunk/impl/src/main/java/org/jboss/weld/introspector/jlr/WeldMethodImpl.java
Log:
WELD-200
Modified:
cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/extensions/alternative/metadata/AlternativeMetadataTest.java
===================================================================
---
cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/extensions/alternative/metadata/AlternativeMetadataTest.java 2009-11-03
19:38:02 UTC (rev 4628)
+++
cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/extensions/alternative/metadata/AlternativeMetadataTest.java 2009-11-03
19:39:16 UTC (rev 4629)
@@ -48,9 +48,8 @@
@SpecVersion(spec="cdi", version="20091018")
public class AlternativeMetadataTest extends AbstractJSR299Test
{
- @Test(groups = "ri-broken")
+ @Test
@SpecAssertion(section = "11.4", id = "ha")
- // WELD-200
public void testGetBaseTypeUsedToDetermineTypeOfInjectionPoint() {
// The base type of the fruit injection point is overridden to TropicalFruit
assert GroceryWrapper.isGetBaseTypeOfFruitFieldUsed();
@@ -59,7 +58,6 @@
@Test
@SpecAssertion(section = "11.4", id = "ka")
- // WELD-201
public void testGetTypeClosureUsed() {
assert GroceryWrapper.isGetTypeClosureUsed();
// should be [Object, Grocery] instead of [Object, Shop, Grocery]
Modified:
core/trunk/impl/src/main/java/org/jboss/weld/introspector/jlr/WeldConstructorImpl.java
===================================================================
---
core/trunk/impl/src/main/java/org/jboss/weld/introspector/jlr/WeldConstructorImpl.java 2009-11-03
19:38:02 UTC (rev 4628)
+++
core/trunk/impl/src/main/java/org/jboss/weld/introspector/jlr/WeldConstructorImpl.java 2009-11-03
19:39:16 UTC (rev 4629)
@@ -74,13 +74,13 @@
public static <T> WeldConstructor<T> of(Constructor<T> constructor,
WeldClass<T> declaringClass, ClassTransformer classTransformer)
{
AnnotationStore annotationStore = AnnotationStore.of(constructor,
classTransformer.getTypeStore());
- return new WeldConstructorImpl<T>(ensureAccessible(constructor), null, new
Reflections.HierarchyDiscovery(constructor.getDeclaringClass()).getTypeClosure(),
annotationStore, declaringClass, classTransformer);
+ return new WeldConstructorImpl<T>(ensureAccessible(constructor),
constructor.getDeclaringClass(), constructor.getDeclaringClass(), null, new
Reflections.HierarchyDiscovery(constructor.getDeclaringClass()).getTypeClosure(),
annotationStore, declaringClass, classTransformer);
}
public static <T> WeldConstructor<T> of(AnnotatedConstructor<T>
annotatedConstructor, WeldClass<T> declaringClass, ClassTransformer
classTransformer)
{
AnnotationStore annotationStore =
AnnotationStore.of(annotatedConstructor.getAnnotations(),
annotatedConstructor.getAnnotations(), classTransformer.getTypeStore());
- return new
WeldConstructorImpl<T>(ensureAccessible(annotatedConstructor.getJavaMember()),
annotatedConstructor, annotatedConstructor.getTypeClosure(), annotationStore,
declaringClass, classTransformer);
+ return new
WeldConstructorImpl<T>(ensureAccessible(annotatedConstructor.getJavaMember()),
annotatedConstructor.getJavaMember().getDeclaringClass(),
annotatedConstructor.getBaseType(), annotatedConstructor,
annotatedConstructor.getTypeClosure(), annotationStore, declaringClass,
classTransformer);
}
/**
@@ -91,9 +91,9 @@
* @param constructor The constructor method
* @param declaringClass The declaring class
*/
- private WeldConstructorImpl(Constructor<T> constructor,
AnnotatedConstructor<T> annotatedConstructor, Set<Type> typeClosure,
AnnotationStore annotationStore, WeldClass<T> declaringClass, ClassTransformer
classTransformer)
+ private WeldConstructorImpl(Constructor<T> constructor, final Class<T>
rawType, final Type type, AnnotatedConstructor<T> annotatedConstructor,
Set<Type> typeClosure, AnnotationStore annotationStore, WeldClass<T>
declaringClass, ClassTransformer classTransformer)
{
- super(annotationStore, constructor, constructor.getDeclaringClass(),
constructor.getDeclaringClass(), typeClosure, declaringClass);
+ super(annotationStore, constructor, rawType, type, typeClosure, declaringClass);
this.toString = new StringBuilder().append("constructor
").append(constructor.toString()).toString();
this.constructor = constructor;
@@ -127,24 +127,24 @@
if (constructor.getParameterAnnotations()[i].length > 0 ||
annotatedTypeParameters.containsKey(i))
{
Class<?> clazz = constructor.getParameterTypes()[i];
- Type type;
+ Type parameterType;
if (constructor.getGenericParameterTypes().length > gi && gi
>=0)
{
- type = constructor.getGenericParameterTypes()[gi];
+ parameterType = constructor.getGenericParameterTypes()[gi];
}
else
{
- type = clazz;
+ parameterType = clazz;
}
WeldParameter<?, T> parameter = null;
if (annotatedTypeParameters.containsKey(i))
{
AnnotatedParameter<?> annotatedParameter =
annotatedTypeParameters.get(i);
- parameter = WeldParameterImpl.of(annotatedParameter.getAnnotations(),
clazz, type, this, i, classTransformer);
+ parameter = WeldParameterImpl.of(annotatedParameter.getAnnotations(),
clazz, parameterType, this, i, classTransformer);
}
else
{
- parameter = WeldParameterImpl.of(constructor.getParameterAnnotations()[i],
clazz, type, this, i, classTransformer);
+ parameter = WeldParameterImpl.of(constructor.getParameterAnnotations()[i],
clazz, parameterType, this, i, classTransformer);
}
parameters.add(parameter);
@@ -157,16 +157,16 @@
else
{
Class<?> clazz = constructor.getParameterTypes()[i];
- Type type;
+ Type parameterType;
if (constructor.getGenericParameterTypes().length > gi && gi
>=0)
{
- type = constructor.getGenericParameterTypes()[gi];
+ parameterType = constructor.getGenericParameterTypes()[gi];
}
else
{
- type = clazz;
+ parameterType = clazz;
}
- WeldParameter<?, T> parameter = WeldParameterImpl.of(new Annotation[0],
clazz, type, this, i, classTransformer);
+ WeldParameter<?, T> parameter = WeldParameterImpl.of(new Annotation[0],
clazz, parameterType, this, i, classTransformer);
parameters.add(parameter);
for (Annotation annotation : parameter.getAnnotations())
Modified:
core/trunk/impl/src/main/java/org/jboss/weld/introspector/jlr/WeldFieldImpl.java
===================================================================
---
core/trunk/impl/src/main/java/org/jboss/weld/introspector/jlr/WeldFieldImpl.java 2009-11-03
19:38:02 UTC (rev 4628)
+++
core/trunk/impl/src/main/java/org/jboss/weld/introspector/jlr/WeldFieldImpl.java 2009-11-03
19:39:16 UTC (rev 4629)
@@ -51,13 +51,13 @@
public static <T, X> WeldFieldImpl<T, X> of(Field field,
WeldClass<X> declaringClass, ClassTransformer classTransformer)
{
AnnotationStore annotationStore = AnnotationStore.of(field,
classTransformer.getTypeStore());
- return new WeldFieldImpl<T, X>(ensureAccessible(field), new
Reflections.HierarchyDiscovery(field.getGenericType()).getTypeClosure(), annotationStore,
declaringClass, classTransformer);
+ return new WeldFieldImpl<T, X>(ensureAccessible(field), (Class<T>)
field.getType(), field.getGenericType(), new
Reflections.HierarchyDiscovery(field.getGenericType()).getTypeClosure(), annotationStore,
declaringClass, classTransformer);
}
public static <T, X> WeldFieldImpl<T, X> of(AnnotatedField<? super
X> annotatedField, WeldClass<X> declaringClass, ClassTransformer
classTransformer)
{
AnnotationStore annotationStore =
AnnotationStore.of(annotatedField.getAnnotations(), annotatedField.getAnnotations(),
classTransformer.getTypeStore());
- return new WeldFieldImpl<T,
X>(ensureAccessible(annotatedField.getJavaMember()), annotatedField.getTypeClosure(),
annotationStore, declaringClass, classTransformer);
+ return new WeldFieldImpl<T,
X>(ensureAccessible(annotatedField.getJavaMember()), (Class<T>)
annotatedField.getJavaMember().getType(), annotatedField.getBaseType(),
annotatedField.getTypeClosure(), annotationStore, declaringClass, classTransformer);
}
/**
@@ -69,9 +69,9 @@
* @param field The actual field
* @param declaringClass The abstraction of the declaring class
*/
- private WeldFieldImpl(Field field, Set<Type> typeClosure, AnnotationStore
annotationStore, WeldClass<X> declaringClass, ClassTransformer classTransformer)
+ private WeldFieldImpl(Field field, final Class<T> rawType, final Type type,
Set<Type> typeClosure, AnnotationStore annotationStore, WeldClass<X>
declaringClass, ClassTransformer classTransformer)
{
- super(annotationStore, field, (Class<T>) field.getType(),
field.getGenericType(), typeClosure, declaringClass);
+ super(annotationStore, field, rawType, type, typeClosure, declaringClass);
this.field = field;
this.toString = new StringBuilder().append("field
").append(declaringClass.getName()).append(".").append(field.getName()).toString();
}
Modified:
core/trunk/impl/src/main/java/org/jboss/weld/introspector/jlr/WeldMethodImpl.java
===================================================================
---
core/trunk/impl/src/main/java/org/jboss/weld/introspector/jlr/WeldMethodImpl.java 2009-11-03
19:38:02 UTC (rev 4628)
+++
core/trunk/impl/src/main/java/org/jboss/weld/introspector/jlr/WeldMethodImpl.java 2009-11-03
19:39:16 UTC (rev 4629)
@@ -78,13 +78,13 @@
public static <T, X> WeldMethodImpl<T, X> of(Method method,
WeldClass<X> declaringClass, ClassTransformer classTransformer)
{
AnnotationStore annotationStore = AnnotationStore.of(method,
classTransformer.getTypeStore());
- return new WeldMethodImpl<T, X>(ensureAccessible(method),new
Reflections.HierarchyDiscovery(method.getGenericReturnType()).getTypeClosure(), null,
annotationStore, declaringClass, classTransformer);
+ return new WeldMethodImpl<T, X>(ensureAccessible(method), (Class<T>)
method.getReturnType(), method.getGenericReturnType(), new
Reflections.HierarchyDiscovery(method.getGenericReturnType()).getTypeClosure(), null,
annotationStore, declaringClass, classTransformer);
}
public static <T, X> WeldMethodImpl<T, X> of(AnnotatedMethod<T>
method, WeldClass<X> declaringClass, ClassTransformer classTransformer)
{
AnnotationStore annotationStore = AnnotationStore.of(method.getAnnotations(),
method.getAnnotations(), classTransformer.getTypeStore());
- return new WeldMethodImpl<T, X>(ensureAccessible(method.getJavaMember()),
method.getTypeClosure(), method, annotationStore, declaringClass, classTransformer);
+ return new WeldMethodImpl<T, X>(ensureAccessible(method.getJavaMember()),
(Class<T>) method.getJavaMember().getReturnType(), method.getBaseType(),
method.getTypeClosure(), method, annotationStore, declaringClass, classTransformer);
}
/**
@@ -97,9 +97,9 @@
* @param declaringClass The declaring class abstraction
*/
@SuppressWarnings("unchecked")
- private WeldMethodImpl(Method method, Set<Type> typeClosure,
AnnotatedMethod<T> annotatedMethod, AnnotationStore annotationStore,
WeldClass<X> declaringClass, ClassTransformer classTransformer)
+ private WeldMethodImpl(Method method, final Class<T> rawType, final Type type,
Set<Type> typeClosure, AnnotatedMethod<T> annotatedMethod, AnnotationStore
annotationStore, WeldClass<X> declaringClass, ClassTransformer classTransformer)
{
- super(annotationStore, method, (Class<T>) method.getReturnType(),
method.getGenericReturnType(), typeClosure, declaringClass);
+ super(annotationStore, method, rawType, type, typeClosure, declaringClass);
this.method = method;
this.toString = new StringBuilder().append("method
").append(method.toString()).toString();
this.parameters = new ArrayList<WeldParameter<?, X>>();
@@ -128,16 +128,16 @@
if (method.getParameterAnnotations()[i].length > 0 ||
annotatedTypeParameters.containsKey(i))
{
Class<? extends Object> clazz = method.getParameterTypes()[i];
- Type type = method.getGenericParameterTypes()[i];
+ Type parametertype = method.getGenericParameterTypes()[i];
WeldParameter<?, X> parameter = null;
if (annotatedTypeParameters.containsKey(i))
{
AnnotatedParameter<?> annotatedParameter =
annotatedTypeParameters.get(i);
- parameter = WeldParameterImpl.of(annotatedParameter.getAnnotations(),
clazz, type, this, i, classTransformer);
+ parameter = WeldParameterImpl.of(annotatedParameter.getAnnotations(),
clazz, parametertype, this, i, classTransformer);
}
else
{
- parameter = WeldParameterImpl.of(method.getParameterAnnotations()[i],
clazz, type, this, i, classTransformer);
+ parameter = WeldParameterImpl.of(method.getParameterAnnotations()[i],
clazz, parametertype, this, i, classTransformer);
}
this.parameters.add(parameter);
for (Annotation annotation : parameter.getAnnotations())
@@ -151,8 +151,8 @@
else
{
Class<? extends Object> clazz = method.getParameterTypes()[i];
- Type type = method.getGenericParameterTypes()[i];
- WeldParameter<?, X> parameter = WeldParameterImpl.of(new Annotation[0],
(Class<Object>) clazz, type, this, i, classTransformer);
+ Type parameterType = method.getGenericParameterTypes()[i];
+ WeldParameter<?, X> parameter = WeldParameterImpl.of(new Annotation[0],
(Class<Object>) clazz, parameterType, this, i, classTransformer);
this.parameters.add(parameter);
}
}