public class IfExp extends Expression
SourceLocator.Simple
applyMethodExpression, flags, NEXT_AVAIL_FLAG, noExpressions, type, VALIDATED
applyMethodType, applyToConsumerDefault, applyToConsumerMethod, applyToObjectDefault, applyToObjectMethod, compilerKey, compilerXKey, inlineIfConstantSymbol, validateApplyKey, validateXApplyKey
nameKey
Constructor and Description |
---|
IfExp(Expression i,
Expression t,
Expression e) |
Modifier and Type | Method and Description |
---|---|
void |
apply(CallContext ctx)
Evaluate the expression.
|
protected Type |
calculateType() |
void |
compile(Compilation comp,
Target target) |
static void |
compile(Expression test,
Expression then_clause,
Expression else_clause,
Compilation comp,
Target target) |
Expression |
getElseClause() |
protected Language |
getLanguage() |
Expression |
getTest() |
Expression |
getThenClause() |
protected boolean |
mustCompile() |
void |
print(gnu.kawa.io.OutPort out) |
protected <R,D> R |
visit(ExpVisitor<R,D> visitor,
D d) |
protected <R,D> void |
visitChildren(ExpVisitor<R,D> visitor,
D d) |
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, toString, 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
public IfExp(Expression i, Expression t, Expression e)
public Expression getTest()
public Expression getThenClause()
public Expression getElseClause()
protected final Language getLanguage()
protected boolean mustCompile()
mustCompile
in class Expression
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
public static void compile(Expression test, Expression then_clause, Expression else_clause, Compilation comp, Target target)
protected <R,D> R visit(ExpVisitor<R,D> visitor, D d)
visit
in class Expression
protected <R,D> void visitChildren(ExpVisitor<R,D> visitor, D d)
visitChildren
in class Expression
protected Type calculateType()
calculateType
in class Expression
public void print(gnu.kawa.io.OutPort out)
print
in class Expression