Remove unused class filtering support in AnnotationScanner
PR gh-25429 brought it to our attention that there was a bug in AnnotationScanner when using a non-null class filter that filtered out classes; however, it turns out that there is no production code that utilizes the package-private class filtering support. This commit therefore removes all class filtering support from AnnotationScanner since that functionality is effectively unused. Closes gh-25477
This commit is contained in:
@@ -128,51 +128,6 @@ class AnnotationsScannerTests {
|
||||
assertThat(scan(source, SearchStrategy.INHERITED_ANNOTATIONS)).containsExactly("0:TestInheritedAnnotation2");
|
||||
}
|
||||
|
||||
@Test
|
||||
void inheritedAnnotationsStrategyOnClassWithAllClassesFilteredOut() {
|
||||
List<String> annotationsFound = new ArrayList<>();
|
||||
String scanResult = AnnotationsScanner.scan(this, WithSingleSuperclass.class,
|
||||
SearchStrategy.INHERITED_ANNOTATIONS,
|
||||
(context, aggregateIndex, source, annotations) -> {
|
||||
trackIndexedAnnotations(aggregateIndex, annotations, annotationsFound);
|
||||
return null; // continue searching
|
||||
},
|
||||
(context, clazz) -> true // filter out all classes
|
||||
);
|
||||
assertThat(annotationsFound).isEmpty();
|
||||
assertThat(scanResult).isNull();
|
||||
}
|
||||
|
||||
@Test
|
||||
void inheritedAnnotationsStrategyOnClassWithSourceClassFilteredOut() {
|
||||
List<String> annotationsFound = new ArrayList<>();
|
||||
String scanResult = AnnotationsScanner.scan(this, WithSingleSuperclass.class,
|
||||
SearchStrategy.INHERITED_ANNOTATIONS,
|
||||
(context, aggregateIndex, source, annotations) -> {
|
||||
trackIndexedAnnotations(aggregateIndex, annotations, annotationsFound);
|
||||
return null; // continue searching
|
||||
},
|
||||
(context, clazz) -> clazz == WithSingleSuperclass.class
|
||||
);
|
||||
assertThat(annotationsFound).containsExactly(/* "0:TestAnnotation1", */ "1:TestInheritedAnnotation2");
|
||||
assertThat(scanResult).isNull();
|
||||
}
|
||||
|
||||
@Test
|
||||
void inheritedAnnotationsStrategyInClassHierarchyWithSuperSuperclassFilteredOut() {
|
||||
List<String> annotationsFound = new ArrayList<>();
|
||||
String scanResult = AnnotationsScanner.scan(this, WithHierarchy.class,
|
||||
SearchStrategy.INHERITED_ANNOTATIONS,
|
||||
(context, aggregateIndex, source, annotations) -> {
|
||||
trackIndexedAnnotations(aggregateIndex, annotations, annotationsFound);
|
||||
return null; // continue searching
|
||||
},
|
||||
(context, clazz) -> clazz == HierarchySuperSuperclass.class
|
||||
);
|
||||
assertThat(annotationsFound).containsExactly("0:TestAnnotation1", "1:TestInheritedAnnotation2");
|
||||
assertThat(scanResult).isNull();
|
||||
}
|
||||
|
||||
@Test
|
||||
void superclassStrategyOnClassWhenNotAnnotatedScansNone() {
|
||||
Class<?> source = WithNoAnnotations.class;
|
||||
|
||||
Reference in New Issue
Block a user