in src/main/java/com/amazon/checkerframework/checker/data_classification/DataClassificationVisitor.java [229:254]
private boolean hasNonPublic(final AnnotatedTypeMirror atm) {
boolean result = false;
switch (atm.getKind()) {
case DECLARED:
AnnotatedTypeMirror.AnnotatedDeclaredType atmD =
(AnnotatedTypeMirror.AnnotatedDeclaredType) atm;
for (AnnotatedTypeMirror component : atmD.getTypeArguments()) {
if (hasNonPublic(component)) {
result = true;
}
}
break;
case ARRAY:
AnnotatedTypeMirror.AnnotatedArrayType atmA =
(AnnotatedTypeMirror.AnnotatedArrayType) atm;
result = hasNonPublic(atmA.getComponentType());
break;
case WILDCARD:
return false;
case TYPEVAR:
return false;
default:
break;
}
return result || !atm.hasAnnotation(Public.class);
}