OK, fixed in my weld-912 branch:
*
https://github.com/alesj/core/commit/02fc21b9d5aba3bb80fd11fb2b47ce701f0c...
"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 ...
>>
>