orc.ast.oil
Class Bar

java.lang.Object
  extended by orc.ast.oil.Expr
      extended by orc.ast.oil.Bar

public class Bar
extends Expr


Field Summary
 Expr left
           
 Expr right
           
 
Constructor Summary
Bar(Expr left, Expr right)
           
 
Method Summary
<E> E
accept(Visitor<E> visitor)
           
 void addIndices(java.util.Set<java.lang.Integer> indices, int depth)
          If this expression has any indices which are >= depth, add (index - depth) to the index set accumulator.
 java.lang.String toString()
           
 void typecheck(Type T, Env<Type> ctx, Env<Type> typectx)
           
 Type typesynth(Env<Type> ctx, Env<Type> typectx)
           
 
Methods inherited from class orc.ast.oil.Expr
freeVars
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

left

public Expr left

right

public Expr right
Constructor Detail

Bar

public Bar(Expr left,
           Expr right)
Method Detail

addIndices

public void addIndices(java.util.Set<java.lang.Integer> indices,
                       int depth)
Description copied from class: Expr
If this expression has any indices which are >= depth, add (index - depth) to the index set accumulator. The depth increases each time this method recurses through a binder. The default implementation is to assume the expression has no free variables, and thus do nothing. Expressions which contain variables or subexpressions override this behavior.

Specified by:
addIndices in class Expr
Parameters:
indices - The index set accumulator.
depth - The minimum index for a free variable.

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

accept

public <E> E accept(Visitor<E> visitor)
Specified by:
accept in class Expr

typesynth

public Type typesynth(Env<Type> ctx,
                      Env<Type> typectx)
               throws TypeException
Specified by:
typesynth in class Expr
Throws:
TypeException

typecheck

public void typecheck(Type T,
                      Env<Type> ctx,
                      Env<Type> typectx)
               throws TypeException
Overrides:
typecheck in class Expr
Throws:
TypeException