Class TreeVisitor
java.lang.Object
EDU.purdue.cs.bloat.tree.TreeVisitor
- Direct Known Subclasses:
AscendVisitor, CodeGenerator, DescendVisitor, LEGatherer, PrintVisitor, ReplaceTarget, ReplaceVisitor, SideEffectChecker, VerifyCFG
TreeVisitor 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:
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionintbooleanforward()Returns true if the traversal traverses in the forward direction?booleanprune()booleanreverse()voidsetPrune(boolean prune) voidvoidvisitArithExpr(ArithExpr expr) voidvoidvoidvisitBlock(Block block) voidvisitCallExpr(CallExpr expr) voidvoidvoidvisitCastExpr(CastExpr expr) voidvisitCatchExpr(CatchExpr expr) voidvisitCheckExpr(CheckExpr expr) voidvoidvisitDefExpr(DefExpr expr) voidvoidvisitExprStmt(ExprStmt stmt) voidvisitFieldExpr(FieldExpr expr) voidvisitFlowGraph(FlowGraph graph) voidvisitGotoStmt(GotoStmt stmt) voidvisitIfCmpStmt(IfCmpStmt stmt) voidvisitIfStmt(IfStmt stmt) voidvisitIfZeroStmt(IfZeroStmt stmt) voidvisitInitStmt(InitStmt stmt) voidvoidvisitJsrStmt(JsrStmt stmt) voidvisitLabelStmt(LabelStmt stmt) voidvisitLocalExpr(LocalExpr expr) voidvisitMemExpr(MemExpr expr) voidvisitMemRefExpr(MemRefExpr expr) voidvisitMonitorStmt(MonitorStmt stmt) voidvisitNegExpr(NegExpr expr) voidvoidvisitNewExpr(NewExpr expr) voidvoidvoidvoidvisitPhiJoinStmt(PhiJoinStmt stmt) voidvisitPhiStmt(PhiStmt stmt) voidvisitRCExpr(RCExpr expr) voidvisitRetStmt(RetStmt stmt) voidvoidvoidvisitReturnStmt(ReturnStmt stmt) voidvisitSCStmt(SCStmt stmt) voidvisitShiftExpr(ShiftExpr expr) voidvisitSRStmt(SRStmt stmt) voidvisitStackExpr(StackExpr expr) voidvoidvoidvoidvisitStoreExpr(StoreExpr expr) voidvisitSwitchStmt(SwitchStmt stmt) voidvisitThrowStmt(ThrowStmt stmt) voidvoidvisitUCExpr(UCExpr expr) voidvisitVarExpr(VarExpr expr) void
-
Field Details
-
FORWARD
public static final int FORWARD- See Also:
-
REVERSE
public static final int REVERSE- See Also:
-
-
Constructor Details
-
TreeVisitor
public TreeVisitor() -
TreeVisitor
public TreeVisitor(int direction)
-
-
Method Details
-
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
-
visitBlock
-
visitTree
-
visitExprStmt
-
visitIfStmt
-
visitIfCmpStmt
-
visitIfZeroStmt
-
visitInitStmt
-
visitGotoStmt
-
visitLabelStmt
-
visitMonitorStmt
-
visitPhiStmt
-
visitCatchExpr
-
visitDefExpr
-
visitStackManipStmt
-
visitPhiCatchStmt
-
visitPhiJoinStmt
-
visitRetStmt
-
visitReturnExprStmt
-
visitReturnStmt
-
visitAddressStoreStmt
-
visitStoreExpr
-
visitJsrStmt
-
visitSwitchStmt
-
visitThrowStmt
-
visitStmt
-
visitSCStmt
-
visitSRStmt
-
visitArithExpr
-
visitArrayLengthExpr
-
visitMemExpr
-
visitMemRefExpr
-
visitArrayRefExpr
-
visitCallExpr
-
visitCallMethodExpr
-
visitCallStaticExpr
-
visitCastExpr
-
visitConstantExpr
-
visitFieldExpr
-
visitInstanceOfExpr
-
visitLocalExpr
-
visitNegExpr
-
visitNewArrayExpr
-
visitNewExpr
-
visitNewMultiArrayExpr
-
visitCheckExpr
-
visitZeroCheckExpr
-
visitRCExpr
-
visitUCExpr
-
visitReturnAddressExpr
-
visitShiftExpr
-
visitStackExpr
-
visitVarExpr
-
visitStaticFieldExpr
-
visitExpr
-
visitNode
-