public class StmtVisitor extends java.lang.Object implements StmtSwitch
Switchable.apply(soot.util.Switch) with this visitor to add statements
and #getFinalInsns() to get the final dexlib instructions.intermediate representation of an instruction,
final representation of an instruction| Constructor and Description |
|---|
StmtVisitor(SootMethod belongingMethod,
DexBuilder belongingFile) |
public StmtVisitor(SootMethod belongingMethod, DexBuilder belongingFile)
protected void setLastReturnTypeDescriptor(java.lang.String typeDescriptor)
protected DexBuilder getBelongingFile()
protected SootClass getBelongingClass()
public Stmt getStmtForInstruction(Instruction instruction)
public Insn getInsnForInstruction(Instruction instruction)
public java.util.Map<Instruction,LocalRegisterAssignmentInformation> getInstructionRegisterMap()
public java.util.List<LocalRegisterAssignmentInformation> getParameterInstructionsList()
public java.util.Map<Instruction,SwitchPayload> getInstructionPayloadMap()
protected void beginNewStmt(Stmt s)
public void finalizeInstructions()
public java.util.List<BuilderInstruction> getRealInsns(LabelAssigner labelAssigner)
protected int getRegisterCount()
public void defaultCase(java.lang.Object o)
defaultCase in interface StmtSwitchpublic void caseBreakpointStmt(BreakpointStmt stmt)
caseBreakpointStmt in interface StmtSwitchpublic void caseNopStmt(NopStmt stmt)
caseNopStmt in interface StmtSwitchpublic void caseRetStmt(RetStmt stmt)
caseRetStmt in interface StmtSwitchpublic void caseEnterMonitorStmt(EnterMonitorStmt stmt)
caseEnterMonitorStmt in interface StmtSwitchpublic void caseExitMonitorStmt(ExitMonitorStmt stmt)
caseExitMonitorStmt in interface StmtSwitchpublic void caseThrowStmt(ThrowStmt stmt)
caseThrowStmt in interface StmtSwitchpublic void caseAssignStmt(AssignStmt stmt)
caseAssignStmt in interface StmtSwitchpublic void caseInvokeStmt(InvokeStmt stmt)
caseInvokeStmt in interface StmtSwitchpublic void caseReturnVoidStmt(ReturnVoidStmt stmt)
caseReturnVoidStmt in interface StmtSwitchpublic void caseReturnStmt(ReturnStmt stmt)
caseReturnStmt in interface StmtSwitchpublic void caseIdentityStmt(IdentityStmt stmt)
caseIdentityStmt in interface StmtSwitchpublic void caseGotoStmt(GotoStmt stmt)
caseGotoStmt in interface StmtSwitchpublic void caseLookupSwitchStmt(LookupSwitchStmt stmt)
caseLookupSwitchStmt in interface StmtSwitchpublic void caseTableSwitchStmt(TableSwitchStmt stmt)
caseTableSwitchStmt in interface StmtSwitchpublic void caseIfStmt(IfStmt stmt)
caseIfStmt in interface StmtSwitch