forge.util
Class BreadthFirstVisitor

java.lang.Object
  extended by forge.util.BreadthFirstVisitor
All Implemented Interfaces:
CFGVisitor

public abstract class BreadthFirstVisitor
extends java.lang.Object
implements CFGVisitor

Performs a breadth-first traversal of the call graph and then the statements within the call graph.

Author:
Greg Dennis (gdennis@mit.edu)

Constructor Summary
protected BreadthFirstVisitor()
           
 
Method Summary
protected  void defaultVisit(CFGStmt stmt)
           
 void traverse(ForgeCFG cfg)
          Performs a breadth-first traversal of the cfgs in the call graph, and then of the statements within each cfg.
 void visit(AssignStmt stmt)
          Visits an AssignStmt in the CFG.
 void visit(BranchStmt stmt)
          Visits a BranchStmt in the CFG.
 void visit(CallStmt stmt)
          Visits a CallStmt in the CFG.
 void visit(CreateStmt stmt)
          Visits a CreateStmt in the CFG.
 void visit(ExitStmt stmt)
          Visits a ExitStmt in the CFG.
protected  void visit(ForgeCFG cfg)
           
 void visit(SpecStmt stmt)
          Visits a SpecStmt in the CFG.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BreadthFirstVisitor

protected BreadthFirstVisitor()
Method Detail

traverse

public final void traverse(ForgeCFG cfg)
Performs a breadth-first traversal of the cfgs in the call graph, and then of the statements within each cfg.


visit

protected void visit(ForgeCFG cfg)

defaultVisit

protected void defaultVisit(CFGStmt stmt)

visit

public void visit(AssignStmt stmt)
Description copied from interface: CFGVisitor
Visits an AssignStmt in the CFG.

Specified by:
visit in interface CFGVisitor

visit

public void visit(BranchStmt stmt)
Description copied from interface: CFGVisitor
Visits a BranchStmt in the CFG.

Specified by:
visit in interface CFGVisitor

visit

public void visit(CallStmt stmt)
Description copied from interface: CFGVisitor
Visits a CallStmt in the CFG.

Specified by:
visit in interface CFGVisitor

visit

public void visit(CreateStmt stmt)
Description copied from interface: CFGVisitor
Visits a CreateStmt in the CFG.

Specified by:
visit in interface CFGVisitor

visit

public void visit(ExitStmt stmt)
Description copied from interface: CFGVisitor
Visits a ExitStmt in the CFG.

Specified by:
visit in interface CFGVisitor

visit

public void visit(SpecStmt stmt)
Description copied from interface: CFGVisitor
Visits a SpecStmt in the CFG.

Specified by:
visit in interface CFGVisitor