Tiny optimization for the previous fix

This commit is contained in:
aboyko
2024-01-10 17:49:18 -05:00
parent d4cf735bbe
commit e547dea369

View File

@@ -160,11 +160,11 @@ public abstract class AnnotationHierarchies {
IAnnotationBinding annotationBinding, Set<String> seen) {
synchronized (lock) {
if (annotationBinding.getAnnotationType() != null) {
seen.add(annotationBinding.getAnnotationType().getQualifiedName());
return Stream.concat(Stream.of(annotationBinding), getDirectSuperAnnotationBindings(annotationBinding)
.stream()
.filter(superBinding -> !seen.contains(superBinding.getAnnotationType().getQualifiedName()))
.flatMap(superBinding -> internalFindTransitiveSuperAnnotationBindings(superBinding, seen)));
if (seen.add(annotationBinding.getAnnotationType().getQualifiedName())) {
return Stream.concat(Stream.of(annotationBinding), getDirectSuperAnnotationBindings(annotationBinding)
.stream()
.flatMap(superBinding -> internalFindTransitiveSuperAnnotationBindings(superBinding, seen)));
}
}
return Stream.empty();
}