public abstract class ModuleBody extends Procedure0 implements RunnableModule
Modifier and Type | Field and Description |
---|---|
protected boolean |
runDone |
compilerKey, compilerXKey, validateApplyKey, validateXApplyKey
nameKey
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, toString
getName, getProperty, getSymbol, removeProperty, setName, setProperty, setProperty, setSymbol
public void apply(CallContext ctx) throws java.lang.Throwable
Procedure
public void run(CallContext ctx) throws java.lang.Throwable
run
in interface RunnableModule
java.lang.Throwable
public 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 Procedure0
java.lang.Throwable
public 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.Throwable
public java.lang.Object apply1(ModuleMethod method, java.lang.Object arg1) throws java.lang.Throwable
java.lang.Throwable
public java.lang.Object apply2(ModuleMethod method, java.lang.Object arg1, java.lang.Object arg2) throws java.lang.Throwable
java.lang.Throwable
public java.lang.Object apply3(ModuleMethod method, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3) throws java.lang.Throwable
java.lang.Throwable
public 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.Throwable
public java.lang.Object applyN(ModuleMethod method, java.lang.Object[] args) throws java.lang.Throwable
java.lang.Throwable
public 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)