public class LetExp extends ScopeExp
| Modifier and Type | Field and Description |
|---|---|
static int |
IS_BODY_SCOPE |
flags, NEXT_AVAIL_FLAG, noExpressions, type, VALIDATEDcompilerKey, compilerXKey, validateApplyKey, validateXApplyKeynameKey| 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, toStringapply0, 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, valueIfConstantapply, check0, check1, check2, check3, check4, checkArgCount, checkN, getReturnType, getSetter, getSourceLocation, isSideEffectFree, match1, match2, match3, match4, matchN, maxArgs, maxArgs, minArgs, minArgs, set0, set1, setN, setSetter, setSourceLocationgetName, getProperty, getSymbol, removeProperty, setName, setProperty, setProperty, setSymbolpublic static final int IS_BODY_SCOPE
public Expression getBody()
public void setBody(Expression body)
protected boolean mustCompile()
mustCompile in class Expressionprotected java.lang.Object evalVariable(Declaration decl, CallContext ctx) throws java.lang.Throwable
java.lang.Throwablepublic void apply(CallContext ctx) throws java.lang.Throwable
Expressionapply in class Expressionjava.lang.Throwablepublic void compile(Compilation comp, Target target)
compile in class Expressionprotected final Type calculateType()
calculateType in class Expressionprotected <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 Expressionpublic void print(gnu.kawa.io.OutPort out)
print in class Expressionpublic void print(gnu.kawa.io.OutPort out,
java.lang.String startTag,
java.lang.String endTag)