in TransformCore/src/main/java/com/facebook/ads/injkit/crashshield/CrashShieldInjector.java [335:357]
private void insertIfCrashingCondition(ClassNode cls, MethodNode method) {
InsnList insnList = new InsnList();
if ((method.access & Opcodes.ACC_STATIC) != 0) {
insnList.add(new LdcInsnNode(Type.getObjectType(cls.name)));
} else {
insnList.add(new VarInsnNode(Opcodes.ALOAD, 0));
}
insnList.add(
new MethodInsnNode(
Opcodes.INVOKESTATIC,
exceptionHandlerIName,
"isObjectCrashing",
"(Ljava/lang/Object;)Z",
false));
LabelNode skipReturn = new LabelNode();
insnList.add(new JumpInsnNode(Opcodes.IFEQ, skipReturn));
insnList.add(makeReturnCodeFor(method));
insnList.add(skipReturn);
method.instructions.insert(insnList);
}