Skip to content

Commit b33fd73

Browse files
committed
BCE - fix a case where method expects BeanInfo, but it is actually InterceptorInfo
1 parent 4599ea0 commit b33fd73

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

weld-lite-extension-translator/src/main/java/org/jboss/weld/lite/extension/translator/ExtensionPhaseRegistration.java

+7-2
Original file line numberDiff line numberDiff line change
@@ -61,8 +61,13 @@ void runExtensionMethod(java.lang.reflect.Method method) {
6161
disposer = ((jakarta.enterprise.inject.spi.ProcessProducerMethod<?, ?>) pb)
6262
.getAnnotatedDisposedParameter();
6363
}
64-
65-
argument = new BeanInfoImpl(pb.getBean(), pb.getAnnotated(), disposer, beanManager);
64+
if (pb.getBean() instanceof jakarta.enterprise.inject.spi.Interceptor) {
65+
jakarta.enterprise.inject.spi.Interceptor<?> cdiInterceptor = (jakarta.enterprise.inject.spi.Interceptor<?>) pb
66+
.getBean();
67+
argument = new InterceptorInfoImpl(cdiInterceptor, pb.getAnnotated(), beanManager);
68+
} else {
69+
argument = new BeanInfoImpl(pb.getBean(), pb.getAnnotated(), disposer, beanManager);
70+
}
6671
} else {
6772
argument = argumentForExtensionMethod(parameter, method);
6873
}

0 commit comments

Comments
 (0)