gnu.mapping
Class Procedure
java.lang.Object
|
+--gnu.mapping.Procedure
- Direct Known Subclasses:
- AutoloadProcedure, Procedure0, Procedure0or1, Procedure1, Procedure1or2, Procedure2, Procedure3, Procedure4, ProcedureN
- public abstract class Procedure
- extends java.lang.Object
- implements Named, Printable
The abstract parent for all Scheme functions.
|
Field Summary |
protected static java.lang.Object[] |
noArgs
|
protected java.lang.String |
sym_name
|
|
Method Summary |
void |
apply(CallStack stack)
Call this Procedure using the explicit-CallStack-convention. |
abstract java.lang.Object |
apply0()
|
abstract java.lang.Object |
apply1(java.lang.Object arg1)
|
abstract java.lang.Object |
apply2(java.lang.Object arg1,
java.lang.Object arg2)
|
abstract java.lang.Object |
apply3(java.lang.Object arg1,
java.lang.Object arg2,
java.lang.Object arg3)
|
abstract java.lang.Object |
apply4(java.lang.Object arg1,
java.lang.Object arg2,
java.lang.Object arg3,
java.lang.Object arg4)
|
abstract java.lang.Object |
applyN(java.lang.Object[] args)
|
static void |
checkArgCount(Procedure proc,
int argCount)
Check that the number of arguments in a call is valid. |
java.lang.String |
getName()
|
Procedure |
getSetter()
|
int |
maxArgs()
Maximum number of arguments allowed, or -1 for unlimited. |
int |
minArgs()
Minimum number of arguments required. |
java.lang.String |
name()
Deprecated. |
int |
numArgs()
Return minArgs()|(maxArgs<<12). |
void |
print(java.io.PrintWriter ps)
|
void |
set0(java.lang.Object result)
If HasSetter, the Procedure is called in the LHS of an assignment. |
void |
set1(java.lang.Object result,
java.lang.Object arg1)
|
void |
setN(java.lang.Object[] args)
|
void |
setName(java.lang.String name)
|
| Methods inherited from class java.lang.Object |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait |
noArgs
protected static java.lang.Object[] noArgs
sym_name
protected java.lang.String sym_name
Procedure
public Procedure()
Procedure
public Procedure(java.lang.String n)
getName
public java.lang.String getName()
- Specified by:
- getName in interface Named
name
public final java.lang.String name()
- Deprecated.
setName
public final void setName(java.lang.String name)
- Specified by:
- setName in interface Named
applyN
public abstract java.lang.Object applyN(java.lang.Object[] args)
apply0
public abstract java.lang.Object apply0()
apply1
public abstract java.lang.Object apply1(java.lang.Object arg1)
apply2
public abstract java.lang.Object apply2(java.lang.Object arg1,
java.lang.Object arg2)
apply3
public abstract java.lang.Object apply3(java.lang.Object arg1,
java.lang.Object arg2,
java.lang.Object arg3)
apply4
public abstract java.lang.Object apply4(java.lang.Object arg1,
java.lang.Object arg2,
java.lang.Object arg3,
java.lang.Object arg4)
minArgs
public final int minArgs()
- Minimum number of arguments required.
maxArgs
public final int maxArgs()
- Maximum number of arguments allowed, or -1 for unlimited.
checkArgCount
public static void checkArgCount(Procedure proc,
int argCount)
- Check that the number of arguments in a call is valid.
- Parameters:
proc - the Procedure being calledargCount - the number of arguments in the call- Returns:
- nothing, if the number of arguments is ok
- Throws:
- WrongArguments - there are too many or too
few actual arguments
numArgs
public int numArgs()
- Return minArgs()|(maxArgs<<12).
apply
public void apply(CallStack stack)
- Call this Procedure using the explicit-CallStack-convention.
The input arguments are (by default) in stack.args;
the result is (by default) left in stack.value.
getSetter
public Procedure getSetter()
set0
public void set0(java.lang.Object result)
- If HasSetter, the Procedure is called in the LHS of an assignment.
set1
public void set1(java.lang.Object result,
java.lang.Object arg1)
setN
public void setN(java.lang.Object[] args)
print
public void print(java.io.PrintWriter ps)
- Specified by:
- print in interface Printable