soot.jimple.spark.builder
Class MethodNodeFactory
java.lang.Object
soot.jimple.AbstractJimpleValueSwitch
soot.shimple.AbstractShimpleValueSwitch
soot.jimple.spark.builder.MethodNodeFactory
- All Implemented Interfaces:
- ConstantSwitch, ExprSwitch, JimpleValueSwitch, RefSwitch, ShimpleExprSwitch, ShimpleValueSwitch, Switch
public class MethodNodeFactory
- extends AbstractShimpleValueSwitch
Class implementing builder parameters (this decides
what kinds of nodes should be built for each kind of Soot value).
- Author:
- Ondrej Lhotak
Methods inherited from class soot.jimple.AbstractJimpleValueSwitch |
caseAddExpr, caseAndExpr, caseCmpExpr, caseCmpgExpr, caseCmplExpr, caseDivExpr, caseDoubleConstant, caseDynamicInvokeExpr, caseEqExpr, caseFloatConstant, caseGeExpr, caseGtExpr, caseInstanceOfExpr, caseIntConstant, caseInterfaceInvokeExpr, caseLeExpr, caseLengthExpr, caseLongConstant, caseLtExpr, caseMulExpr, caseNeExpr, caseNegExpr, caseOrExpr, caseRemExpr, caseShlExpr, caseShrExpr, caseSpecialInvokeExpr, caseStaticInvokeExpr, caseSubExpr, caseUshrExpr, caseVirtualInvokeExpr, caseXorExpr, getResult, setResult |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface soot.jimple.ExprSwitch |
caseAddExpr, caseAndExpr, caseCmpExpr, caseCmpgExpr, caseCmplExpr, caseDivExpr, caseDynamicInvokeExpr, caseEqExpr, caseGeExpr, caseGtExpr, caseInstanceOfExpr, caseInterfaceInvokeExpr, caseLeExpr, caseLengthExpr, caseLtExpr, caseMulExpr, caseNeExpr, caseNegExpr, caseOrExpr, caseRemExpr, caseShlExpr, caseShrExpr, caseSpecialInvokeExpr, caseStaticInvokeExpr, caseSubExpr, caseUshrExpr, caseVirtualInvokeExpr, caseXorExpr |
pag
protected PAG pag
mpag
protected MethodPAG mpag
method
protected SootMethod method
MethodNodeFactory
public MethodNodeFactory(PAG pag,
MethodPAG mpag)
getNode
public Node getNode(Value v)
handleStmt
public final void handleStmt(Stmt s)
- Adds the edges required for this statement to the graph.
getNode
public final Node getNode()
caseThis
public final Node caseThis()
caseParm
public final Node caseParm(int index)
casePhiExpr
public final void casePhiExpr(PhiExpr e)
- Specified by:
casePhiExpr
in interface ShimpleExprSwitch
- Overrides:
casePhiExpr
in class AbstractShimpleValueSwitch
caseRet
public final Node caseRet()
caseArray
public final Node caseArray(VarNode base)
caseArrayRef
public final void caseArrayRef(ArrayRef ar)
- Specified by:
caseArrayRef
in interface RefSwitch
- Overrides:
caseArrayRef
in class AbstractJimpleValueSwitch
caseCastExpr
public final void caseCastExpr(CastExpr ce)
- Specified by:
caseCastExpr
in interface ExprSwitch
- Overrides:
caseCastExpr
in class AbstractJimpleValueSwitch
caseCaughtExceptionRef
public final void caseCaughtExceptionRef(CaughtExceptionRef cer)
- Specified by:
caseCaughtExceptionRef
in interface RefSwitch
- Overrides:
caseCaughtExceptionRef
in class AbstractJimpleValueSwitch
caseInstanceFieldRef
public final void caseInstanceFieldRef(InstanceFieldRef ifr)
- Specified by:
caseInstanceFieldRef
in interface RefSwitch
- Overrides:
caseInstanceFieldRef
in class AbstractJimpleValueSwitch
caseLocal
public final void caseLocal(Local l)
- Specified by:
caseLocal
in interface JimpleValueSwitch
- Overrides:
caseLocal
in class AbstractJimpleValueSwitch
caseNewArrayExpr
public final void caseNewArrayExpr(NewArrayExpr nae)
- Specified by:
caseNewArrayExpr
in interface ExprSwitch
- Overrides:
caseNewArrayExpr
in class AbstractJimpleValueSwitch
caseNewExpr
public final void caseNewExpr(NewExpr ne)
- Specified by:
caseNewExpr
in interface ExprSwitch
- Overrides:
caseNewExpr
in class AbstractJimpleValueSwitch
caseNewMultiArrayExpr
public final void caseNewMultiArrayExpr(NewMultiArrayExpr nmae)
- Specified by:
caseNewMultiArrayExpr
in interface ExprSwitch
- Overrides:
caseNewMultiArrayExpr
in class AbstractJimpleValueSwitch
caseParameterRef
public final void caseParameterRef(ParameterRef pr)
- Specified by:
caseParameterRef
in interface RefSwitch
- Overrides:
caseParameterRef
in class AbstractJimpleValueSwitch
caseStaticFieldRef
public final void caseStaticFieldRef(StaticFieldRef sfr)
- Specified by:
caseStaticFieldRef
in interface RefSwitch
- Overrides:
caseStaticFieldRef
in class AbstractJimpleValueSwitch
caseStringConstant
public final void caseStringConstant(StringConstant sc)
- Specified by:
caseStringConstant
in interface ConstantSwitch
- Overrides:
caseStringConstant
in class AbstractJimpleValueSwitch
caseThisRef
public final void caseThisRef(ThisRef tr)
- Specified by:
caseThisRef
in interface RefSwitch
- Overrides:
caseThisRef
in class AbstractJimpleValueSwitch
caseNullConstant
public final void caseNullConstant(NullConstant nr)
- Specified by:
caseNullConstant
in interface ConstantSwitch
- Overrides:
caseNullConstant
in class AbstractJimpleValueSwitch
caseClassConstant
public final void caseClassConstant(ClassConstant cc)
- Specified by:
caseClassConstant
in interface ConstantSwitch
- Overrides:
caseClassConstant
in class AbstractJimpleValueSwitch
defaultCase
public final void defaultCase(Object v)
- Specified by:
defaultCase
in interface ConstantSwitch
- Specified by:
defaultCase
in interface ExprSwitch
- Specified by:
defaultCase
in interface RefSwitch
- Overrides:
defaultCase
in class AbstractJimpleValueSwitch