orc.ast.oil.expression
Class Catch

java.lang.Object
  extended by orc.ast.oil.expression.Expression
      extended by orc.ast.oil.expression.Catch

public class Catch
extends Expression


Field Summary
 Def handler
           
 Expression tryBlock
           
 
Constructor Summary
Catch(Def handler, Expression tryBlock)
           
 
Method Summary
<E,C> E
accept(ContextualVisitor<E,C> cvisitor, C initialContext)
           
<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.
 Expression marshal()
           
 Type typesynth(TypingContext ctx)
           
 
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, toString, wait, wait, wait
 

Field Detail

handler

public Def handler

tryBlock

public Expression tryBlock
Constructor Detail

Catch

public Catch(Def handler,
             Expression tryBlock)
Method Detail

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.

accept

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

accept

public <E,C> E accept(ContextualVisitor<E,C> cvisitor,
                      C initialContext)

marshal

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