in TransformCore/src/main/java/com/facebook/ads/injkit/crashshield/CrashShieldInjector.java [140:192]
protected void processImpl(ClassNode clsNode, Model model) {
if ((clsNode.access & Opcodes.ACC_INTERFACE) != 0) {
return;
}
if (ANDROID_CLASS_INAME_AND_SAFE_CLASS_INAME_MAP.containsValue(clsNode.name)) {
return;
}
FindAndRemoveAnnotationResult defaultOp =
findAndRemoveAnnotation(clsNode.visibleAnnotations, clsNode.invisibleAnnotations);
for (MethodNode method : clsNode.methods) {
if (AsmMethodUtils.isStaticInitializer(method)) {
continue;
}
if (AsmMethodUtils.isConstructor(method)) {
if (!maybeRenameParentConstructorCall(shouldProcessViews, method, clsNode)
&& shouldProcessConstructors) {
injectHandleThrowable(clsNode, method);
}
continue;
}
if (shouldProcessViews) {
if (CrashShieldViewClassFilter.isViewClassChild(clsNode, model)) {
renameMethodsAndSuperCalls(method, clsNode);
if (CrashShieldViewClassFilter.isViewMethodToRename(method.name, method.desc)) {
renameMethod(method);
}
continue;
}
}
FindAndRemoveAnnotationResult methodOp =
findAndRemoveAnnotation(method.visibleAnnotations, method.invisibleAnnotations)
.or(defaultOp);
if (CrashShieldViewClassFilter.isAutoProcessedMethod(method, clsNode, model)
&& methodOp != FindAndRemoveAnnotationResult.FOUND_NO_AUTO_HANDLE) {
injectHandleThrowable(clsNode, method);
continue;
}
if (methodOp == FindAndRemoveAnnotationResult.FOUND_AUTO_HANDLE) {
injectHandleThrowable(clsNode, method);
}
}
if (shouldProcessViews) {
renameSuperClassIfDirectChild(clsNode);
}
}