public void jimplify(DexBody body) { TwoRegisterInstruction i = (TwoRegisterInstruction) instruction; int dest = i.getRegisterA(); int object = i.getRegisterB(); FieldIdItem f = (FieldIdItem) ((InstructionWithReference) instruction).getReferencedItem(); InstanceFieldRef r = Jimple.v().newInstanceFieldRef(body.getRegisterLocal(object), getSootFieldRef(f)); assign = Jimple.v().newAssignStmt(body.getRegisterLocal(dest), r); setUnit(assign); tagWithLineNumber(assign); body.add(assign); }
@Override boolean overridesRegister(int register) { TwoRegisterInstruction i = (TwoRegisterInstruction) instruction; int dest = i.getRegisterA(); return register == dest; }