public class ExprVisitor extends Object implements ExprSwitch
Switchable.apply(soot.util.Switch) with this visitor to add statements. These are added to the instructions in
the StmtVisitor.setDestinationReg(Register) and
setTargetForOffset(Stmt), respectively.StmtVisitor| Modifier and Type | Field and Description |
|---|---|
protected ConstantVisitor |
constantV |
protected Register |
destinationReg |
protected Stmt |
origStmt |
protected RegisterAllocator |
regAlloc |
protected StmtVisitor |
stmtV |
protected Stmt |
targetForOffset |
| Constructor and Description |
|---|
ExprVisitor(StmtVisitor stmtV,
ConstantVisitor constantV,
RegisterAllocator regAlloc) |
protected StmtVisitor stmtV
protected ConstantVisitor constantV
protected RegisterAllocator regAlloc
protected Register destinationReg
protected Stmt targetForOffset
protected Stmt origStmt
public ExprVisitor(StmtVisitor stmtV, ConstantVisitor constantV, RegisterAllocator regAlloc)
public void setDestinationReg(Register destinationReg)
public void setOrigStmt(Stmt stmt)
public void setTargetForOffset(Stmt targetForOffset)
public void defaultCase(Object o)
defaultCase in interface ExprSwitchpublic void caseDynamicInvokeExpr(DynamicInvokeExpr v)
caseDynamicInvokeExpr in interface ExprSwitchpublic void caseSpecialInvokeExpr(SpecialInvokeExpr sie)
caseSpecialInvokeExpr in interface ExprSwitchpublic void caseVirtualInvokeExpr(VirtualInvokeExpr vie)
caseVirtualInvokeExpr in interface ExprSwitchpublic void caseInterfaceInvokeExpr(InterfaceInvokeExpr iie)
caseInterfaceInvokeExpr in interface ExprSwitchpublic void caseStaticInvokeExpr(StaticInvokeExpr sie)
caseStaticInvokeExpr in interface ExprSwitchpublic void caseAddExpr(AddExpr ae)
caseAddExpr in interface ExprSwitchpublic void caseSubExpr(SubExpr se)
caseSubExpr in interface ExprSwitchpublic void caseMulExpr(MulExpr me)
caseMulExpr in interface ExprSwitchpublic void caseDivExpr(DivExpr de)
caseDivExpr in interface ExprSwitchpublic void caseRemExpr(RemExpr re)
caseRemExpr in interface ExprSwitchpublic void caseAndExpr(AndExpr ae)
caseAndExpr in interface ExprSwitchpublic void caseOrExpr(OrExpr oe)
caseOrExpr in interface ExprSwitchpublic void caseXorExpr(XorExpr xe)
caseXorExpr in interface ExprSwitchpublic void caseShlExpr(ShlExpr sle)
caseShlExpr in interface ExprSwitchpublic void caseShrExpr(ShrExpr sre)
caseShrExpr in interface ExprSwitchpublic void caseUshrExpr(UshrExpr usre)
caseUshrExpr in interface ExprSwitchpublic void caseEqExpr(EqExpr ee)
caseEqExpr in interface ExprSwitchpublic void caseGeExpr(GeExpr ge)
caseGeExpr in interface ExprSwitchpublic void caseGtExpr(GtExpr ge)
caseGtExpr in interface ExprSwitchpublic void caseLeExpr(LeExpr le)
caseLeExpr in interface ExprSwitchpublic void caseLtExpr(LtExpr le)
caseLtExpr in interface ExprSwitchpublic void caseNeExpr(NeExpr ne)
caseNeExpr in interface ExprSwitchpublic void caseCmpExpr(CmpExpr v)
caseCmpExpr in interface ExprSwitchpublic void caseCmpgExpr(CmpgExpr v)
caseCmpgExpr in interface ExprSwitchpublic void caseCmplExpr(CmplExpr v)
caseCmplExpr in interface ExprSwitchpublic void caseLengthExpr(LengthExpr le)
caseLengthExpr in interface ExprSwitchpublic void caseNegExpr(NegExpr ne)
caseNegExpr in interface ExprSwitchpublic void caseInstanceOfExpr(InstanceOfExpr ioe)
caseInstanceOfExpr in interface ExprSwitchpublic void caseCastExpr(CastExpr ce)
caseCastExpr in interface ExprSwitchpublic void caseNewArrayExpr(NewArrayExpr nae)
caseNewArrayExpr in interface ExprSwitchpublic void caseNewMultiArrayExpr(NewMultiArrayExpr nmae)
caseNewMultiArrayExpr in interface ExprSwitchpublic void caseNewExpr(NewExpr ne)
caseNewExpr in interface ExprSwitchpublic int getLastInvokeInstructionPosition()
Copyright © 2020 Soot OSS. All rights reserved.