orc.ast.oil
Class WithLocation
java.lang.Object
orc.ast.oil.Expr
orc.ast.oil.WithLocation
- All Implemented Interfaces:
- Located
public class WithLocation
- extends Expr
- implements Located
Annotate an expression with a source location.
- Author:
- quark
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
expr
public final Expr expr
location
public final SourceLocation location
WithLocation
public WithLocation(Expr expr,
SourceLocation location)
getSourceLocation
public SourceLocation getSourceLocation()
- Specified by:
getSourceLocation
in interface Located
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
toString
public java.lang.String toString()
- Overrides:
toString
in class java.lang.Object
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.