Add LuaValue.load() function for library initialization. Change unit tests to use JavaBytecodeCompiler for lua->Java conversion.
This commit is contained in:
@@ -181,6 +181,7 @@ public class LuaValue extends Varargs {
|
||||
public void presize( int i) { unimplemented("presize"); }
|
||||
public Varargs next(LuaValue index) { unimplemented("next"); return null; }
|
||||
public Varargs inext(LuaValue index) { unimplemented("inext"); return null; }
|
||||
public LuaValue load(LuaValue library) { library.setfenv(this); return library.call(); }
|
||||
|
||||
// varargs references
|
||||
public LuaValue arg(int index) { return index==1? this: NIL; }
|
||||
|
||||
@@ -401,7 +401,5 @@ public class PackageLib extends OneArgFunction {
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,11 +23,6 @@ package org.luaj.vm2.lib;
|
||||
|
||||
import org.luaj.vm2.LuaTable;
|
||||
import org.luaj.vm2.lib.jme.JmeIoLib;
|
||||
import org.luaj.vm2.lib.jse.JseBaseLib;
|
||||
import org.luaj.vm2.lib.jse.JseIoLib;
|
||||
import org.luaj.vm2.lib.jse.JseMathLib;
|
||||
import org.luaj.vm2.lib.jse.JseOsLib;
|
||||
import org.luaj.vm2.lib.jse.LuajavaLib;
|
||||
|
||||
public class JmePlatform {
|
||||
|
||||
@@ -38,23 +33,20 @@ public class JmePlatform {
|
||||
*/
|
||||
public static LuaTable standardGlobals() {
|
||||
LuaTable _G = new LuaTable();
|
||||
init(_G, new BaseLib());
|
||||
init(_G, new PackageLib());
|
||||
init(_G, new TableLib());
|
||||
init(_G, new StringLib());
|
||||
init(_G, new CoroutineLib());
|
||||
init(_G, new JmeIoLib());
|
||||
_G.load(new BaseLib());
|
||||
_G.load(new PackageLib());
|
||||
_G.load(new OsLib());
|
||||
_G.load(new MathLib());
|
||||
_G.load(new TableLib());
|
||||
_G.load(new StringLib());
|
||||
_G.load(new CoroutineLib());
|
||||
_G.load(new JmeIoLib());
|
||||
return _G;
|
||||
}
|
||||
|
||||
public static LuaTable debugGlobals() {
|
||||
LuaTable _G = standardGlobals();
|
||||
init(_G, new DebugLib());
|
||||
_G.load(new DebugLib());
|
||||
return _G;
|
||||
}
|
||||
|
||||
private static void init(LuaTable _G, LibFunction lib) {
|
||||
lib.setfenv(_G);
|
||||
lib.call();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -37,21 +37,16 @@ public class JsePlatform {
|
||||
*/
|
||||
public static LuaTable standardGlobals() {
|
||||
LuaTable _G = new LuaTable();
|
||||
init(_G, new JseBaseLib());
|
||||
init(_G, new PackageLib());
|
||||
init(_G, new TableLib());
|
||||
init(_G, new StringLib());
|
||||
init(_G, new CoroutineLib());
|
||||
init(_G, new DebugLib());
|
||||
init(_G, new JseMathLib());
|
||||
init(_G, new JseIoLib());
|
||||
init(_G, new JseOsLib());
|
||||
init(_G, new LuajavaLib());
|
||||
_G.load(new JseBaseLib());
|
||||
_G.load(new PackageLib());
|
||||
_G.load(new TableLib());
|
||||
_G.load(new StringLib());
|
||||
_G.load(new CoroutineLib());
|
||||
_G.load(new DebugLib());
|
||||
_G.load(new JseMathLib());
|
||||
_G.load(new JseIoLib());
|
||||
_G.load(new JseOsLib());
|
||||
_G.load(new LuajavaLib());
|
||||
return _G;
|
||||
}
|
||||
|
||||
private static void init(LuaTable _G, LibFunction lib) {
|
||||
lib.setfenv(_G);
|
||||
lib.call();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user