harpoon.IR.Tree
Class Translation.Exp

java.lang.Object
  extended by harpoon.IR.Tree.Translation.Exp
Direct Known Subclasses:
Translation.Cx, Translation.Ex, Translation.Nx
Enclosing class:
Translation

public abstract static class Translation.Exp
extends Object

The Translation.Exp class represents an expression that might be used in several different ways: as a value, as a branch condition, or as code to be executed for side-effects only. For each instance of this class, only one of these methods should be called, and it should only be called once.


Constructor Summary
Translation.Exp()
           
 
Method Summary
 Stm unCx(TreeFactory tf, Label iftrue, Label iffalse)
           
protected abstract  Stm unCxImpl(TreeFactory tf, Label iftrue, Label iffalse)
           
 Exp unEx(TreeFactory tf)
           
protected abstract  Exp unExImpl(TreeFactory tf)
           
 Stm unNx(TreeFactory tf)
           
protected abstract  Stm unNxImpl(TreeFactory tf)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Translation.Exp

public Translation.Exp()
Method Detail

unEx

public final Exp unEx(TreeFactory tf)

unExImpl

protected abstract Exp unExImpl(TreeFactory tf)

unNx

public final Stm unNx(TreeFactory tf)

unNxImpl

protected abstract Stm unNxImpl(TreeFactory tf)

unCx

public final Stm unCx(TreeFactory tf,
                      Label iftrue,
                      Label iffalse)

unCxImpl

protected abstract Stm unCxImpl(TreeFactory tf,
                                Label iftrue,
                                Label iffalse)