update for support of modern JDKs #113

Closed
fabrice-ducos wants to merge 26 commits from fabrice-ducos/master into master
Showing only changes of commit 1aa90eb7fa - Show all commits

View File

@@ -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);