Skip to content

Commit

Permalink
Adjust WrongAnnotationUsageProcessor to recognize interceptor binding…
Browse files Browse the repository at this point in the history
…s on nested classes
  • Loading branch information
manovotn committed Jan 3, 2023
1 parent bd66b86 commit 8af3d6e
Showing 1 changed file with 11 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
import org.jboss.jandex.IndexView;

import io.quarkus.arc.deployment.ValidationPhaseBuildItem.ValidationErrorBuildItem;
import io.quarkus.arc.processor.Annotations;
import io.quarkus.arc.processor.DotNames;
import io.quarkus.deployment.annotations.BuildProducer;
import io.quarkus.deployment.annotations.BuildStep;
Expand All @@ -26,7 +27,8 @@ public class WrongAnnotationUsageProcessor {

@BuildStep
void detect(ArcConfig config, ApplicationIndexBuildItem applicationIndex, CustomScopeAnnotationsBuildItem scopeAnnotations,
TransformedAnnotationsBuildItem transformedAnnotations, BuildProducer<ValidationErrorBuildItem> validationErrors) {
TransformedAnnotationsBuildItem transformedAnnotations, BuildProducer<ValidationErrorBuildItem> validationErrors,
InterceptorResolverBuildItem interceptorResolverBuildItem) {

if (!config.detectWrongAnnotations) {
return;
Expand Down Expand Up @@ -90,6 +92,14 @@ public String apply(AnnotationInstance annotationInstance) {
new IllegalStateException(String.format(
"The %s class %s declares a producer but it must be ignored per the CDI rules",
clazz.nestingType().toString(), clazz.name().toString()))));
} else if (Annotations.containsAny(classAnnotations, interceptorResolverBuildItem.getInterceptorBindings())
|| Annotations.containsAny(clazz.annotations(),
interceptorResolverBuildItem.getInterceptorBindings())) {
// detect interceptor bindings on nested classes
validationErrors.produce(new ValidationErrorBuildItem(
new IllegalStateException(String.format(
"The %s class %s declares an interceptor binding but it must be ignored per CDI rules",
clazz.nestingType().toString(), clazz.name().toString()))));
}
}
}
Expand Down

0 comments on commit 8af3d6e

Please sign in to comment.