aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDecebal Suiu <decebal.suiu@gmail.com>2019-11-15 01:25:31 +0200
committerDecebal Suiu <decebal.suiu@gmail.com>2019-11-15 01:25:31 +0200
commit0312fc26005e6a1ec605c2230d21f088d2607be4 (patch)
tree4aa9e354a3807126313a91ef0838c6ccc2a5b00d
parentcbf6068ec63b54c03ad0c5e0dc6e80040c1d8154 (diff)
downloadpf4j-0312fc26005e6a1ec605c2230d21f088d2607be4.tar.gz
pf4j-0312fc26005e6a1ec605c2230d21f088d2607be4.zip
Fix bug
-rw-r--r--pf4j/src/main/java/org/pf4j/processor/ExtensionAnnotationProcessor.java13
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);