forge.transform
Class ExpressionReplacer

java.lang.Object
  extended by forge.program.ExpressionVisitor<ForgeExpression>
      extended by forge.transform.ExpressionReplacer

public abstract class ExpressionReplacer
extends ExpressionVisitor<ForgeExpression>

A depth-first visitor that replaces each node in the expression.

Author:
Greg Dennis (gdennis@mit.edu)

Constructor Summary
protected ExpressionReplacer()
           
 
Method Summary
protected  LocalDecls replaceDecls(LocalDecls decls)
           
protected  ForgeExpression visit(BinaryExpression expr)
          Visits a BinaryExpression.
protected  ForgeExpression visit(ConditionalExpression expr)
          Visits a ConditionalExpression.
protected  ForgeExpression visit(ForgeLiteral expr)
          Visits a ForgeConstant.
protected  ForgeExpression visit(ForgeType expr)
          Visits a ForgeType.
protected  ForgeExpression visit(ForgeVariable expr)
          Visits a ForgeVariable.
protected  ForgeExpression visit(OldExpression expr)
          Visits an OldExpression.
protected  ForgeExpression visit(ProjectionExpression expr)
          Visits a ProjectionExpression.
protected  ForgeExpression visit(QuantifyExpression expr)
          Visits a QuantifyExpression.
protected  ForgeExpression visit(UnaryExpression expr)
          Visits a UnaryExpression.
 
Methods inherited from class forge.program.ExpressionVisitor
getCache, isCached, putCache
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ExpressionReplacer

protected ExpressionReplacer()
Method Detail

visit

protected ForgeExpression visit(UnaryExpression expr)
Description copied from class: ExpressionVisitor
Visits a UnaryExpression.

Specified by:
visit in class ExpressionVisitor<ForgeExpression>

visit

protected ForgeExpression visit(BinaryExpression expr)
Description copied from class: ExpressionVisitor
Visits a BinaryExpression.

Specified by:
visit in class ExpressionVisitor<ForgeExpression>

visit

protected ForgeExpression visit(ConditionalExpression expr)
Description copied from class: ExpressionVisitor
Visits a ConditionalExpression.

Specified by:
visit in class ExpressionVisitor<ForgeExpression>

visit

protected ForgeExpression visit(ProjectionExpression expr)
Description copied from class: ExpressionVisitor
Visits a ProjectionExpression.

Specified by:
visit in class ExpressionVisitor<ForgeExpression>

visit

protected ForgeExpression visit(QuantifyExpression expr)
Description copied from class: ExpressionVisitor
Visits a QuantifyExpression.

Specified by:
visit in class ExpressionVisitor<ForgeExpression>

visit

protected ForgeExpression visit(OldExpression expr)
Description copied from class: ExpressionVisitor
Visits an OldExpression.

Specified by:
visit in class ExpressionVisitor<ForgeExpression>

visit

protected ForgeExpression visit(ForgeLiteral expr)
Description copied from class: ExpressionVisitor
Visits a ForgeConstant.

Specified by:
visit in class ExpressionVisitor<ForgeExpression>

visit

protected ForgeExpression visit(ForgeType expr)
Description copied from class: ExpressionVisitor
Visits a ForgeType.

Specified by:
visit in class ExpressionVisitor<ForgeExpression>

visit

protected ForgeExpression visit(ForgeVariable expr)
Description copied from class: ExpressionVisitor
Visits a ForgeVariable.

Specified by:
visit in class ExpressionVisitor<ForgeExpression>

replaceDecls

protected LocalDecls replaceDecls(LocalDecls decls)