gnu.expr
Class ModuleBody
java.lang.Object
|
+--gnu.mapping.Procedure
|
+--gnu.mapping.Procedure0
|
+--gnu.expr.ModuleBody
- public abstract class ModuleBody
- extends Procedure0
Abstract class for the dummy top-level function of a module.
This provides the functionality of gnu.mapping.ApplyMethodContainer,
but it is class rather than an interface (thus ModuleMethod can use
faster virtual method calls instead of slower interface calls).
|
Method Summary |
java.lang.Object |
apply0()
|
java.lang.Object |
apply0(ModuleMethod method)
A subclass will typically override this like:
switch (method.selector) {
case 3: return function3();
case 5: return function5();
default: super.apply0(method);
} |
java.lang.Object |
apply1(ModuleMethod method,
java.lang.Object arg1)
|
java.lang.Object |
apply2(ModuleMethod method,
java.lang.Object arg1,
java.lang.Object arg2)
|
java.lang.Object |
apply3(ModuleMethod method,
java.lang.Object arg1,
java.lang.Object arg2,
java.lang.Object arg3)
|
java.lang.Object |
apply4(ModuleMethod method,
java.lang.Object arg1,
java.lang.Object arg2,
java.lang.Object arg3,
java.lang.Object arg4)
|
java.lang.Object |
applyN(ModuleMethod method,
java.lang.Object[] args)
|
abstract java.lang.Object |
run()
|
void |
runAsMain(java.lang.String[] args)
This is invoked by main when ModuleBody is compiled with --main. |
| 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 |
ModuleBody
public ModuleBody()
apply0
public java.lang.Object apply0()
- Overrides:
- apply0 in class Procedure0
run
public abstract java.lang.Object run()
runAsMain
public final void runAsMain(java.lang.String[] args)
- This is invoked by main when ModuleBody is compiled with --main.
apply0
public java.lang.Object apply0(ModuleMethod method)
- A subclass will typically override this like:
switch (method.selector) {
case 3: return function3();
case 5: return function5();
default: super.apply0(method);
}
apply1
public java.lang.Object apply1(ModuleMethod method,
java.lang.Object arg1)
apply2
public java.lang.Object apply2(ModuleMethod method,
java.lang.Object arg1,
java.lang.Object arg2)
apply3
public java.lang.Object apply3(ModuleMethod method,
java.lang.Object arg1,
java.lang.Object arg2,
java.lang.Object arg3)
apply4
public java.lang.Object apply4(ModuleMethod method,
java.lang.Object arg1,
java.lang.Object arg2,
java.lang.Object arg3,
java.lang.Object arg4)
applyN
public java.lang.Object applyN(ModuleMethod method,
java.lang.Object[] args)