Skip to content

Commit 5817d88

Browse files
committed
Extract helper method
1 parent e95d3f5 commit 5817d88

File tree

1 file changed

+17
-15
lines changed

1 file changed

+17
-15
lines changed

inject-generator/src/main/java/io/avaje/inject/generator/AnnotationUtil.java

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -34,20 +34,22 @@ private static boolean annotatedSuperMethod(ExecutableElement element, Object ma
3434
var methodName = element.getSimpleName();
3535
final Types types = APContext.types();
3636
return types.directSupertypes(element.getEnclosingElement().asType()).stream()
37-
.filter(type -> !type.toString().contains("java.lang.Object"))
38-
.map(
39-
superType -> {
40-
final var superClass = (TypeElement) types.asElement(superType);
41-
for (final var method : ElementFilter.methodsIn(superClass.getEnclosedElements())) {
42-
if (method.getSimpleName().contentEquals(methodName)
43-
&& method.getParameters().size() == element.getParameters().size()) {
44-
return method;
45-
}
46-
}
47-
return null;
48-
})
49-
.filter(Objects::nonNull)
50-
.flatMap(m -> APContext.elements().getAllAnnotationMirrors(m).stream())
51-
.anyMatch(m -> matchShortName.equals(shortName(m.getAnnotationType().asElement())));
37+
.filter(type -> !type.toString().contains("java.lang.Object"))
38+
.map(superType -> {
39+
final var superClass = (TypeElement) types.asElement(superType);
40+
for (final var method : ElementFilter.methodsIn(superClass.getEnclosedElements())) {
41+
if (matchNameAndParams(element, method, methodName)) {
42+
return method;
43+
}
44+
}
45+
return null;
46+
})
47+
.filter(Objects::nonNull)
48+
.flatMap(m -> APContext.elements().getAllAnnotationMirrors(m).stream())
49+
.anyMatch(m -> matchShortName.equals(shortName(m.getAnnotationType().asElement())));
50+
}
51+
52+
private static boolean matchNameAndParams(ExecutableElement element, ExecutableElement method, javax.lang.model.element.Name methodName) {
53+
return method.getSimpleName().contentEquals(methodName) && method.getParameters().size() == element.getParameters().size();
5254
}
5355
}

0 commit comments

Comments
 (0)