Package soot.jimple.spark.builder
Class MethodNodeFactory
- java.lang.Object
-
- soot.jimple.AbstractExprSwitch<T>
-
- soot.jimple.AbstractJimpleValueSwitch<T>
-
- soot.shimple.AbstractShimpleValueSwitch
-
- soot.jimple.spark.builder.MethodNodeFactory
-
- All Implemented Interfaces:
ConstantSwitch,ExprSwitch,ImmediateSwitch,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
-
-
Field Summary
Fields Modifier and Type Field Description protected ClientAccessibilityOracleaccessibilityOracleprotected SootMethodmethodprotected MethodPAGmpagprotected PAGpagprotected RefTypertClassprotected RefTypertHashMapprotected RefTypertHashSetprotected RefTypertHashtableEmptyEnumeratorprotected RefTypertHashtableEmptyIteratorprotected RefTypertLinkedListprotected RefTypertStringType
-
Constructor Summary
Constructors Constructor Description MethodNodeFactory(PAG pag, MethodPAG mpag)
-
Method Summary
-
Methods inherited from class soot.jimple.AbstractJimpleValueSwitch
caseDoubleConstant, caseFloatConstant, caseIntConstant, caseLongConstant, caseMethodHandle, caseMethodType
-
Methods inherited from class soot.jimple.AbstractExprSwitch
caseAddExpr, caseAndExpr, caseCmpExpr, caseCmpgExpr, caseCmplExpr, caseDivExpr, caseDynamicInvokeExpr, caseEqExpr, caseGeExpr, caseGtExpr, caseInstanceOfExpr, caseInterfaceInvokeExpr, caseLeExpr, caseLengthExpr, caseLtExpr, caseMulExpr, caseNeExpr, caseNegExpr, caseOrExpr, caseRemExpr, caseShlExpr, caseShrExpr, caseSpecialInvokeExpr, caseSubExpr, caseUshrExpr, 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.ConstantSwitch
caseDecimalConstant, caseDoubleConstant, caseFloatConstant, caseIntConstant, caseLongConstant, caseMethodHandle, caseMethodType, caseShortConstant, caseUByteConstant, caseUIntConstant, caseULongConstant, caseUShortConstant
-
Methods inherited from interface soot.jimple.ExprSwitch
caseAddExpr, caseAndExpr, caseCheckedAddExpr, caseCheckedCastExpr, caseCheckedMulExpr, caseCheckedSubExpr, caseCmpExpr, caseCmpgExpr, caseCmplExpr, caseDivExpr, caseDynamicInvokeExpr, caseEqExpr, caseGeExpr, caseGtExpr, caseInstanceOfExpr, caseInterfaceInvokeExpr, caseLeExpr, caseLengthExpr, caseLtExpr, caseMulExpr, caseNeExpr, caseNegExpr, caseOrExpr, caseRemExpr, caseShlExpr, caseShrExpr, caseSpecialInvokeExpr, caseSubExpr, caseUshrExpr, caseXorExpr
-
-
-
-
Field Detail
-
rtClass
protected final RefType rtClass
-
rtStringType
protected final RefType rtStringType
-
rtHashSet
protected final RefType rtHashSet
-
rtHashMap
protected final RefType rtHashMap
-
rtLinkedList
protected final RefType rtLinkedList
-
rtHashtableEmptyIterator
protected final RefType rtHashtableEmptyIterator
-
rtHashtableEmptyEnumerator
protected final RefType rtHashtableEmptyEnumerator
-
pag
protected final PAG pag
-
mpag
protected final MethodPAG mpag
-
method
protected SootMethod method
-
accessibilityOracle
protected ClientAccessibilityOracle accessibilityOracle
-
-
Method Detail
-
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:
casePhiExprin interfaceShimpleExprSwitch- Overrides:
casePhiExprin classAbstractShimpleValueSwitch
-
caseRet
public final Node caseRet()
-
caseArrayRef
public final void caseArrayRef(ArrayRef ar)
- Specified by:
caseArrayRefin interfaceRefSwitch- Overrides:
caseArrayRefin classAbstractJimpleValueSwitch
-
caseCastExpr
public final void caseCastExpr(CastExpr ce)
- Specified by:
caseCastExprin interfaceExprSwitch- Overrides:
caseCastExprin classAbstractExprSwitch
-
caseCaughtExceptionRef
public final void caseCaughtExceptionRef(CaughtExceptionRef cer)
- Specified by:
caseCaughtExceptionRefin interfaceRefSwitch- Overrides:
caseCaughtExceptionRefin classAbstractJimpleValueSwitch
-
caseInstanceFieldRef
public final void caseInstanceFieldRef(InstanceFieldRef ifr)
- Specified by:
caseInstanceFieldRefin interfaceRefSwitch- Overrides:
caseInstanceFieldRefin classAbstractJimpleValueSwitch
-
caseLocal
public final void caseLocal(Local l)
- Specified by:
caseLocalin interfaceImmediateSwitch- Overrides:
caseLocalin classAbstractJimpleValueSwitch
-
caseNewArrayExpr
public final void caseNewArrayExpr(NewArrayExpr nae)
- Specified by:
caseNewArrayExprin interfaceExprSwitch- Overrides:
caseNewArrayExprin classAbstractExprSwitch
-
caseNewExpr
public final void caseNewExpr(NewExpr ne)
- Specified by:
caseNewExprin interfaceExprSwitch- Overrides:
caseNewExprin classAbstractExprSwitch
-
caseNewMultiArrayExpr
public final void caseNewMultiArrayExpr(NewMultiArrayExpr nmae)
- Specified by:
caseNewMultiArrayExprin interfaceExprSwitch- Overrides:
caseNewMultiArrayExprin classAbstractExprSwitch
-
caseParameterRef
public final void caseParameterRef(ParameterRef pr)
- Specified by:
caseParameterRefin interfaceRefSwitch- Overrides:
caseParameterRefin classAbstractJimpleValueSwitch
-
caseStaticFieldRef
public final void caseStaticFieldRef(StaticFieldRef sfr)
- Specified by:
caseStaticFieldRefin interfaceRefSwitch- Overrides:
caseStaticFieldRefin classAbstractJimpleValueSwitch
-
caseStringConstant
public final void caseStringConstant(StringConstant sc)
- Specified by:
caseStringConstantin interfaceConstantSwitch- Overrides:
caseStringConstantin classAbstractJimpleValueSwitch
-
caseThisRef
public final void caseThisRef(ThisRef tr)
- Specified by:
caseThisRefin interfaceRefSwitch- Overrides:
caseThisRefin classAbstractJimpleValueSwitch
-
caseNullConstant
public final void caseNullConstant(NullConstant nr)
- Specified by:
caseNullConstantin interfaceConstantSwitch- Overrides:
caseNullConstantin classAbstractJimpleValueSwitch
-
caseClassConstant
public final void caseClassConstant(ClassConstant cc)
- Specified by:
caseClassConstantin interfaceConstantSwitch- Overrides:
caseClassConstantin classAbstractJimpleValueSwitch
-
defaultCase
public final void defaultCase(Object v)
- Specified by:
defaultCasein interfaceConstantSwitch- Specified by:
defaultCasein interfaceExprSwitch- Specified by:
defaultCasein interfaceRefSwitch- Overrides:
defaultCasein classAbstractExprSwitch
-
caseStaticInvokeExpr
public void caseStaticInvokeExpr(StaticInvokeExpr v)
- Specified by:
caseStaticInvokeExprin interfaceExprSwitch- Overrides:
caseStaticInvokeExprin classAbstractExprSwitch
-
caseVirtualInvokeExpr
public void caseVirtualInvokeExpr(VirtualInvokeExpr v)
- Specified by:
caseVirtualInvokeExprin interfaceExprSwitch- Overrides:
caseVirtualInvokeExprin classAbstractExprSwitch
-
getMethod
public SootMethod getMethod()
Returns the method- Returns:
- the method
-
-