gnu.expr
Class ModuleMethod
java.lang.Object
|
+--gnu.mapping.Procedure
|
+--gnu.mapping.ProcedureN
|
+--gnu.expr.ModuleMethod
- public class ModuleMethod
- extends ProcedureN
Call a specified method in in a ModuleBody.
We use an extra level of indirection, but we save by having
to create fewer classes than in the one-class-per-procedure
scheme, without having to use (slow) reflection.
ModuleMethod is redundant, since it could be replaced by ApplyMethodProc.
However, ModuleMethod uses virtual method calls, while ApplyMethodProc
uses the possibly much slower interface method calls.
|
Method Summary |
java.lang.Object |
apply0()
|
java.lang.Object |
apply1(java.lang.Object arg1)
|
java.lang.Object |
apply2(java.lang.Object arg1,
java.lang.Object arg2)
|
java.lang.Object |
apply3(java.lang.Object arg1,
java.lang.Object arg2,
java.lang.Object arg3)
|
java.lang.Object |
apply4(java.lang.Object arg1,
java.lang.Object arg2,
java.lang.Object arg3,
java.lang.Object arg4)
|
java.lang.Object |
applyN(java.lang.Object[] args)
|
int |
numArgs()
Return minArgs()|(maxArgs<<12). |
| Methods inherited from class gnu.mapping.Procedure |
apply,
checkArgCount,
getName,
getSetter,
maxArgs,
minArgs,
name,
print,
set0,
set1,
setN,
setName |
| Methods inherited from class java.lang.Object |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait |
selector
public final int selector
ModuleMethod
public ModuleMethod(ModuleBody module,
int selector,
java.lang.String name,
int numArgs)
numArgs
public int numArgs()
- Description copied from class: Procedure
- Return minArgs()|(maxArgs<<12).
- Overrides:
- numArgs in class Procedure
apply0
public java.lang.Object apply0()
- Overrides:
- apply0 in class ProcedureN
apply1
public java.lang.Object apply1(java.lang.Object arg1)
- Overrides:
- apply1 in class ProcedureN
apply2
public java.lang.Object apply2(java.lang.Object arg1,
java.lang.Object arg2)
- Overrides:
- apply2 in class ProcedureN
apply3
public java.lang.Object apply3(java.lang.Object arg1,
java.lang.Object arg2,
java.lang.Object arg3)
- Overrides:
- apply3 in class ProcedureN
apply4
public java.lang.Object apply4(java.lang.Object arg1,
java.lang.Object arg2,
java.lang.Object arg3,
java.lang.Object arg4)
- Overrides:
- apply4 in class ProcedureN
applyN
public java.lang.Object applyN(java.lang.Object[] args)
- Overrides:
- applyN in class ProcedureN