update for support of modern JDKs #113
@@ -75,51 +75,51 @@ public class CoroutineLib extends TwoArgFunction {
|
|||||||
public LuaValue call(LuaValue modname, LuaValue env) {
|
public LuaValue call(LuaValue modname, LuaValue env) {
|
||||||
globals = env.checkglobals();
|
globals = env.checkglobals();
|
||||||
LuaTable coroutine = new LuaTable();
|
LuaTable coroutine = new LuaTable();
|
||||||
coroutine.set("create", new create());
|
coroutine.set("create", new Create());
|
||||||
coroutine.set("resume", new resume());
|
coroutine.set("resume", new Resume());
|
||||||
coroutine.set("running", new running());
|
coroutine.set("running", new Running());
|
||||||
coroutine.set("status", new status());
|
coroutine.set("status", new Status());
|
||||||
coroutine.set("yield", new yield());
|
coroutine.set("yield", new Yield());
|
||||||
coroutine.set("wrap", new wrap());
|
coroutine.set("wrap", new Wrap());
|
||||||
env.set("coroutine", coroutine);
|
env.set("coroutine", coroutine);
|
||||||
if (!env.get("package").isnil()) env.get("package").get("loaded").set("coroutine", coroutine);
|
if (!env.get("package").isnil()) env.get("package").get("loaded").set("coroutine", coroutine);
|
||||||
return coroutine;
|
return coroutine;
|
||||||
}
|
}
|
||||||
|
|
||||||
final class create extends LibFunction {
|
final class Create extends LibFunction {
|
||||||
public LuaValue call(LuaValue f) {
|
public LuaValue call(LuaValue f) {
|
||||||
return new LuaThread(globals, f.checkfunction());
|
return new LuaThread(globals, f.checkfunction());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static final class resume extends VarArgFunction {
|
static final class Resume extends VarArgFunction {
|
||||||
public Varargs invoke(Varargs args) {
|
public Varargs invoke(Varargs args) {
|
||||||
final LuaThread t = args.checkthread(1);
|
final LuaThread t = args.checkthread(1);
|
||||||
return t.resume( args.subargs(2) );
|
return t.resume( args.subargs(2) );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
final class running extends VarArgFunction {
|
final class Running extends VarArgFunction {
|
||||||
public Varargs invoke(Varargs args) {
|
public Varargs invoke(Varargs args) {
|
||||||
final LuaThread r = globals.running;
|
final LuaThread r = globals.running;
|
||||||
return varargsOf(r, valueOf(r.isMainThread()));
|
return varargsOf(r, valueOf(r.isMainThread()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static final class status extends LibFunction {
|
static final class Status extends LibFunction {
|
||||||
public LuaValue call(LuaValue t) {
|
public LuaValue call(LuaValue t) {
|
||||||
LuaThread lt = t.checkthread();
|
LuaThread lt = t.checkthread();
|
||||||
return valueOf( lt.getStatus() );
|
return valueOf( lt.getStatus() );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
final class yield extends VarArgFunction {
|
final class Yield extends VarArgFunction {
|
||||||
public Varargs invoke(Varargs args) {
|
public Varargs invoke(Varargs args) {
|
||||||
return globals.yield( args );
|
return globals.yield( args );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
final class wrap extends LibFunction {
|
final class Wrap extends LibFunction {
|
||||||
public LuaValue call(LuaValue f) {
|
public LuaValue call(LuaValue f) {
|
||||||
final LuaValue func = f.checkfunction();
|
final LuaValue func = f.checkfunction();
|
||||||
final LuaThread thread = new LuaThread(globals, func);
|
final LuaThread thread = new LuaThread(globals, func);
|
||||||
|
|||||||
Reference in New Issue
Block a user