public class LetExp extends ScopeExp
SourceLocator.Simple | Modifier and Type | Field and Description |
|---|---|
static int |
IS_BODY_SCOPE |
applyMethodExpression, flags, NEXT_AVAIL_FLAG, noExpressions, type, VALIDATED applyMethodType, applyToConsumerDefault, applyToConsumerMethod, applyToObjectDefault, applyToObjectMethod, compilerKey, compilerXKey, inlineIfConstantSymbol, 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, lastDecl, lookup, lookup, nestedIn, nesting, popScope, remove, remove, replaceFollowing, setIndexes, setOuter, topLevel, toString applyMethodExpression, checkLiteralKeyword, compile, compile, compileWithPosition, compileWithPosition, deepCopy, deepCopy, deepCopy, deepCopy, eval, eval, getColumnNumber, getEndColumn, getEndLine, getFileName, getFlag, getFlags, getLineNumber, getPublicId, getStartColumn, getStartLine, getSystemId, getType, getTypeRaw, isSingleValue, isStableSourceLocation, makeWhile, maybeSetLine, neverReturns, numArgs, print, printLineColumn, setFile, setFlag, setFlag, setLine, setLine, setLine, setLine, setLine, setLocation, setType, side_effects, validateApply, valueIfConstant apply0, apply1, apply2, apply3, apply4, applyL, applyN, applyToConsumerDefault, applyToObjectDefault, checkArgCount, checkBadCode, getApplyMethod, getApplyToConsumerMethod, getApplyToObjectMethod, getReturnType, getSetter, getSourceLocation, isSideEffectFree, lookupApplyHandle, maxArgs, maxArgs, minArgs, minArgs, set0, set1, setN, setSetter, setSourceLocation getName, getProperty, getSymbol, removeProperty, setName, setProperty, setProperty, setSymbol clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitpublic static final int IS_BODY_SCOPE
public LetExp()
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.Throwablepublic void apply(CallContext ctx) throws java.lang.Throwable
Expression apply in class Expression java.lang.Throwablepublic 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)