inherited interface recognition
This commit is contained in:
parent
0886a273e4
commit
ed4326589b
@ -28,6 +28,8 @@ import javax.lang.model.element.ElementKind;
|
|||||||
import javax.lang.model.element.ExecutableElement;
|
import javax.lang.model.element.ExecutableElement;
|
||||||
import javax.lang.model.element.Modifier;
|
import javax.lang.model.element.Modifier;
|
||||||
import javax.lang.model.element.TypeElement;
|
import javax.lang.model.element.TypeElement;
|
||||||
|
import javax.lang.model.type.DeclaredType;
|
||||||
|
import javax.lang.model.type.TypeKind;
|
||||||
import javax.lang.model.type.TypeMirror;
|
import javax.lang.model.type.TypeMirror;
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
@ -102,7 +104,9 @@ class ActivitiDocFilter {
|
|||||||
Set<String> taskListenerMethodElements = new HashSet<>(5);
|
Set<String> taskListenerMethodElements = new HashSet<>(5);
|
||||||
|
|
||||||
// getAllTypeElements() will get inherited interfaces
|
// getAllTypeElements() will get inherited interfaces
|
||||||
for (TypeMirror interfaceType : classElement.getInterfaces()) {
|
TypeElement superclassElement = classElement;
|
||||||
|
while (superclassElement != null) {
|
||||||
|
for (TypeMirror interfaceType : superclassElement.getInterfaces()) {
|
||||||
this.logger.trace("Found interface '{}' on bean '{}'", interfaceType, beanId);
|
this.logger.trace("Found interface '{}' on bean '{}'", interfaceType, beanId);
|
||||||
|
|
||||||
switch (interfaceType.toString()) {
|
switch (interfaceType.toString()) {
|
||||||
@ -121,6 +125,16 @@ class ActivitiDocFilter {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TypeMirror superclassMirror = superclassElement.getSuperclass();
|
||||||
|
if (superclassMirror == null) {
|
||||||
|
superclassElement = null;
|
||||||
|
} else if (superclassMirror.getKind() != TypeKind.DECLARED) {
|
||||||
|
superclassElement = null;
|
||||||
|
} else {
|
||||||
|
superclassElement = (TypeElement) ((DeclaredType) superclassMirror).asElement();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
this.logger.info("delegates: {}", delegateMethodElements);
|
this.logger.info("delegates: {}", delegateMethodElements);
|
||||||
|
|
||||||
// getAllMembers() will get inherited methods
|
// getAllMembers() will get inherited methods
|
||||||
|
Loading…
x
Reference in New Issue
Block a user