Package com.ibm.wala.demandpa.flowgraph
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
protected class SimpleDemandPointerFlowGraph.StatementVisitor extends SSAInstruction.Visitor
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
Fields Modifier and Type Field Description protected DefUse
du
Def-use informationprotected IR
ir
The governing IRprotected CGNode
node
The node whose statements we are currently traversingprotected SymbolTable
symbolTable
Governing symbol table
-
Constructor Summary
Constructors Constructor Description StatementVisitor(CGNode node, IR ir, DefUse du)
-
Method Summary
-
Methods inherited from class com.ibm.wala.ssa.SSAInstruction.Visitor
visitArrayLength, visitBinaryOp, visitComparison, visitConditionalBranch, visitConversion, visitGoto, visitInstanceof, visitMonitor, visitPhi, visitSwitch, visitUnaryOp
-
-
-
-
Field Detail
-
node
protected final CGNode node
The node whose statements we are currently traversing
-
ir
protected final IR ir
The governing IR
-
symbolTable
protected final SymbolTable symbolTable
Governing symbol table
-
du
protected final DefUse du
Def-use information
-
-
Method Detail
-
visitArrayLoad
public void visitArrayLoad(SSAArrayLoadInstruction instruction)
- Specified by:
visitArrayLoad
in interfaceSSAInstruction.IVisitor
- Overrides:
visitArrayLoad
in classSSAInstruction.Visitor
-
visitArrayStore
public void visitArrayStore(SSAArrayStoreInstruction instruction)
- Specified by:
visitArrayStore
in interfaceSSAInstruction.IVisitor
- Overrides:
visitArrayStore
in classSSAInstruction.Visitor
-
visitCheckCast
public void visitCheckCast(SSACheckCastInstruction instruction)
- Specified by:
visitCheckCast
in interfaceSSAInstruction.IVisitor
- Overrides:
visitCheckCast
in classSSAInstruction.Visitor
-
visitReturn
public void visitReturn(SSAReturnInstruction instruction)
- Specified by:
visitReturn
in interfaceSSAInstruction.IVisitor
- Overrides:
visitReturn
in classSSAInstruction.Visitor
-
visitGet
public void visitGet(SSAGetInstruction instruction)
- Specified by:
visitGet
in interfaceSSAInstruction.IVisitor
- Overrides:
visitGet
in classSSAInstruction.Visitor
-
visitGetInternal
protected void visitGetInternal(int lval, boolean isStatic, FieldReference field)
-
visitPut
public void visitPut(SSAPutInstruction instruction)
- Specified by:
visitPut
in interfaceSSAInstruction.IVisitor
- Overrides:
visitPut
in classSSAInstruction.Visitor
-
visitPutInternal
public void visitPutInternal(int rval, boolean isStatic, FieldReference field)
-
visitInvoke
public void visitInvoke(SSAInvokeInstruction instruction)
- Specified by:
visitInvoke
in interfaceSSAInstruction.IVisitor
- Overrides:
visitInvoke
in classSSAInstruction.Visitor
-
visitNew
public void visitNew(SSANewInstruction instruction)
- Specified by:
visitNew
in interfaceSSAInstruction.IVisitor
- Overrides:
visitNew
in classSSAInstruction.Visitor
-
visitThrow
public void visitThrow(SSAThrowInstruction instruction)
- Specified by:
visitThrow
in interfaceSSAInstruction.IVisitor
- Overrides:
visitThrow
in classSSAInstruction.Visitor
-
visitGetCaughtException
public void visitGetCaughtException(SSAGetCaughtExceptionInstruction instruction)
- Specified by:
visitGetCaughtException
in interfaceSSAInstruction.IVisitor
- Overrides:
visitGetCaughtException
in classSSAInstruction.Visitor
-
visitPi
public void visitPi(SSAPiInstruction instruction)
- Specified by:
visitPi
in interfaceSSAInstruction.IVisitor
- Overrides:
visitPi
in classSSAInstruction.Visitor
-
getBasicBlock
public ISSABasicBlock getBasicBlock()
-
setBasicBlock
public void setBasicBlock(ISSABasicBlock block)
The calling loop must call this in each iteration!
-
visitLoadMetadata
public void visitLoadMetadata(SSALoadMetadataInstruction instruction)
- Specified by:
visitLoadMetadata
in interfaceSSAInstruction.IVisitor
- Overrides:
visitLoadMetadata
in classSSAInstruction.Visitor
-
-