public class LetExp extends ScopeExp
Modifier and Type | Field and Description |
---|---|
static int |
IS_BODY_SCOPE |
flags, NEXT_AVAIL_FLAG, noExpressions, type, VALIDATED
compilerKey, compilerXKey, validateApplyKey, validateXApplyKey
nameKey
Constructor and Description |
---|
LetExp() |
Modifier and Type | Method and Description |
---|---|
void |
apply(CallContext ctx)
Evaluate the expression.
|
protected Type |
calculateType() |
void |
compile(Compilation comp,
Target target) |
protected java.lang.Object |
evalVariable(Declaration decl,
CallContext ctx) |
Expression |
getBody() |
protected boolean |
mustCompile() |
void |
print(gnu.kawa.io.OutPort out) |
void |
print(gnu.kawa.io.OutPort out,
java.lang.String startTag,
java.lang.String endTag) |
void |
setBody(Expression body) |
protected <R,D> R |
visit(ExpVisitor<R,D> visitor,
D d) |
protected <R,D> void |
visitChildren(ExpVisitor<R,D> visitor,
D d) |
<R,D> void |
visitInitializers(ExpVisitor<R,D> visitor,
D d) |
add, add, addDeclaration, addDeclaration, addDeclaration, clearCallList, countDecls, currentLambda, currentModule, duplicateDeclarationError, firstDecl, getDefine, getNoDefine, getOuter, getVarScope, isClassGenerated, lookup, lookup, nestedIn, nesting, popScope, remove, remove, replaceFollowing, setIndexes, setOuter, topLevel, toString
apply0, checkLiteralKeyword, compile, compile, compileButFirst, compileWithPosition, compileWithPosition, deepCopy, deepCopy, deepCopy, deepCopy, eval, eval, getColumnNumber, getFileName, getFlag, getFlags, getLineNumber, getPublicId, getSystemId, getType, getTypeRaw, isSingleValue, isStableSourceLocation, makeWhile, match0, maybeSetLine, neverReturns, print, printLineColumn, setFile, setFlag, setFlag, setLine, setLine, setLine, setLine, setLocation, setType, side_effects, validateApply, valueIfConstant
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
getName, getProperty, getSymbol, removeProperty, setName, setProperty, setProperty, setSymbol
public static final int IS_BODY_SCOPE
public Expression getBody()
public void setBody(Expression body)
protected boolean mustCompile()
mustCompile
in class Expression
protected java.lang.Object evalVariable(Declaration decl, CallContext ctx) throws java.lang.Throwable
java.lang.Throwable
public void apply(CallContext ctx) throws java.lang.Throwable
Expression
apply
in class Expression
java.lang.Throwable
public void compile(Compilation comp, Target target)
compile
in class Expression
protected final Type calculateType()
calculateType
in class Expression
protected <R,D> R visit(ExpVisitor<R,D> visitor, D d)
public <R,D> void visitInitializers(ExpVisitor<R,D> visitor, D d)
protected <R,D> void visitChildren(ExpVisitor<R,D> visitor, D d)
visitChildren
in class Expression
public void print(gnu.kawa.io.OutPort out)
print
in class Expression
public void print(gnu.kawa.io.OutPort out, java.lang.String startTag, java.lang.String endTag)