in TransformCore/src/main/java/com/facebook/ads/injkit/crashshield/CrashShieldInjector.java [359:393]
private InsnList makeReturnCodeFor(MethodNode method) {
InsnList returnCode = new InsnList();
switch (Type.getReturnType(method.desc).getSort()) {
case Type.VOID:
returnCode.add(new InsnNode(Opcodes.RETURN));
break;
case Type.BOOLEAN:
case Type.BYTE:
case Type.CHAR:
case Type.INT:
case Type.SHORT:
returnCode.add(new InsnNode(Opcodes.ICONST_0));
returnCode.add(new InsnNode(Opcodes.IRETURN));
break;
case Type.DOUBLE:
returnCode.add(new InsnNode(Opcodes.DCONST_0));
returnCode.add(new InsnNode(Opcodes.DRETURN));
break;
case Type.FLOAT:
returnCode.add(new InsnNode(Opcodes.FCONST_0));
returnCode.add(new InsnNode(Opcodes.FRETURN));
break;
case Type.LONG:
returnCode.add(new InsnNode(Opcodes.LCONST_0));
returnCode.add(new InsnNode(Opcodes.LRETURN));
break;
default:
returnCode.add(new InsnNode(Opcodes.ACONST_NULL));
returnCode.add(new InsnNode(Opcodes.ARETURN));
break;
}
return returnCode;
}