[weld-dev] superclass in WeldClassImpl
Ales Justin
ales.justin at gmail.com
Thu Jul 19 10:14:32 EDT 2012
I remember discussing this once with Pete,
but forgot what the discussion's end result was. :-)
On Jul 19, 2012, at 4:10 PM, Marko Lukša wrote:
> Hey guys.
>
> Anyone know why WeldClassImpl sets superclass to Object.class for some
> classes? This causes weld not to inject fields, declared in
> superclasses, where the annotatedType is supplied by an extension. (OK,
> not in all cases, only in cases where the annotatedType is detected as
> being modified). See https://issues.jboss.org/browse/WELD-1144
>
> Take a look at
> https://github.com/weld/core/blob/master/impl/src/main/java/org/jboss/weld/introspector/jlr/WeldClassImpl.java#L137
>
> I'm thinking of changing this to something along the lines of:
>
> this.superclass =
> classTransformer.loadClass(annotatedType.getJavaClass().getSuperclass());
>
> This change does break two tests (SuperTypeTest and
> SuperclassModifiedTest), but IMO for these two tests to pass, we should
> change Beans.getFieldInjectionPoints() so it returns only the fields
> that were returned by AnnotatedType.getFields().
>
> Is there any other reason why WeldClassImpl would need to set
> this.superclass to Object.class?
>
> Marko
More information about the weld-dev
mailing list