use of soot.toDex.instructions.PackedSwitchPayload in project soot by Sable.
the class StmtVisitor method caseTableSwitchStmt.
@Override
public void caseTableSwitchStmt(TableSwitchStmt stmt) {
exprV.setOrigStmt(stmt);
constantV.setOrigStmt(stmt);
// create payload that references the switch's targets
int firstKey = stmt.getLowIndex();
List<Unit> targets = stmt.getTargets();
PackedSwitchPayload payload = new PackedSwitchPayload(firstKey, targets);
payloads.add(payload);
// create packed-switch instruction that references the payload
Value key = stmt.getKey();
Stmt defaultTarget = (Stmt) stmt.getDefaultTarget();
addInsn(buildSwitchInsn(Opcode.PACKED_SWITCH, key, defaultTarget, payload, stmt), stmt);
}
Aggregations