orc.ast.oil
Class WithLocation

java.lang.Object
  extended by orc.ast.oil.Expr
      extended by orc.ast.oil.WithLocation
All Implemented Interfaces:
Located

public class WithLocation
extends Expr
implements Located

Annotate an expression with a source location.

Author:
quark

Field Summary
 Expr expr
           
 SourceLocation location
           
 
Constructor Summary
WithLocation(Expr expr, SourceLocation location)
           
 
Method Summary
<E> E
accept(Visitor<E> visitor)
           
 Node compile(Node output)
          Compiles an oil syntax tree into an execution graph.
 SourceLocation getSourceLocation()
           
 java.lang.String toString()
           
 Type typesynth(Env<Type> ctx)
           
 
Methods inherited from class orc.ast.oil.Expr
addIndices, freeVars, typecheck
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

expr

public final Expr expr

location

public final SourceLocation location
Constructor Detail

WithLocation

public WithLocation(Expr expr,
                    SourceLocation location)
Method Detail

getSourceLocation

public SourceLocation getSourceLocation()
Specified by:
getSourceLocation in interface Located

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.

accept

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

typesynth

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

toString

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