Fix build errors for j2me. #32

This commit is contained in:
Enyby
2019-03-09 17:38:32 +02:00
parent e70eb5edc2
commit 6694c375c9
4 changed files with 53 additions and 42 deletions

View File

@@ -11,13 +11,13 @@ import org.luaj.vm2.lib.Bit32Lib;
import org.luaj.vm2.lib.CoroutineLib; import org.luaj.vm2.lib.CoroutineLib;
import org.luaj.vm2.lib.PackageLib; import org.luaj.vm2.lib.PackageLib;
import org.luaj.vm2.lib.ResourceFinder; import org.luaj.vm2.lib.ResourceFinder;
import org.luaj.vm2.lib.StringLib;
import org.luaj.vm2.lib.TableLib; import org.luaj.vm2.lib.TableLib;
import org.luaj.vm2.lib.jse.CoerceJavaToLua; import org.luaj.vm2.lib.jse.CoerceJavaToLua;
import org.luaj.vm2.lib.jse.JseBaseLib; import org.luaj.vm2.lib.jse.JseBaseLib;
import org.luaj.vm2.lib.jse.JseIoLib; import org.luaj.vm2.lib.jse.JseIoLib;
import org.luaj.vm2.lib.jse.JseMathLib; import org.luaj.vm2.lib.jse.JseMathLib;
import org.luaj.vm2.lib.jse.JseOsLib; import org.luaj.vm2.lib.jse.JseOsLib;
import org.luaj.vm2.lib.jse.JseStringLib;
import org.luaj.vm2.lib.jse.LuajavaLib; import org.luaj.vm2.lib.jse.LuajavaLib;
/** /**
@@ -76,7 +76,7 @@ public class SampleApplet extends Applet implements ResourceFinder {
globals.load(new PackageLib()); globals.load(new PackageLib());
globals.load(new Bit32Lib()); globals.load(new Bit32Lib());
globals.load(new TableLib()); globals.load(new TableLib());
globals.load(new StringLib()); globals.load(new JseStringLib());
globals.load(new CoroutineLib()); globals.load(new CoroutineLib());
globals.load(new JseMathLib()); globals.load(new JseMathLib());
globals.load(new JseIoLib()); globals.load(new JseIoLib());

View File

@@ -1,7 +1,21 @@
import org.luaj.vm2.*; import org.luaj.vm2.Globals;
import org.luaj.vm2.LoadState;
import org.luaj.vm2.LuaBoolean;
import org.luaj.vm2.LuaString;
import org.luaj.vm2.LuaTable;
import org.luaj.vm2.LuaThread;
import org.luaj.vm2.LuaValue;
import org.luaj.vm2.Varargs;
import org.luaj.vm2.compiler.LuaC; import org.luaj.vm2.compiler.LuaC;
import org.luaj.vm2.lib.*; import org.luaj.vm2.lib.Bit32Lib;
import org.luaj.vm2.lib.jse.*; import org.luaj.vm2.lib.DebugLib;
import org.luaj.vm2.lib.PackageLib;
import org.luaj.vm2.lib.TableLib;
import org.luaj.vm2.lib.TwoArgFunction;
import org.luaj.vm2.lib.ZeroArgFunction;
import org.luaj.vm2.lib.jse.JseBaseLib;
import org.luaj.vm2.lib.jse.JseMathLib;
import org.luaj.vm2.lib.jse.JseStringLib;
/** Simple program that illustrates basic sand-boxing of client scripts /** Simple program that illustrates basic sand-boxing of client scripts
* in a server environment. * in a server environment.
@@ -29,7 +43,7 @@ public class SampleSandboxed {
server_globals = new Globals(); server_globals = new Globals();
server_globals.load(new JseBaseLib()); server_globals.load(new JseBaseLib());
server_globals.load(new PackageLib()); server_globals.load(new PackageLib());
server_globals.load(new StringLib()); server_globals.load(new JseStringLib());
// To load scripts, we occasionally need a math library in addition to compiler support. // To load scripts, we occasionally need a math library in addition to compiler support.
// To limit scripts using the debug library, they must be closures, so we only install LuaC. // To limit scripts using the debug library, they must be closures, so we only install LuaC.
@@ -82,7 +96,7 @@ public class SampleSandboxed {
user_globals.load(new PackageLib()); user_globals.load(new PackageLib());
user_globals.load(new Bit32Lib()); user_globals.load(new Bit32Lib());
user_globals.load(new TableLib()); user_globals.load(new TableLib());
user_globals.load(new StringLib()); user_globals.load(new JseStringLib());
user_globals.load(new JseMathLib()); user_globals.load(new JseMathLib());
// This library is dangerous as it gives unfettered access to the // This library is dangerous as it gives unfettered access to the

View File

@@ -49,7 +49,7 @@ import org.luaj.vm2.compiler.DumpState;
* Globals globals = new Globals(); * Globals globals = new Globals();
* globals.load(new JseBaseLib()); * globals.load(new JseBaseLib());
* globals.load(new PackageLib()); * globals.load(new PackageLib());
* globals.load(new StringLib()); * globals.load(new JseStringLib());
* System.out.println( globals.get("string").get("upper").call( LuaValue.valueOf("abcde") ) ); * System.out.println( globals.get("string").get("upper").call( LuaValue.valueOf("abcde") ) );
* } </pre> * } </pre>
* <p> * <p>
@@ -230,7 +230,7 @@ public class StringLib extends TwoArgFunction {
* This function does not accept string values containing embedded zeros, * This function does not accept string values containing embedded zeros,
* except as arguments to the q option. * except as arguments to the q option.
*/ */
static final class format extends VarArgFunction { final class format extends VarArgFunction {
public Varargs invoke(Varargs args) { public Varargs invoke(Varargs args) {
LuaString fmt = args.checkstring( 1 ); LuaString fmt = args.checkstring( 1 );
final int n = fmt.length(); final int n = fmt.length();
@@ -330,7 +330,7 @@ public class StringLib extends TwoArgFunction {
private static final String FLAGS = "-+ #0"; private static final String FLAGS = "-+ #0";
static class FormatDesc { class FormatDesc {
private boolean leftAdjust; private boolean leftAdjust;
private boolean zeroPad; private boolean zeroPad;
@@ -470,13 +470,7 @@ public class StringLib extends TwoArgFunction {
} }
public void format(Buffer buf, double x) { public void format(Buffer buf, double x) {
String out; buf.append( StringLib.this.format(src, x) );
try {
out = String.format(src, x);
} catch (Throwable e) {
out = String.valueOf( x );
}
buf.append( out );
} }
public void format(Buffer buf, LuaString s) { public void format(Buffer buf, LuaString s) {
@@ -486,13 +480,17 @@ public class StringLib extends TwoArgFunction {
buf.append(s); buf.append(s);
} }
public static final void pad(Buffer buf, char c, int n) { public final void pad(Buffer buf, char c, int n) {
byte b = (byte)c; byte b = (byte)c;
while ( n-- > 0 ) while ( n-- > 0 )
buf.append(b); buf.append(b);
} }
} }
protected String format(String src, double x) {
return String.valueOf(x);
}
/** /**
* string.gmatch (s, pattern) * string.gmatch (s, pattern)
* *

View File

@@ -23,7 +23,6 @@ package org.luaj.vm2.lib.jse;
import org.luaj.vm2.Globals; import org.luaj.vm2.Globals;
import org.luaj.vm2.LoadState; import org.luaj.vm2.LoadState;
import org.luaj.vm2.LuaThread;
import org.luaj.vm2.LuaValue; import org.luaj.vm2.LuaValue;
import org.luaj.vm2.Varargs; import org.luaj.vm2.Varargs;
import org.luaj.vm2.compiler.LuaC; import org.luaj.vm2.compiler.LuaC;
@@ -98,7 +97,7 @@ public class JsePlatform {
globals.load(new PackageLib()); globals.load(new PackageLib());
globals.load(new Bit32Lib()); globals.load(new Bit32Lib());
globals.load(new TableLib()); globals.load(new TableLib());
globals.load(new StringLib()); globals.load(new JseStringLib());
globals.load(new CoroutineLib()); globals.load(new CoroutineLib());
globals.load(new JseMathLib()); globals.load(new JseMathLib());
globals.load(new JseIoLib()); globals.load(new JseIoLib());