| Modifier and Type | Field and Description |
|---|---|
static int |
BAD_SHORT
"Failure" return value of canUseInc.
|
static int |
DEFINING_FLAG |
static int |
GLOBAL_FLAG |
static int |
HAS_VALUE |
static int |
PROCEDURE |
static int |
SET_IF_UNBOUND |
NEXT_AVAIL_FLAG, PREFER_BINDING2flags, noExpressions, type, VALIDATEDcompilerKey, compilerXKey, validateApplyKey, validateXApplyKeynameKey| Constructor and Description |
|---|
SetExp(Declaration decl,
Expression val) |
SetExp(java.lang.Object symbol,
Expression val) |
| Modifier and Type | Method and Description |
|---|---|
void |
apply(CallContext ctx)
Evaluate the expression.
|
protected Type |
calculateType() |
static int |
canUseInc(Expression rhs,
Declaration target) |
void |
compile(Compilation comp,
Target target) |
boolean |
getHasValue()
True if evaluating the SetExp yields the value of the RHS.
|
Expression |
getNewValue()
Get the Expression for calculating the new ("right-hand") value.
|
boolean |
isDefining() |
boolean |
isFuncDef()
True if this is a functon definition ("defun").
|
boolean |
isSetIfUnbound() |
static SetExp |
makeDefinition(Declaration decl,
Expression val) |
static SetExp |
makeDefinition(java.lang.Object symbol,
Expression val) |
protected boolean |
mustCompile() |
void |
print(gnu.kawa.io.OutPort out) |
void |
setDefining(boolean value) |
void |
setFuncDef(boolean value) |
void |
setHasValue(boolean value) |
void |
setNewValue(Expression newValue) |
void |
setSetIfUnbound(boolean value) |
java.lang.String |
toString() |
protected <R,D> R |
visit(ExpVisitor<R,D> visitor,
D d) |
protected <R,D> void |
visitChildren(ExpVisitor<R,D> visitor,
D d) |
contextDecl, getBinding, getName, getSimpleName, getSymbol, setBinding, setContextDecl, string_nameapply0, checkLiteralKeyword, compile, compile, compileButFirst, compileNotePosition, 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, setSourceLocationgetProperty, removeProperty, setName, setProperty, setProperty, setSymbolpublic static final int DEFINING_FLAG
public static final int GLOBAL_FLAG
public static final int PROCEDURE
public static final int SET_IF_UNBOUND
public static final int HAS_VALUE
public static final int BAD_SHORT
public SetExp(java.lang.Object symbol,
Expression val)
public SetExp(Declaration decl, Expression val)
public static SetExp makeDefinition(java.lang.Object symbol, Expression val)
public static SetExp makeDefinition(Declaration decl, Expression val)
public final Expression getNewValue()
public void setNewValue(Expression newValue)
public final boolean isDefining()
public final void setDefining(boolean value)
public final boolean getHasValue()
public final void setHasValue(boolean value)
public final boolean isFuncDef()
public final void setFuncDef(boolean value)
public final boolean isSetIfUnbound()
public final void setSetIfUnbound(boolean value)
protected boolean mustCompile()
mustCompile in class Expressionpublic void apply(CallContext ctx) throws java.lang.Throwable
Expressionapply in class Expressionjava.lang.Throwablepublic void compile(Compilation comp, Target target)
compile in class Expressionpublic static int canUseInc(Expression rhs, Declaration target)
protected final Type calculateType()
calculateType in class Expressionprotected <R,D> R visit(ExpVisitor<R,D> visitor, D d)
visit in class Expressionprotected <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 java.lang.String toString()
toString in class Expression