<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>"Bar extends Foo"</div><div><br></div><div>The problem is that both Bar and Foo are added as AnnotatedType against ClassTransformer,</div><div>and eventually deployed as such.</div><div><br></div><div>But WeldClassImpl::superclass is looked-up against ClassTransformer::classes --> diff WC_Foo instances</div><div><br class="Apple-interchange-newline"><blockquote type="cite"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><div>ClassTransformer</div><div><br></div><div> private final ConcurrentMap<TypeHolder<?>, WeldClass<?>> classes;</div><div> private final ConcurrentMap<AnnotatedType<?>, WeldClass<?>> annotatedTypes;</div><div><br></div><div>... and no equals/hash impl on WeldClassImpl ...</div><div><br></div><div><br></div></div><div><blockquote type="cite"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">WELD-802 is due to WeldClassImpl not being the same for same class:<div><br></div><div><ul>
<li>clazz = {java.lang.Class@5703}"class org.jboss.weld.tests.specialization.weld802.Foo"
</li><li>weldClass = {org.jboss.weld.introspector.jlr.WeldClassImpl@5687}"public@RequestScoped class org.jboss.weld.tests.specialization.weld802.Foo" </li></ul></div><div><br></div><div>--</div><div><br></div><div><ul>
<li>key: org.jboss.weld.introspector.jlr.WeldClassImpl = {org.jboss.weld.introspector.jlr.WeldClassImpl@5709}"public@RequestScoped class org.jboss.weld.tests.specialization.weld802.Foo"
</li><li>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]" </li></ul><div><br></div></div><div>... investigating further ...</div><div><br></div></div></blockquote></div><br></div></blockquote></div><br></body></html>