use of soot.toDex.instructions.AbstractPayload in project soot by Sable.
the class StmtVisitor method addPayloads.
private void addPayloads() {
// add switch payloads to the end of the insns
for (AbstractPayload payload : payloads) {
addInsn(new AddressInsn(payload), null);
addInsn(payload, null);
}
}
use of soot.toDex.instructions.AbstractPayload in project soot by Sable.
the class StmtVisitor method getRealInsns.
public List<BuilderInstruction> getRealInsns(LabelAssigner labelAssigner) {
List<BuilderInstruction> finalInsns = new ArrayList<BuilderInstruction>();
for (Insn i : insns) {
if (i instanceof AddressInsn) {
// skip non-insns
continue;
}
BuilderInstruction realInsn = i.getRealInsn(labelAssigner);
finalInsns.add(realInsn);
if (insnStmtMap.containsKey(i)) {
// get tags
instructionInsnMap.put(realInsn, i);
}
LocalRegisterAssignmentInformation assignmentInfo = insnRegisterMap.get(i);
if (assignmentInfo != null)
instructionRegisterMap.put(realInsn, assignmentInfo);
if (i instanceof AbstractPayload)
instructionPayloadMap.put(realInsn, (AbstractPayload) i);
}
return finalInsns;
}
Aggregations