orc.ast.oil.expression.argument
Class Site

java.lang.Object
  extended by orc.ast.oil.expression.Expression
      extended by orc.ast.oil.expression.argument.Argument
          extended by orc.ast.oil.expression.argument.Site
Direct Known Subclasses:
ResolvedSite

public class Site
extends Argument

Sites, which occur in argument position.

Author:
dkitchin

Field Summary
 Site site
           
 
Constructor Summary
Site(Site site)
           
 
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.
 Argument marshal()
           
 java.lang.Object resolve(Env<java.lang.Object> env)
           
 Site resolveSites(Config config)
           
 java.lang.String toString()
           
 Type typesynth(TypingContext ctx)
           
 
Methods inherited from class orc.ast.oil.expression.argument.Argument
asField
 
Methods inherited from class orc.ast.oil.expression.Expression
freeVars, marshalAll, typecheck
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

site

public Site site
Constructor Detail

Site

public Site(Site site)
Method Detail

resolveSites

public Site resolveSites(Config config)
                  throws SiteResolutionException
Throws:
SiteResolutionException

resolve

public java.lang.Object resolve(Env<java.lang.Object> env)
Specified by:
resolve in class Argument

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 Expression

typesynth

public Type typesynth(TypingContext ctx)
               throws TypeException
Specified by:
typesynth in class Expression
Throws:
TypeException

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.

marshal

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