orc.ast.oil
Class TypeDecl
java.lang.Object
orc.ast.oil.Expr
orc.ast.oil.TypeDecl
public class TypeDecl
- extends Expr
Bind a type in the given scope.
- Author:
- dkitchin
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
type
public Type type
body
public Expr body
TypeDecl
public TypeDecl(Type type,
Expr body)
accept
public <E> E accept(Visitor<E> visitor)
- Specified by:
accept in class Expr
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.
compile
public Node compile(Node output)
- Description copied from class:
Expr
- Compiles an oil syntax tree into an execution graph.
Every node is compiled relative to an "output" node that represents
the "rest of the program". Thus the tree of compiled nodes is created bottom up.
- Specified by:
compile in class Expr
- Parameters:
output - This is the node to which output (publications) will be directed.
- Returns:
- A new node.
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