gnu.expr
Class CatchClause

java.lang.Object
  extended by gnu.mapping.PropertySet
      extended by gnu.mapping.Procedure
          extended by gnu.mapping.Procedure0
              extended by gnu.expr.Expression
                  extended by gnu.expr.ScopeExp
                      extended by gnu.expr.LetExp
                          extended by gnu.expr.CatchClause
All Implemented Interfaces:
Named, Printable, javax.xml.transform.SourceLocator, org.xml.sax.Locator

public class CatchClause
extends LetExp

A "catch" clause of a "try-catch" form.


Field Summary
 
Fields inherited from class gnu.expr.LetExp
body, inits
 
Fields inherited from class gnu.expr.ScopeExp
frameSize, id, outer
 
Fields inherited from class gnu.expr.Expression
flags, NEXT_AVAIL_FLAG, noExpressions, VALIDATED
 
Fields inherited from class gnu.mapping.Procedure
compilerKey, validateApplyKey
 
Fields inherited from class gnu.mapping.PropertySet
nameKey
 
Constructor Summary
CatchClause()
           
CatchClause(LambdaExp lexp)
          "Convert" a LambdaExp to a CatchClause.
CatchClause(java.lang.Object name, ClassType type)
           
 
Method Summary
 void compile(Compilation comp, Target target)
           
protected  java.lang.Object evalVariable(int i, CallContext ctx)
           
 Expression getBody()
           
 CatchClause getNext()
           
protected  boolean mustCompile()
           
 void print(OutPort out)
           
 void setBody(Expression body)
           
 void setNext(CatchClause next)
           
protected
<R,D> void
visitChildren(ExpVisitor<R,D> visitor, D d)
           
 
Methods inherited from class gnu.expr.LetExp
apply, getType, print, visit, visitInitializers
 
Methods inherited from class gnu.expr.ScopeExp
add, add, addDeclaration, addDeclaration, addDeclaration, countDecls, countNonDynamicDecls, currentLambda, currentModule, duplicateDeclarationError, firstDecl, getDefine, getNoDefine, getVarScope, lookup, lookup, nestedIn, nesting, popScope, remove, remove, replaceFollowing, setIndexes, topLevel, toString
 
Methods inherited from class gnu.expr.Expression
apply0, compile, compile, compileButFirst, compileNotePosition, compileWithPosition, compileWithPosition, deepCopy, deepCopy, deepCopy, deepCopy, eval, eval, getColumnNumber, getFileName, getFlag, getFlags, getLineNumber, getPublicId, getSystemId, isSingleValue, isStableSourceLocation, makeWhile, match0, print, printLineColumn, setFile, setFlag, setFlag, setLine, setLine, setLine, setLine, setLocation, side_effects, validateApply, valueIfConstant
 
Methods inherited from class gnu.mapping.Procedure0
apply1, apply2, apply3, apply4, applyN, numArgs
 
Methods inherited from class gnu.mapping.Procedure
apply, check0, check1, check2, check3, check4, checkArgCount, checkN, getReturnType, getSetter, getSourceLocation, isSideEffectFree, match1, match2, match3, match4, matchN, maxArgs, maxArgs, minArgs, minArgs, set0, set1, setN, setSetter, setSourceLocation
 
Methods inherited from class gnu.mapping.PropertySet
getName, getProperty, getSymbol, removeProperty, setName, setProperty, setProperty, setSymbol
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

CatchClause

public CatchClause()

CatchClause

public CatchClause(java.lang.Object name,
                   ClassType type)

CatchClause

public CatchClause(LambdaExp lexp)
"Convert" a LambdaExp to a CatchClause.

Method Detail

getNext

public final CatchClause getNext()

setNext

public final void setNext(CatchClause next)

getBody

public final Expression getBody()
Overrides:
getBody in class LetExp

setBody

public final void setBody(Expression body)
Overrides:
setBody in class LetExp

mustCompile

protected boolean mustCompile()
Overrides:
mustCompile in class LetExp

evalVariable

protected java.lang.Object evalVariable(int i,
                                        CallContext ctx)
                                 throws java.lang.Throwable
Overrides:
evalVariable in class LetExp
Throws:
java.lang.Throwable

compile

public void compile(Compilation comp,
                    Target target)
Overrides:
compile in class LetExp

visitChildren

protected <R,D> void visitChildren(ExpVisitor<R,D> visitor,
                                   D d)
Overrides:
visitChildren in class LetExp

print

public void print(OutPort out)
Overrides:
print in class LetExp