| Prev Class | Next Class | Frames | No Frames |
| Summary: Nested | Field | Method | Constr | Detail: Nested | Field | Method | Constr |
java.lang.Objectgnu.mapping.Proceduregnu.mapping.Procedure0gnu.expr.Expressiongnu.expr.ApplyExppublic class ApplyExpextends ExpressionField Summary | |
static int | |
static int | |
ApplyExp |
|
protected Type |
|
Fields inherited from class gnu.expr.Expression | |
NEXT_AVAIL_FLAG, flags, noExpressions | |
Constructor Summary | |
| |
| |
| |
Method Summary | |
void |
|
static void |
|
void |
|
static void |
|
Object |
|
int | |
Expression[] |
|
Expression | |
Object |
|
Type |
|
Expression |
|
Expression |
|
boolean | |
void | |
void |
|
void |
|
void |
|
protected Expression | |
protected void |
|
Methods inherited from class gnu.expr.Expression | |
apply, apply0, compile, compile, compileButFirst, compileNotePosition, compileWithPosition, compileWithPosition, eval, eval, getColumn, getFile, getFlag, getFlags, getLine, getType, makeWhile, match0, print, print, printLineColumn, setFile, setFlag, setFlag, setLine, setLine, setLine, setLine, walk, walkChildren | |
Methods inherited from class gnu.mapping.Procedure0 | |
apply0, apply1, apply2, apply3, apply4, applyN, numArgs | |
Methods inherited from class gnu.mapping.Procedure | |
apply, apply, apply0, apply1, apply2, apply3, apply4, applyN, check0, check1, check2, check3, check4, checkArgCount, checkN, getName, getProperty, getSetter, getSymbol, match0, match1, match2, match3, match4, matchN, maxArgs, minArgs, name, numArgs, removeProperty, set0, set1, setN, setName, setProperty, setProperty, setSetter, setSymbol, toString | |
public static final int INLINE_IF_CONSTANT
- Field Value:
- 2
public static final int TAILCALL
- Field Value:
- 1
public void compile(Compilation comp, Target target)
- Overrides:
- compile in interface Expression
public final int getArgCount()
public final Object getFunctionValue()
If getFunction() is constant, return its value; otherwise null.
public final Expression inlineIfConstant(Procedure proc, SourceMessages messages)
Inline this ApplyExp if parameters are constant.
- Parameters:
proc- the procedure bound to this.func.
- Returns:
- the constant result (as a QuoteExp) if inlining was possible; otherwise this ApplyExp. If applying proc throws an exception, print a warning on walker.messages.
public final boolean isTailCall()
public final void setTailCall(boolean tailCall)
protected void walkChildren(ExpWalker walker)
- Overrides:
- walkChildren in interface Expression