With this just remember that there can be >1 WeldClass per real class!
On 19 Nov 2011, at 23:42, Ales Justin wrote:
"Bar extends Foo"
The problem is that both Bar and Foo are added as AnnotatedType against
ClassTransformer,
and eventually deployed as such.
But WeldClassImpl::superclass is looked-up against ClassTransformer::classes --> diff
WC_Foo instances
> ClassTransformer
>
> private final ConcurrentMap<TypeHolder<?>, WeldClass<?>>
classes;
> private final ConcurrentMap<AnnotatedType<?>, WeldClass<?>>
annotatedTypes;
>
> ... and no equals/hash impl on WeldClassImpl ...
>
>
>> WELD-802 is due to WeldClassImpl not being the same for same class:
>>
>> • clazz = {java.lang.Class@5703}"class
org.jboss.weld.tests.specialization.weld802.Foo"
>> • weldClass =
{org.jboss.weld.introspector.jlr.WeldClassImpl@5687}"public@RequestScoped class
org.jboss.weld.tests.specialization.weld802.Foo"
>>
>> --
>>
>> • key: org.jboss.weld.introspector.jlr.WeldClassImpl =
{org.jboss.weld.introspector.jlr.WeldClassImpl@5709}"public@RequestScoped class
org.jboss.weld.tests.specialization.weld802.Foo"
>> • value: org.jboss.weld.bean.ManagedBean =
{org.jboss.weld.bean.ManagedBean@5961}"Managed Bean [class
org.jboss.weld.tests.specialization.weld802.Foo] with qualifiers [@Any @Default]"
>>
>> ... investigating further ...
>>
>
_______________________________________________
weld-dev mailing list
weld-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/weld-dev