avrora.core.isdl.gen
Class DeadCodeEliminator

java.lang.Object
  extended byavrora.core.isdl.ast.CodeRebuilder.DepthFirst
      extended byavrora.core.isdl.ast.StmtRebuilder.DepthFirst
          extended byavrora.core.isdl.gen.DeadCodeEliminator
All Implemented Interfaces:
CodeRebuilder, StmtRebuilder

public class DeadCodeEliminator
extends StmtRebuilder.DepthFirst


Nested Class Summary
protected  class DeadCodeEliminator.DefUseEnvironment
           
 
Nested classes inherited from class avrora.core.isdl.ast.StmtRebuilder
StmtRebuilder.DepthFirst
 
Constructor Summary
DeadCodeEliminator(java.util.Set globals)
           
 
Method Summary
 java.util.LinkedList process(java.util.LinkedList stmts)
           
 Stmt visit(DeclStmt s, java.lang.Object env)
           
 Stmt visit(IfStmt s, java.lang.Object env)
           
 Stmt visit(VarAssignStmt s, java.lang.Object env)
           
 Expr visit(VarExpr e, java.lang.Object env)
           
 java.util.List visitStmtList(java.util.List l, java.lang.Object env)
           
 
Methods inherited from class avrora.core.isdl.ast.StmtRebuilder.DepthFirst
addStmt, visit, visit, visit, visit, visit, visit, visit, visit, visitStmts
 
Methods inherited from class avrora.core.isdl.ast.CodeRebuilder.DepthFirst
visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visitExprList
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface avrora.core.isdl.ast.CodeRebuilder
visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit
 

Constructor Detail

DeadCodeEliminator

public DeadCodeEliminator(java.util.Set globals)
Method Detail

process

public java.util.LinkedList process(java.util.LinkedList stmts)

visitStmtList

public java.util.List visitStmtList(java.util.List l,
                                    java.lang.Object env)
Overrides:
visitStmtList in class StmtRebuilder.DepthFirst

visit

public Stmt visit(IfStmt s,
                  java.lang.Object env)
Specified by:
visit in interface StmtRebuilder
Overrides:
visit in class StmtRebuilder.DepthFirst

visit

public Stmt visit(DeclStmt s,
                  java.lang.Object env)
Specified by:
visit in interface StmtRebuilder
Overrides:
visit in class StmtRebuilder.DepthFirst

visit

public Stmt visit(VarAssignStmt s,
                  java.lang.Object env)
Specified by:
visit in interface StmtRebuilder
Overrides:
visit in class StmtRebuilder.DepthFirst

visit

public Expr visit(VarExpr e,
                  java.lang.Object env)
Specified by:
visit in interface CodeRebuilder
Overrides:
visit in class CodeRebuilder.DepthFirst