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)`
`Expr` | `visit(Arith.AndExpr e)`
`Expr` | `visit(Arith.CompExpr e)`
`Expr` | `visit(Arith.DivExpr e)`
`Expr` | `visit(Arith.MulExpr e)`
`Expr` | `visit(Arith.NegExpr e)`
`Expr` | `visit(Arith.OrExpr e)`
`Expr` | `visit(Arith.ShiftLeftExpr e)`
`Expr` | `visit(Arith.ShiftRightExpr e)`
`Expr` | `visit(Arith.SubExpr e)`
`Expr` | `visit(Arith.XorExpr e)`
`Expr` | `visit(BitExpr e)`
`Expr` | `visit(BitRangeExpr e)`
`Expr` | `visit(CallExpr e)`
`Expr` | `visit(Literal.BoolExpr e)`
`Expr` | `visit(Literal.IntExpr e)`
`Expr` | `visit(Logical.AndExpr e)`
`Expr` | `visit(Logical.EquExpr e)`
`Expr` | `visit(Logical.GreaterEquExpr e)`
`Expr` | `visit(Logical.GreaterExpr e)`
`Expr` | `visit(Logical.LessEquExpr e)`
`Expr` | `visit(Logical.LessExpr e)`
`Expr` | `visit(Logical.NequExpr e)`
`Expr` | `visit(Logical.NotExpr e)`
`Expr` | `visit(Logical.OrExpr e)`
`Expr` | `visit(Logical.XorExpr e)`
`Expr` | `visit(MapExpr e)`
`Expr` | `visit(VarExpr e)`

Method Detail

### visit

    public Expr visit(Arith.AddExpr e)

### visit

    public Expr visit(Arith.AndExpr e)

### visit

    public Expr visit(Arith.CompExpr e)

### visit

    public Expr visit(Arith.DivExpr e)

### visit

    public Expr visit(Arith.MulExpr e)

### visit

    public Expr visit(Arith.NegExpr e)

### visit

    public Expr visit(Arith.OrExpr e)

### visit

    public Expr visit(Arith.ShiftLeftExpr e)

### visit

    public Expr visit(Arith.ShiftRightExpr e)

### visit

    public Expr visit(Arith.SubExpr e)

### visit

    public Expr visit(Arith.XorExpr e)

### visit

    public Expr visit(BitExpr e)

### visit

    public Expr visit(BitRangeExpr e)

### visit

    public Expr visit(CallExpr e)

### visit

    public Expr visit(Literal.BoolExpr e)

### visit

    public Expr visit(Literal.IntExpr e)

### visit

    public Expr visit(Logical.AndExpr e)

### visit

    public Expr visit(Logical.EquExpr e)

### visit

    public Expr visit(Logical.GreaterEquExpr e)

### visit

    public Expr visit(Logical.GreaterExpr e)

### visit

    public Expr visit(Logical.LessEquExpr e)

### visit

    public Expr visit(Logical.LessExpr e)

### visit

    public Expr visit(Logical.NequExpr e)

### visit

    public Expr visit(Logical.NotExpr e)

### visit

    public Expr visit(Logical.OrExpr e)

### visit

    public Expr visit(Logical.XorExpr e)

### visit

    public Expr visit(MapExpr e)

### visit

    public Expr visit(VarExpr e)

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