| java.lang.Object gnu.mapping.PropertySet gnu.mapping.Procedure gnu.mapping.Procedure0 gnu.expr.Expression gnu.expr.ApplyExp
ApplyExp | public class ApplyExp extends Expression (Code) | | This class is used to represent "combination" or "application".
A function and arguments are evaluated, and then the function applied.
author: Per Bothner |
Method Summary | |
public void | apply(CallContext ctx) | public void | compile(Compilation comp, Target target) | public static void | compile(ApplyExp exp, Compilation comp, Target target) | static void | compile(ApplyExp exp, Compilation comp, Target target, boolean checkInlineable) | public static void | compileToArray(Expression[] args, Compilation comp) | public Expression | getArg(int i) | final public int | getArgCount() | final public Expression[] | getArgs() | final public Expression | getFunction() | final public Object | getFunctionValue() If getFunction() is constant, return its value; otherwise null. | final public gnu.bytecode.Type | getType() | final public gnu.bytecode.Type | getTypeRaw() | final public Expression | inlineIfConstant(Procedure proc, ExpWalker walker) | final public Expression | inlineIfConstant(Procedure proc, SourceMessages messages) Inline this ApplyExp if parameters are constant.
Parameters: proc - the procedure bound to this.func. | final public boolean | isTailCall() | protected boolean | mustCompile() | public void | print(OutPort out) | public void | setArg(int i, Expression arg) | public void | setArgs(Expression[] args) | public void | setFunction(Expression func) | final public void | setTailCall(boolean tailCall) | final public void | setType(gnu.bytecode.Type type) | public String | toString() | protected Expression | walk(ExpWalker walker) | protected void | walkChildren(ExpWalker walker) |
INLINE_IF_CONSTANT | final public static int INLINE_IF_CONSTANT(Code) | | |
TAILCALL | final public static int TAILCALL(Code) | | |
nextCall | public ApplyExp nextCall(Code) | | The next ApplyExp in ((ReferenceExp)func).binding.firstCall list.
|
type | protected Type type(Code) | | Cache for getType().
|
getArgCount | final public int getArgCount()(Code) | | |
getFunctionValue | final public Object getFunctionValue()(Code) | | If getFunction() is constant, return its value; otherwise null.
|
inlineIfConstant | final public Expression inlineIfConstant(Procedure proc, SourceMessages messages)(Code) | | Inline this ApplyExp if parameters are constant.
Parameters: proc - the procedure bound to this.func. 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. |
isTailCall | final public boolean isTailCall()(Code) | | |
mustCompile | protected boolean mustCompile()(Code) | | |
setTailCall | final public void setTailCall(boolean tailCall)(Code) | | |
Methods inherited from gnu.expr.Expression | public void apply(CallContext ctx) throws Throwable(Code)(Java Doc) final public Object apply0() throws Throwable(Code)(Java Doc) abstract public void compile(Compilation comp, Target target)(Code)(Java Doc) final public void compile(Compilation comp, Type type)(Code)(Java Doc) final public void compile(Compilation comp, Declaration lhs)(Code)(Java Doc) public static void compileButFirst(Expression exp, Compilation comp)(Code)(Java Doc) final public void compileNotePosition(Compilation comp, Target target, Expression position)(Code)(Java Doc) final public void compileWithPosition(Compilation comp, Target target)(Code)(Java Doc) final public void compileWithPosition(Compilation comp, Target target, Expression position)(Code)(Java Doc) final public Object eval(CallContext ctx) throws Throwable(Code)(Java Doc) final public Object eval(Environment env) throws Throwable(Code)(Java Doc) final public int getColumnNumber()(Code)(Java Doc) final public String getFileName()(Code)(Java Doc) public boolean getFlag(int flag)(Code)(Java Doc) public int getFlags()(Code)(Java Doc) final public int getLineNumber()(Code)(Java Doc) public String getPublicId()(Code)(Java Doc) public String getSystemId()(Code)(Java Doc) public Type getType()(Code)(Java Doc) public Expression inline(ApplyExp exp, InlineCalls walker, Declaration decl)(Code)(Java Doc) public boolean isStableSourceLocation()(Code)(Java Doc) public static Expression makeWhile(Object cond, Object body, Compilation parser)(Code)(Java Doc) final public int match0(CallContext ctx)(Code)(Java Doc) abstract protected boolean mustCompile()(Code)(Java Doc) final public void print(Consumer out)(Code)(Java Doc) abstract public void print(OutPort ps)(Code)(Java Doc) public void printLineColumn(OutPort out)(Code)(Java Doc) final public void setFile(String filename)(Code)(Java Doc) public void setFlag(boolean setting, int flag)(Code)(Java Doc) public void setFlag(int flag)(Code)(Java Doc) final public Expression setLine(Expression old)(Code)(Java Doc) final public void setLine(int lineno, int colno)(Code)(Java Doc) final public void setLine(int lineno)(Code)(Java Doc) public void setLine(Compilation comp)(Code)(Java Doc) final public void setLocation(SourceLocator location)(Code)(Java Doc) public boolean side_effects()(Code)(Java Doc) public String toString()(Code)(Java Doc) public Object valueIfConstant()(Code)(Java Doc) protected Expression walk(ExpWalker walker)(Code)(Java Doc) protected void walkChildren(ExpWalker walker)(Code)(Java Doc)
|
Methods inherited from gnu.mapping.Procedure | public void apply(CallContext ctx) throws Throwable(Code)(Java Doc) public static void apply(Procedure proc, CallContext ctx) throws Throwable(Code)(Java Doc) abstract public Object apply0() throws Throwable(Code)(Java Doc) abstract public Object apply1(Object arg1) throws Throwable(Code)(Java Doc) abstract public Object apply2(Object arg1, Object arg2) throws Throwable(Code)(Java Doc) abstract public Object apply3(Object arg1, Object arg2, Object arg3) throws Throwable(Code)(Java Doc) abstract public Object apply4(Object arg1, Object arg2, Object arg3, Object arg4) throws Throwable(Code)(Java Doc) abstract public Object applyN(Object[] args) throws Throwable(Code)(Java Doc) public void check0(CallContext ctx)(Code)(Java Doc) public void check1(Object arg1, CallContext ctx)(Code)(Java Doc) public void check2(Object arg1, Object arg2, CallContext ctx)(Code)(Java Doc) public void check3(Object arg1, Object arg2, Object arg3, CallContext ctx)(Code)(Java Doc) public void check4(Object arg1, Object arg2, Object arg3, Object arg4, CallContext ctx)(Code)(Java Doc) public static void checkArgCount(Procedure proc, int argCount)(Code)(Java Doc) public void checkN(Object[] args, CallContext ctx)(Code)(Java Doc) public Procedure getSetter()(Code)(Java Doc) public String getSourceLocation()(Code)(Java Doc) public int match0(CallContext ctx)(Code)(Java Doc) public int match1(Object arg1, CallContext ctx)(Code)(Java Doc) public int match2(Object arg1, Object arg2, CallContext ctx)(Code)(Java Doc) public int match3(Object arg1, Object arg2, Object arg3, CallContext ctx)(Code)(Java Doc) public int match4(Object arg1, Object arg2, Object arg3, Object arg4, CallContext ctx)(Code)(Java Doc) public int matchN(Object[] args, CallContext ctx)(Code)(Java Doc) final public int maxArgs()(Code)(Java Doc) final public int minArgs()(Code)(Java Doc) public int numArgs()(Code)(Java Doc) public void set0(Object result) throws Throwable(Code)(Java Doc) public void set1(Object arg1, Object value) throws Throwable(Code)(Java Doc) public void setN(Object[] args) throws Throwable(Code)(Java Doc) public void setSetter(Procedure setter)(Code)(Java Doc) public void setSourceLocation(String file, int line)(Code)(Java Doc) public String toString()(Code)(Java Doc)
|
|
|