public class LetExp extends ScopeExp
| Modifier and Type | Field and Description |
|---|---|
Expression |
body |
Expression[] |
inits |
flags, NEXT_AVAIL_FLAG, noExpressions, VALIDATEDcompilerKey, validateApplyKeynameKey| Constructor and Description |
|---|
LetExp(Expression[] i) |
| Modifier and Type | Method and Description |
|---|---|
void |
apply(CallContext ctx)
Evaluate the expression.
|
void |
compile(Compilation comp,
Target target) |
protected java.lang.Object |
evalVariable(int i,
CallContext ctx) |
Expression |
getBody() |
Type |
getType()
Return the Type used to represent the values of this Expression.
|
protected boolean |
mustCompile() |
void |
print(OutPort out) |
void |
print(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, countDecls, countNonDynamicDecls, currentLambda, currentModule, duplicateDeclarationError, firstDecl, getDefine, getNoDefine, getVarScope, lookup, lookup, nestedIn, nesting, popScope, remove, remove, replaceFollowing, setIndexes, topLevel, toStringapply0, 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, 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 Expression[] inits
public Expression body
public LetExp(Expression[] i)
public Expression getBody()
public void setBody(Expression body)
protected boolean mustCompile()
mustCompile in class Expressionprotected java.lang.Object evalVariable(int i,
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 Expressionpublic final Type getType()
ExpressiongetType 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(OutPort out)
print in class Expressionpublic void print(OutPort out, java.lang.String startTag, java.lang.String endTag)