private Insn buildConstInsn(int literal) { if (SootToDexUtils.fitsSigned4(literal)) { return new Insn11n(Opcode.CONST_4, destinationReg, (byte) literal); } if (SootToDexUtils.fitsSigned16(literal)) { return new Insn21s(Opcode.CONST_16, destinationReg, (short) literal); } return new Insn31i(Opcode.CONST, destinationReg, literal); }
private Insn buildConstWideInsn(long literal) { if (SootToDexUtils.fitsSigned16(literal)) { return new Insn21s(Opcode.CONST_WIDE_16, destinationReg, (short) literal); } else if (SootToDexUtils.fitsSigned32(literal)) { return new Insn31i(Opcode.CONST_WIDE_32, destinationReg, (int) literal); } else { return new Insn51l(Opcode.CONST_WIDE, destinationReg, literal); } }