Package com.ibm.wala.cfg
Class InducedCFG.BranchVisitor
- java.lang.Object
-
- com.ibm.wala.ssa.SSAInstruction.Visitor
-
- com.ibm.wala.cfg.InducedCFG.BranchVisitor
-
- All Implemented Interfaces:
SSAInstruction.IVisitor
- Direct Known Subclasses:
AstInducedCFG.AstBranchVisitor
- Enclosing class:
- InducedCFG
public class InducedCFG.BranchVisitor extends SSAInstruction.Visitor
This visitor identifies basic block boundaries induced by branch instructions.
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
BranchVisitor(boolean[] r)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
breakBasicBlock(int index)
introduce a basic block boundary immediately after instruction number 'index' if it is not followed by pi instructions, or after the pi instructions otherwisevoid
visitConditionalBranch(SSAConditionalBranchInstruction instruction)
void
visitGoto(SSAGotoInstruction instruction)
void
visitPhi(SSAPhiInstruction instruction)
void
visitReturn(SSAReturnInstruction instruction)
void
visitSwitch(SSASwitchInstruction instruction)
void
visitThrow(SSAThrowInstruction instruction)
-
Methods inherited from class com.ibm.wala.ssa.SSAInstruction.Visitor
visitArrayLength, visitArrayLoad, visitArrayStore, visitBinaryOp, visitCheckCast, visitComparison, visitConversion, visitGet, visitGetCaughtException, visitInstanceof, visitInvoke, visitLoadMetadata, visitMonitor, visitNew, visitPi, visitPut, visitUnaryOp
-
-
-
-
Method Detail
-
visitGoto
public void visitGoto(SSAGotoInstruction instruction)
- Specified by:
visitGoto
in interfaceSSAInstruction.IVisitor
- Overrides:
visitGoto
in classSSAInstruction.Visitor
-
visitConditionalBranch
public void visitConditionalBranch(SSAConditionalBranchInstruction instruction)
- Specified by:
visitConditionalBranch
in interfaceSSAInstruction.IVisitor
- Overrides:
visitConditionalBranch
in classSSAInstruction.Visitor
-
visitSwitch
public void visitSwitch(SSASwitchInstruction instruction)
- Specified by:
visitSwitch
in interfaceSSAInstruction.IVisitor
- Overrides:
visitSwitch
in classSSAInstruction.Visitor
-
visitPhi
public void visitPhi(SSAPhiInstruction instruction)
- Specified by:
visitPhi
in interfaceSSAInstruction.IVisitor
- Overrides:
visitPhi
in classSSAInstruction.Visitor
-
visitReturn
public void visitReturn(SSAReturnInstruction instruction)
- Specified by:
visitReturn
in interfaceSSAInstruction.IVisitor
- Overrides:
visitReturn
in classSSAInstruction.Visitor
-
visitThrow
public void visitThrow(SSAThrowInstruction instruction)
- Specified by:
visitThrow
in interfaceSSAInstruction.IVisitor
- Overrides:
visitThrow
in classSSAInstruction.Visitor
-
breakBasicBlock
protected void breakBasicBlock(int index)
introduce a basic block boundary immediately after instruction number 'index' if it is not followed by pi instructions, or after the pi instructions otherwise
-
-