orc.ast.oil.expression.argument
Class Argument

java.lang.Object
  extended by orc.ast.oil.expression.Expression
      extended by orc.ast.oil.expression.argument.Argument
Direct Known Subclasses:
Constant, Field, Site, Variable

public abstract class Argument
extends Expression


Constructor Summary
Argument()
           
 
Method Summary
 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.
static java.lang.String asField(java.util.List<Argument> args)
           
 void enter(Token t)
           
abstract  boolean equals(java.lang.Object obj)
           
abstract  int hashCode()
           
abstract  Argument marshal()
           
 void populateContinuations()
           
abstract  java.lang.Object resolve(Env<java.lang.Object> env)
           
 
Methods inherited from class orc.ast.oil.expression.Expression
accept, freeVars, getPublishContinuation, leave, marshalAll, setPublishContinuation, typecheck, typesynth
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Argument

public Argument()
Method Detail

resolve

public abstract java.lang.Object resolve(Env<java.lang.Object> env)

hashCode

public abstract int hashCode()
Specified by:
hashCode in class Expression

equals

public abstract boolean equals(java.lang.Object obj)
Specified by:
equals in class Expression

marshal

public abstract Argument marshal()
                          throws CompilationException
Specified by:
marshal in class Expression
Throws:
CompilationException

asField

public static java.lang.String asField(java.util.List<Argument> args)

addIndices

public void addIndices(java.util.Set<java.lang.Integer> indices,
                       int depth)
Description copied from class: Expression
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 Expression
Parameters:
indices - The index set accumulator.
depth - The minimum index for a free variable.

populateContinuations

public void populateContinuations()
Specified by:
populateContinuations in class Expression

enter

public void enter(Token t)
Specified by:
enter in class Expression