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 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:
  • Field Details

  • 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

      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)