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.ast
Interface CodeRebuilder

All Known Subinterfaces:
  StmtRebuilder

All Known Implementing Classes:
  CodeRebuilder.DepthFirst, StmtRebuilder.DepthFirst

public interface CodeRebuilder

The `CodeVisitor` interface represents a visitor that is more specific than the `ExprVisitor` visitor, in that it contains visit methods for every type of arithmetic and logical operation in the IR.

Nested Class Summary
`static class` | `CodeRebuilder.DepthFirst` The `DepthFirst` class is a base implementation of the `CodeVisitor` interface that visits the tree in depth-first order.

Method Summary
`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)`
`Expr` | `visit(CallExpr e, java.lang.Object env)`
`Expr` | `visit(ConversionExpr e, 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)`
`Expr` | `visit(MapExpr e, java.lang.Object env)`
`Expr` | `visit(VarExpr e, java.lang.Object env)`

Method Detail

### visit

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

### visit

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

### visit

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

### visit

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

### visit

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

### visit

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

### visit

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

### visit

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

### visit

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

### visit

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

### visit

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

### visit

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

### visit

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

### visit

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

### visit

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

### visit

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

### visit

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

### visit

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

### visit

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

### visit

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

### visit

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

### visit

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

### visit

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

### visit

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

### visit

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

### visit

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

### visit

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

### visit

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

### visit

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

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