Class SimpleDemandPointerFlowGraph.StatementVisitor
java.lang.Object
com.ibm.wala.ssa.SSAInstruction.Visitor
com.ibm.wala.demandpa.flowgraph.SimpleDemandPointerFlowGraph.StatementVisitor
- All Implemented Interfaces:
SSAInstruction.IVisitor
- Enclosing class:
SimpleDemandPointerFlowGraph
A visitor that generates graph nodes and edges for an IR.
strategy: when visiting a statement, for each use of that statement, add a graph edge from def to use.
TODO: special treatment for parameter passing, etc.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final DefUseDef-use informationprotected final IRThe governing IRprotected final CGNodeThe node whose statements we are currently traversingprotected final SymbolTableGoverning symbol table -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidsetBasicBlock(ISSABasicBlock block) The calling loop must call this in each iteration!voidvisitArrayLoad(SSAArrayLoadInstruction instruction) voidvisitArrayStore(SSAArrayStoreInstruction instruction) voidvisitCheckCast(SSACheckCastInstruction instruction) voidvisitGet(SSAGetInstruction instruction) voidvisitGetCaughtException(SSAGetCaughtExceptionInstruction instruction) protected voidvisitGetInternal(int lval, boolean isStatic, FieldReference field) voidvisitInvoke(SSAInvokeInstruction instruction) voidvisitLoadMetadata(SSALoadMetadataInstruction instruction) voidvisitNew(SSANewInstruction instruction) voidvisitPi(SSAPiInstruction instruction) voidvisitPut(SSAPutInstruction instruction) voidvisitPutInternal(int rval, boolean isStatic, FieldReference field) voidvisitReturn(SSAReturnInstruction instruction) voidvisitThrow(SSAThrowInstruction instruction) Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface SSAInstruction.IVisitor
visitArrayLength, visitBinaryOp, visitComparison, visitConditionalBranch, visitConversion, visitGoto, visitInstanceof, visitMonitor, visitPhi, visitSwitch, visitUnaryOp
-
Field Details
-
node
The node whose statements we are currently traversing -
ir
The governing IR -
symbolTable
Governing symbol table -
du
Def-use information
-
-
Constructor Details
-
StatementVisitor
-
-
Method Details
-
visitArrayLoad
-
visitArrayStore
-
visitCheckCast
-
visitReturn
-
visitGet
-
visitGetInternal
-
visitPut
-
visitPutInternal
-
visitInvoke
-
visitNew
-
visitThrow
-
visitGetCaughtException
-
visitPi
-
getBasicBlock
-
setBasicBlock
The calling loop must call this in each iteration! -
visitLoadMetadata
-