in TransformCore/src/main/java/com/facebook/ads/injkit/crashshield/CrashShieldInjector.java [253:279]
private FindAndRemoveAnnotationResult findAndRemoveAnnotation(
List<AnnotationNode> visibleAnnotations, List<AnnotationNode> invisibleAnnotations) {
FindAndRemoveAnnotationResult result = FindAndRemoveAnnotationResult.NOT_FOUND;
for (List<AnnotationNode> list : Arrays.asList(visibleAnnotations, invisibleAnnotations)) {
if (list == null) {
continue;
}
Iterator<AnnotationNode> visibleIt = list.iterator();
while (visibleIt.hasNext()) {
String nextDesc = visibleIt.next().desc;
if (nextDesc.equals(
AsmNameUtils.classJavaNameToDescriptor(enableAnnotationClass.getName()))) {
result = result.or(FindAndRemoveAnnotationResult.FOUND_AUTO_HANDLE);
visibleIt.remove();
} else if (nextDesc.equals(
AsmNameUtils.classJavaNameToDescriptor(disableAnnotationClass.getName()))) {
result = result.or(FindAndRemoveAnnotationResult.FOUND_NO_AUTO_HANDLE);
visibleIt.remove();
}
}
}
return result;
}