diff --git a/core/processor/src/main/java/io/quarkus/annotation/processor/util/ElementUtil.java b/core/processor/src/main/java/io/quarkus/annotation/processor/util/ElementUtil.java index c16f628798fba..a62011274c905 100644 --- a/core/processor/src/main/java/io/quarkus/annotation/processor/util/ElementUtil.java +++ b/core/processor/src/main/java/io/quarkus/annotation/processor/util/ElementUtil.java @@ -117,13 +117,12 @@ public boolean isAnnotationPresent(Element element, String... annotationNames) { */ public boolean isLocalClass(TypeElement clazz) { try { - TypeElement topLevelClass = clazz; - if (clazz.getNestingKind().isNested()) { - topLevelClass = (TypeElement) clazz.getEnclosingElement(); + while (clazz.getNestingKind().isNested()) { + clazz = (TypeElement) clazz.getEnclosingElement(); } processingEnv.getFiler().getResource(StandardLocation.SOURCE_PATH, "", - topLevelClass.getQualifiedName().toString().replace('.', '/') + ".java"); + clazz.getQualifiedName().toString().replace('.', '/') + ".java"); return true; } catch (Exception e) { return false;