Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## avrora.core.isdl.gen
Class ConstantPropagator

    java.lang.Object
      avrora.core.isdl.ast.CodeRebuilder.DepthFirst
          avrora.core.isdl.ast.StmtRebuilder.DepthFirst
              avrora.core.isdl.gen.ConstantPropagator

All Implemented Interfaces:
  CodeRebuilder, StmtRebuilder

public class ConstantPropagator
extends StmtRebuilder.DepthFirst

Nested Class Summary
`class` | `ConstantPropagator.ConstantEnvironment`

Nested classes inherited from class avrora.core.isdl.ast.StmtRebuilder
`StmtRebuilder.DepthFirst`

Field Summary
`protected static Literal.BoolExpr` | `FALSE`
`protected static Literal.IntExpr` | `ONE`
`protected static java.util.HashSet` | `trackedMaps`
`protected static Literal.BoolExpr` | `TRUE`
`protected static Literal.IntExpr` | `ZERO`

Constructor Summary
`ConstantPropagator()`

Method Summary
`ConstantPropagator.ConstantEnvironment` | `createEnvironment()`
`java.util.LinkedList` | `process(java.util.LinkedList stmts)`
`Expr` | `visit(Arith.AddExpr e, java.lang.Object env)`
`Expr` | `visit(Arith.AndExpr e, java.lang.Object env)`
`Expr` | `visit(Arith.CompExpr e, java.lang.Object env)`
`Expr` | `visit(Arith.DivExpr e, java.lang.Object env)`
`Expr` | `visit(Arith.MulExpr e, java.lang.Object env)`
`Expr` | `visit(Arith.NegExpr e, java.lang.Object env)`
`Expr` | `visit(Arith.OrExpr e, java.lang.Object env)`
`Expr` | `visit(Arith.ShiftLeftExpr e, java.lang.Object env)`
`Expr` | `visit(Arith.ShiftRightExpr e, java.lang.Object env)`
`Expr` | `visit(Arith.SubExpr e, java.lang.Object env)`
`Expr` | `visit(Arith.XorExpr e, java.lang.Object env)`
`Expr` | `visit(BitExpr e, java.lang.Object env)`
`Expr` | `visit(BitRangeExpr e, java.lang.Object env)`
`Stmt` | `visit(DeclStmt s, java.lang.Object env)`
`Expr` | `visit(Literal.BoolExpr e, java.lang.Object env)`
`Expr` | `visit(Literal.IntExpr e, java.lang.Object env)`
`Expr` | `visit(Logical.AndExpr e, java.lang.Object env)`
`Expr` | `visit(Logical.EquExpr e, java.lang.Object env)`
`Expr` | `visit(Logical.GreaterEquExpr e, java.lang.Object env)`
`Expr` | `visit(Logical.GreaterExpr e, java.lang.Object env)`
`Expr` | `visit(Logical.LessEquExpr e, java.lang.Object env)`
`Expr` | `visit(Logical.LessExpr e, java.lang.Object env)`
`Expr` | `visit(Logical.NequExpr e, java.lang.Object env)`
`Expr` | `visit(Logical.NotExpr e, java.lang.Object env)`
`Expr` | `visit(Logical.OrExpr e, java.lang.Object env)`
`Expr` | `visit(Logical.XorExpr e, java.lang.Object env)`
`Stmt` | `visit(MapAssignStmt s, java.lang.Object env)`
`Expr` | `visit(MapExpr e, java.lang.Object env)`
`Stmt` | `visit(VarAssignStmt s, java.lang.Object env)`
`Stmt` | `visit(VarBitAssignStmt s, java.lang.Object env)`
`Stmt` | `visit(VarBitRangeAssignStmt s, java.lang.Object env)`
`Expr` | `visit(VarExpr e, java.lang.Object env)`

Methods inherited from class avrora.core.isdl.ast.StmtRebuilder.DepthFirst
`addStmt, visit, visit, visit, visit, visit, visit, visitStmtList, visitStmts`

Methods inherited from class avrora.core.isdl.ast.CodeRebuilder.DepthFirst
`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`

Field Detail

### ZERO

    protected static Literal.IntExpr ZERO

### ONE

    protected static Literal.IntExpr ONE

### TRUE

    protected static Literal.BoolExpr TRUE

### FALSE

    protected static Literal.BoolExpr FALSE

### trackedMaps

    protected static java.util.HashSet trackedMaps

Constructor Detail

### ConstantPropagator

    public ConstantPropagator()

Method Detail

### createEnvironment

    public ConstantPropagator.ConstantEnvironment createEnvironment()

### process

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

### 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 Stmt visit(VarBitRangeAssignStmt s,
                      java.lang.Object env)

  Specified by:
    `visit` in interface `StmtRebuilder`
  Overrides:
    `visit` in class `StmtRebuilder.DepthFirst`

### visit

    public Stmt visit(VarBitAssignStmt s,
                      java.lang.Object env)

  Specified by:
    `visit` in interface `StmtRebuilder`
  Overrides:
    `visit` in class `StmtRebuilder.DepthFirst`

### visit

    public Stmt visit(MapAssignStmt 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`

### visit

    public Expr visit(BitExpr e,
                      java.lang.Object env)

  Specified by:
    `visit` in interface `CodeRebuilder`
  Overrides:
    `visit` in class `CodeRebuilder.DepthFirst`

### visit

    public Expr visit(BitRangeExpr e,
                      java.lang.Object env)

  Specified by:
    `visit` in interface `CodeRebuilder`
  Overrides:
    `visit` in class `CodeRebuilder.DepthFirst`

### visit

    public Expr visit(Arith.AddExpr e,
                      java.lang.Object env)

  Specified by:
    `visit` in interface `CodeRebuilder`
  Overrides:
    `visit` in class `CodeRebuilder.DepthFirst`

### visit

    public Expr visit(Arith.AndExpr e,
                      java.lang.Object env)

  Specified by:
    `visit` in interface `CodeRebuilder`
  Overrides:
    `visit` in class `CodeRebuilder.DepthFirst`

### visit

    public Expr visit(Arith.CompExpr e,
                      java.lang.Object env)

  Specified by:
    `visit` in interface `CodeRebuilder`
  Overrides:
    `visit` in class `CodeRebuilder.DepthFirst`

### visit

    public Expr visit(Arith.DivExpr e,
                      java.lang.Object env)

  Specified by:
    `visit` in interface `CodeRebuilder`
  Overrides:
    `visit` in class `CodeRebuilder.DepthFirst`

### visit

    public Expr visit(Arith.MulExpr e,
                      java.lang.Object env)

  Specified by:
    `visit` in interface `CodeRebuilder`
  Overrides:
    `visit` in class `CodeRebuilder.DepthFirst`

### visit

    public Expr visit(Arith.NegExpr e,
                      java.lang.Object env)

  Specified by:
    `visit` in interface `CodeRebuilder`
  Overrides:
    `visit` in class `CodeRebuilder.DepthFirst`

### visit

    public Expr visit(Arith.OrExpr e,
                      java.lang.Object env)

  Specified by:
    `visit` in interface `CodeRebuilder`
  Overrides:
    `visit` in class `CodeRebuilder.DepthFirst`

### visit

    public Expr visit(Arith.ShiftLeftExpr e,
                      java.lang.Object env)

  Specified by:
    `visit` in interface `CodeRebuilder`
  Overrides:
    `visit` in class `CodeRebuilder.DepthFirst`

### visit

    public Expr visit(Arith.ShiftRightExpr e,
                      java.lang.Object env)

  Specified by:
    `visit` in interface `CodeRebuilder`
  Overrides:
    `visit` in class `CodeRebuilder.DepthFirst`

### visit

    public Expr visit(Arith.SubExpr e,
                      java.lang.Object env)

  Specified by:
    `visit` in interface `CodeRebuilder`
  Overrides:
    `visit` in class `CodeRebuilder.DepthFirst`

### visit

    public Expr visit(Arith.XorExpr e,
                      java.lang.Object env)

  Specified by:
    `visit` in interface `CodeRebuilder`
  Overrides:
    `visit` in class `CodeRebuilder.DepthFirst`

### visit

    public Expr visit(Literal.BoolExpr e,
                      java.lang.Object env)

  Specified by:
    `visit` in interface `CodeRebuilder`
  Overrides:
    `visit` in class `CodeRebuilder.DepthFirst`

### visit

    public Expr visit(Literal.IntExpr e,
                      java.lang.Object env)

  Specified by:
    `visit` in interface `CodeRebuilder`
  Overrides:
    `visit` in class `CodeRebuilder.DepthFirst`

### visit

    public Expr visit(Logical.AndExpr e,
                      java.lang.Object env)

  Specified by:
    `visit` in interface `CodeRebuilder`
  Overrides:
    `visit` in class `CodeRebuilder.DepthFirst`

### visit

    public Expr visit(Logical.EquExpr e,
                      java.lang.Object env)

  Specified by:
    `visit` in interface `CodeRebuilder`
  Overrides:
    `visit` in class `CodeRebuilder.DepthFirst`

### visit

    public Expr visit(Logical.GreaterEquExpr e,
                      java.lang.Object env)

  Specified by:
    `visit` in interface `CodeRebuilder`
  Overrides:
    `visit` in class `CodeRebuilder.DepthFirst`

### visit

    public Expr visit(Logical.GreaterExpr e,
                      java.lang.Object env)

  Specified by:
    `visit` in interface `CodeRebuilder`
  Overrides:
    `visit` in class `CodeRebuilder.DepthFirst`

### visit

    public Expr visit(Logical.LessEquExpr e,
                      java.lang.Object env)

  Specified by:
    `visit` in interface `CodeRebuilder`
  Overrides:
    `visit` in class `CodeRebuilder.DepthFirst`

### visit

    public Expr visit(Logical.LessExpr e,
                      java.lang.Object env)

  Specified by:
    `visit` in interface `CodeRebuilder`
  Overrides:
    `visit` in class `CodeRebuilder.DepthFirst`

### visit

    public Expr visit(Logical.NequExpr e,
                      java.lang.Object env)

  Specified by:
    `visit` in interface `CodeRebuilder`
  Overrides:
    `visit` in class `CodeRebuilder.DepthFirst`

### visit

    public Expr visit(Logical.NotExpr e,
                      java.lang.Object env)

  Specified by:
    `visit` in interface `CodeRebuilder`
  Overrides:
    `visit` in class `CodeRebuilder.DepthFirst`

### visit

    public Expr visit(Logical.OrExpr e,
                      java.lang.Object env)

  Specified by:
    `visit` in interface `CodeRebuilder`
  Overrides:
    `visit` in class `CodeRebuilder.DepthFirst`

### visit

    public Expr visit(Logical.XorExpr e,
                      java.lang.Object env)

  Specified by:
    `visit` in interface `CodeRebuilder`
  Overrides:
    `visit` in class `CodeRebuilder.DepthFirst`

### visit

    public Expr visit(MapExpr e,
                      java.lang.Object env)

  Specified by:
    `visit` in interface `CodeRebuilder`
  Overrides:
    `visit` in class `CodeRebuilder.DepthFirst`

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD