[weld-dev] superclass in WeldClassImpl
Marko Lukša
marko.luksa at gmail.com
Thu Jul 19 10:10:41 EDT 2012
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