Package EDU.purdue.cs.bloat.tree
Class TreeVisitor
- java.lang.Object
-
- EDU.purdue.cs.bloat.tree.TreeVisitor
-
- Direct Known Subclasses:
AscendVisitor,CodeGenerator,DescendVisitor,LEGatherer,PrintVisitor,ReplaceTarget,ReplaceVisitor,SideEffectChecker,VerifyCFG
public abstract class TreeVisitor extends java.lang.ObjectTreeVisitor performs a traversal of a tree. It does so by having a method of every kind of node in the tree. This abstract class performs default operations for each kind of node visited. It must be subclasses to perform a more interesting traversal.- See Also:
Node,Tree,PrintVisitor,ReplaceVisitor
-
-
Constructor Summary
Constructors Constructor Description TreeVisitor()TreeVisitor(int direction)
-
Method Summary
-
-
-
Field Detail
-
FORWARD
public static final int FORWARD
- See Also:
- Constant Field Values
-
REVERSE
public static final int REVERSE
- See Also:
- Constant Field Values
-
-
Method Detail
-
setPrune
public void setPrune(boolean prune)
- Parameters:
prune- Is the tree pruned during traversal?
-
prune
public boolean prune()
-
direction
public int direction()
- Returns:
- The direction in which the tree is traversed.
-
forward
public boolean forward()
Returns true if the traversal traverses in the forward direction?
-
reverse
public boolean reverse()
-
visitFlowGraph
public void visitFlowGraph(FlowGraph graph)
-
visitBlock
public void visitBlock(Block block)
-
visitTree
public void visitTree(Tree tree)
-
visitExprStmt
public void visitExprStmt(ExprStmt stmt)
-
visitIfStmt
public void visitIfStmt(IfStmt stmt)
-
visitIfCmpStmt
public void visitIfCmpStmt(IfCmpStmt stmt)
-
visitIfZeroStmt
public void visitIfZeroStmt(IfZeroStmt stmt)
-
visitInitStmt
public void visitInitStmt(InitStmt stmt)
-
visitGotoStmt
public void visitGotoStmt(GotoStmt stmt)
-
visitLabelStmt
public void visitLabelStmt(LabelStmt stmt)
-
visitMonitorStmt
public void visitMonitorStmt(MonitorStmt stmt)
-
visitPhiStmt
public void visitPhiStmt(PhiStmt stmt)
-
visitCatchExpr
public void visitCatchExpr(CatchExpr expr)
-
visitDefExpr
public void visitDefExpr(DefExpr expr)
-
visitStackManipStmt
public void visitStackManipStmt(StackManipStmt stmt)
-
visitPhiCatchStmt
public void visitPhiCatchStmt(PhiCatchStmt stmt)
-
visitPhiJoinStmt
public void visitPhiJoinStmt(PhiJoinStmt stmt)
-
visitRetStmt
public void visitRetStmt(RetStmt stmt)
-
visitReturnExprStmt
public void visitReturnExprStmt(ReturnExprStmt stmt)
-
visitReturnStmt
public void visitReturnStmt(ReturnStmt stmt)
-
visitAddressStoreStmt
public void visitAddressStoreStmt(AddressStoreStmt stmt)
-
visitStoreExpr
public void visitStoreExpr(StoreExpr expr)
-
visitJsrStmt
public void visitJsrStmt(JsrStmt stmt)
-
visitSwitchStmt
public void visitSwitchStmt(SwitchStmt stmt)
-
visitThrowStmt
public void visitThrowStmt(ThrowStmt stmt)
-
visitStmt
public void visitStmt(Stmt stmt)
-
visitSCStmt
public void visitSCStmt(SCStmt stmt)
-
visitSRStmt
public void visitSRStmt(SRStmt stmt)
-
visitArithExpr
public void visitArithExpr(ArithExpr expr)
-
visitArrayLengthExpr
public void visitArrayLengthExpr(ArrayLengthExpr expr)
-
visitMemExpr
public void visitMemExpr(MemExpr expr)
-
visitMemRefExpr
public void visitMemRefExpr(MemRefExpr expr)
-
visitArrayRefExpr
public void visitArrayRefExpr(ArrayRefExpr expr)
-
visitCallExpr
public void visitCallExpr(CallExpr expr)
-
visitCallMethodExpr
public void visitCallMethodExpr(CallMethodExpr expr)
-
visitCallStaticExpr
public void visitCallStaticExpr(CallStaticExpr expr)
-
visitCastExpr
public void visitCastExpr(CastExpr expr)
-
visitConstantExpr
public void visitConstantExpr(ConstantExpr expr)
-
visitFieldExpr
public void visitFieldExpr(FieldExpr expr)
-
visitInstanceOfExpr
public void visitInstanceOfExpr(InstanceOfExpr expr)
-
visitLocalExpr
public void visitLocalExpr(LocalExpr expr)
-
visitNegExpr
public void visitNegExpr(NegExpr expr)
-
visitNewArrayExpr
public void visitNewArrayExpr(NewArrayExpr expr)
-
visitNewExpr
public void visitNewExpr(NewExpr expr)
-
visitNewMultiArrayExpr
public void visitNewMultiArrayExpr(NewMultiArrayExpr expr)
-
visitCheckExpr
public void visitCheckExpr(CheckExpr expr)
-
visitZeroCheckExpr
public void visitZeroCheckExpr(ZeroCheckExpr expr)
-
visitRCExpr
public void visitRCExpr(RCExpr expr)
-
visitUCExpr
public void visitUCExpr(UCExpr expr)
-
visitReturnAddressExpr
public void visitReturnAddressExpr(ReturnAddressExpr expr)
-
visitShiftExpr
public void visitShiftExpr(ShiftExpr expr)
-
visitStackExpr
public void visitStackExpr(StackExpr expr)
-
visitVarExpr
public void visitVarExpr(VarExpr expr)
-
visitStaticFieldExpr
public void visitStaticFieldExpr(StaticFieldExpr expr)
-
visitExpr
public void visitExpr(Expr expr)
-
visitNode
public void visitNode(Node node)
-
-