diff options
author | Decebal Suiu <decebal.suiu@gmail.com> | 2019-11-15 01:25:31 +0200 |
---|---|---|
committer | Decebal Suiu <decebal.suiu@gmail.com> | 2019-11-15 01:25:31 +0200 |
commit | 0312fc26005e6a1ec605c2230d21f088d2607be4 (patch) | |
tree | 4aa9e354a3807126313a91ef0838c6ccc2a5b00d | |
parent | cbf6068ec63b54c03ad0c5e0dc6e80040c1d8154 (diff) | |
download | pf4j-0312fc26005e6a1ec605c2230d21f088d2607be4.tar.gz pf4j-0312fc26005e6a1ec605c2230d21f088d2607be4.zip |
Fix bug
-rw-r--r-- | pf4j/src/main/java/org/pf4j/processor/ExtensionAnnotationProcessor.java | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/pf4j/src/main/java/org/pf4j/processor/ExtensionAnnotationProcessor.java b/pf4j/src/main/java/org/pf4j/processor/ExtensionAnnotationProcessor.java index 1b5bba2..9c629de 100644 --- a/pf4j/src/main/java/org/pf4j/processor/ExtensionAnnotationProcessor.java +++ b/pf4j/src/main/java/org/pf4j/processor/ExtensionAnnotationProcessor.java @@ -92,15 +92,20 @@ public class ExtensionAnnotationProcessor extends AbstractProcessor { } info("Processing @%s", Extension.class.getName()); - List<TypeElement> extensionAnnotations = new ArrayList<>(); for (Element element : roundEnv.getElementsAnnotatedWith(Extension.class)) { - if (element.getKind() == ElementKind.ANNOTATION_TYPE) { - extensionAnnotations.add((TypeElement) element); - } else { + if (element.getKind() != ElementKind.ANNOTATION_TYPE) { processExtensionElement(element); } } + // collect nested extension annotations + List<TypeElement> extensionAnnotations = new ArrayList<>(); + for (TypeElement annotation : annotations) { + if (ClassUtils.getAnnotationMirror(annotation, Extension.class) != null) { + extensionAnnotations.add(annotation); + } + } + // process nested extension annotations for (TypeElement te : extensionAnnotations) { info("Processing @%s", te); |