public abstract class ModuleBody extends Procedure0 implements RunnableModule
| Modifier and Type | Field and Description |
|---|---|
protected boolean |
runDone |
compilerKey, compilerXKey, validateApplyKey, validateXApplyKeynameKey| Constructor and Description |
|---|
ModuleBody() |
| Modifier and Type | Method and Description |
|---|---|
void |
apply(CallContext ctx)
Call this Procedure using the explicit-CallContext-convention.
|
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) |
static void |
exitDecrement()
Work around an AWT bug, where AWT threads are non-daemon.
|
static void |
exitIncrement()
See exitDecrement.
|
static boolean |
getMainPrintValues()
True if runAsMain should print values (in top-level expressions).
|
int |
match0(ModuleMethod proc,
CallContext ctx) |
int |
match1(ModuleMethod proc,
java.lang.Object arg1,
CallContext ctx) |
int |
match2(ModuleMethod proc,
java.lang.Object arg1,
java.lang.Object arg2,
CallContext ctx) |
int |
match3(ModuleMethod proc,
java.lang.Object arg1,
java.lang.Object arg2,
java.lang.Object arg3,
CallContext ctx) |
int |
match4(ModuleMethod proc,
java.lang.Object arg1,
java.lang.Object arg2,
java.lang.Object arg3,
java.lang.Object arg4,
CallContext ctx) |
int |
matchN(ModuleMethod proc,
java.lang.Object[] args,
CallContext ctx) |
void |
run() |
void |
run(CallContext ctx) |
void |
run(Consumer out) |
void |
runAsMain()
This is invoked by main when ModuleBody is compiled with --main.
|
static void |
runAsMain(RunnableModule module)
This is invoked by main when ModuleBody is compiled with --main.
|
static void |
runCleanup(CallContext ctx,
java.lang.Throwable th,
Consumer save) |
static void |
setMainPrintValues(boolean value) |
apply, check0, check1, check2, check3, check4, checkArgCount, checkN, getReturnType, getSetter, getSourceLocation, isSideEffectFree, match0, match1, match2, match3, match4, matchN, maxArgs, maxArgs, minArgs, minArgs, set0, set1, setN, setSetter, setSourceLocation, toStringgetName, getProperty, getSymbol, removeProperty, setName, setProperty, setProperty, setSymbolpublic void apply(CallContext ctx) throws java.lang.Throwable
Procedurepublic void run(CallContext ctx) throws java.lang.Throwable
run in interface RunnableModulejava.lang.Throwablepublic void run()
public void run(Consumer out)
public static void runCleanup(CallContext ctx, java.lang.Throwable th, Consumer save)
public java.lang.Object apply0()
throws java.lang.Throwable
apply0 in class Procedure0java.lang.Throwablepublic static boolean getMainPrintValues()
public static void setMainPrintValues(boolean value)
public static void exitIncrement()
public static void exitDecrement()
public final void runAsMain()
public static void runAsMain(RunnableModule module)
public java.lang.Object apply0(ModuleMethod method) throws java.lang.Throwable
java.lang.Throwablepublic java.lang.Object apply1(ModuleMethod method, java.lang.Object arg1) throws java.lang.Throwable
java.lang.Throwablepublic java.lang.Object apply2(ModuleMethod method, java.lang.Object arg1, java.lang.Object arg2) throws java.lang.Throwable
java.lang.Throwablepublic java.lang.Object apply3(ModuleMethod method, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3) throws java.lang.Throwable
java.lang.Throwablepublic java.lang.Object apply4(ModuleMethod method, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3, java.lang.Object arg4) throws java.lang.Throwable
java.lang.Throwablepublic java.lang.Object applyN(ModuleMethod method, java.lang.Object[] args) throws java.lang.Throwable
java.lang.Throwablepublic int match0(ModuleMethod proc, CallContext ctx)
public int match1(ModuleMethod proc, java.lang.Object arg1, CallContext ctx)
public int match2(ModuleMethod proc, java.lang.Object arg1, java.lang.Object arg2, CallContext ctx)
public int match3(ModuleMethod proc, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3, CallContext ctx)
public int match4(ModuleMethod proc, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3, java.lang.Object arg4, CallContext ctx)
public int matchN(ModuleMethod proc, java.lang.Object[] args, CallContext ctx)