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
public ModuleMethod(ModuleBody module,
int selector,
Object name,
int numArgs)
ModuleMethod
public ModuleMethod(ModuleBody module,
int selector,
Object name,
int numArgs,
Object argTypes)
apply0Default
public static Object apply0Default(ModuleMethod method)
throws Throwable
apply1
public Object apply1(Object arg1)
throws Throwable
- apply1 in interface ProcedureN
apply1Default
public static Object apply1Default(ModuleMethod method,
Object arg1)
throws Throwable
apply2
public Object apply2(Object arg1,
Object arg2)
throws Throwable
- apply2 in interface ProcedureN
apply2Default
public static Object apply2Default(ModuleMethod method,
Object arg1,
Object arg2)
throws Throwable
apply3
public Object apply3(Object arg1,
Object arg2,
Object arg3)
throws Throwable
- apply3 in interface ProcedureN
apply3Default
public static Object apply3Default(ModuleMethod method,
Object arg1,
Object arg2,
Object arg3)
throws Throwable
apply4
public Object apply4(Object arg1,
Object arg2,
Object arg3,
Object arg4)
throws Throwable
- apply4 in interface ProcedureN
apply4Default
public static Object apply4Default(ModuleMethod method,
Object arg1,
Object arg2,
Object arg3,
Object arg4)
throws Throwable
applyError
public static void applyError()
Helper methods for default ModuleBody actions.
applyN
public Object applyN(Object[] args)
throws Throwable
- applyN in interface MethodProc
applyNDefault
public static Object applyNDefault(ModuleMethod method,
Object[] args)
throws Throwable
resolveParameterTypes
protected void resolveParameterTypes()
Figure out parameter types.
Uses reflection to get method parameter types.
INCOMPLETE - does not handle procedures with optional or rest args.
- resolveParameterTypes in interface MethodProc