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.Object
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:
Node
,
Tree
,
PrintVisitor
,
ReplaceVisitor
Methods inherited from class java.lang.Object |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait |
FORWARD
public static final int FORWARD
REVERSE
public static final int REVERSE
TreeVisitor
public TreeVisitor()
TreeVisitor
public TreeVisitor(int direction)
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)