Refactor string conversions
This commit is contained in:
@@ -36,7 +36,7 @@ Java Type Coercion Functions,,,,,,,,,,,,
|
|||||||
,toint,int,0,0,0,0,this.v,0,this.v | 0,0,0,0
|
,toint,int,0,0,0,0,this.v,0,this.v | 0,0,0,0
|
||||||
,tolong,long,0,0,0,0,this.v,0,this.v | 0,0,0,0
|
,tolong,long,0,0,0,0,this.v,0,this.v | 0,0,0,0
|
||||||
,toshort,short,0,0,0,0,this.v | 0,0,this.v | 0,0,0,0
|
,toshort,short,0,0,0,0,this.v | 0,0,this.v | 0,0,0,0
|
||||||
,toString,String,"""true""|""false""","""closure: x""","""name""",(str) this.v,(str) this.v,"""nil""",this.v,"""table: x""","""thread: x""","""userdata: x"""
|
,tojstring,String,"""true""|""false""","""closure: x""","""name""",(str) this.v,(str) this.v,"""nil""",this.v,"""table: x""","""thread: x""","""userdata: x"""
|
||||||
,touserdata,Object,null,null,null,null,null,null,null,null,this,this.instance
|
,touserdata,Object,null,null,null,null,null,null,null,null,this,this.instance
|
||||||
|
|
||||||
,,,LuaBoolean,LuaClosure,LuaFunction,LuaDouble,LuaInteger,LuaNil,LuaString,LuaTable,LuaThread,LuaUserdata
|
,,,LuaBoolean,LuaClosure,LuaFunction,LuaDouble,LuaInteger,LuaNil,LuaString,LuaTable,LuaThread,LuaUserdata
|
||||||
@@ -49,7 +49,7 @@ Optional Argument Conversion Functions,,,,,,,,,,,,
|
|||||||
,optinteger,LuaInteger,e,e,e,(int) this,this,defval,this | e,e,e,e
|
,optinteger,LuaInteger,e,e,e,(int) this,this,defval,this | e,e,e,e
|
||||||
,optlong,long,e,e,e,(long) this,this,defval,this | e,e,e,e
|
,optlong,long,e,e,e,(long) this,this,defval,this | e,e,e,e
|
||||||
,optnumber,LuaNumber,e,e,e,this,this,defval,this | e,e,e,e
|
,optnumber,LuaNumber,e,e,e,this,this,defval,this | e,e,e,e
|
||||||
,optString,String,e,e,e,(str) this.v,(str) this.v,defval,this,e,e,e
|
,optjstring,String,e,e,e,(str) this.v,(str) this.v,defval,this,e,e,e
|
||||||
,optstring,LuaString,e,e,e,(str) this.v,(str) this.v,defval,this,e,e,e
|
,optstring,LuaString,e,e,e,(str) this.v,(str) this.v,defval,this,e,e,e
|
||||||
,opttable,LuaTable,e,e,e,e,e,defval,e,this,e,e
|
,opttable,LuaTable,e,e,e,e,e,defval,e,this,e,e
|
||||||
,optthread,LuaThread,e,e,e,e,e,defval,e,e,this,n
|
,optthread,LuaThread,e,e,e,e,e,defval,e,e,this,n
|
||||||
@@ -65,7 +65,7 @@ Required Argument Conversion Functions,,,,,,,,,,,,
|
|||||||
,checkinteger,LuaInteger,e,e,e,e,this,e,e,e,e,e
|
,checkinteger,LuaInteger,e,e,e,e,this,e,e,e,e,e
|
||||||
,checklong,LuaNumber,e,e,e,this | e,this,e,e,e,e,e
|
,checklong,LuaNumber,e,e,e,this | e,this,e,e,e,e,e
|
||||||
,checknumber,LuaNumber,e,e,e,this,this,e,e,e,e,e
|
,checknumber,LuaNumber,e,e,e,this,this,e,e,e,e,e
|
||||||
,checkString,String,e,e,e,(str) this.v,(str) this.v,e,(str) this.v,e,e,e
|
,checkjstring,String,e,e,e,(str) this.v,(str) this.v,e,(str) this.v,e,e,e
|
||||||
,checkstring,LuaString,e,e,e,(str) this.v,(str) this.v,e,this,e,e,e
|
,checkstring,LuaString,e,e,e,(str) this.v,(str) this.v,e,this,e,e,e
|
||||||
,checktable,LuaTable,e,e,e,e,e,e,e,this,e,e
|
,checktable,LuaTable,e,e,e,e,e,e,e,this,e,e
|
||||||
,checkthread,LuaThread,e,e,e,e,e,e,e,e,this,e
|
,checkthread,LuaThread,e,e,e,e,e,e,e,e,this,e
|
||||||
|
|||||||
|
@@ -41,8 +41,8 @@ public final class Buffer {
|
|||||||
length = 0;
|
length = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
public final String toString() {
|
public final String tojstring() {
|
||||||
return LuaString.valueOf(bytes, 0, length).toString();
|
return LuaString.valueOf(bytes, 0, length).tojstring();
|
||||||
}
|
}
|
||||||
|
|
||||||
public final void append( byte b ) {
|
public final void append( byte b ) {
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ public class LocVars {
|
|||||||
this.endpc = endpc;
|
this.endpc = endpc;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String toString() {
|
public String tojstring() {
|
||||||
return varname+" "+startpc+"-"+endpc;
|
return varname+" "+startpc+"-"+endpc;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -55,7 +55,7 @@ public class LuaBoolean extends LuaValue {
|
|||||||
return v;
|
return v;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String toString() {
|
public String tojstring() {
|
||||||
return v ? "true" : "false";
|
return v ? "true" : "false";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -30,14 +30,10 @@ public class LuaDouble extends LuaNumber {
|
|||||||
public static final LuaDouble NAN = new LuaDouble( Double.NaN );
|
public static final LuaDouble NAN = new LuaDouble( Double.NaN );
|
||||||
public static final LuaDouble POSINF = new LuaDouble( Double.POSITIVE_INFINITY );
|
public static final LuaDouble POSINF = new LuaDouble( Double.POSITIVE_INFINITY );
|
||||||
public static final LuaDouble NEGINF = new LuaDouble( Double.NEGATIVE_INFINITY );
|
public static final LuaDouble NEGINF = new LuaDouble( Double.NEGATIVE_INFINITY );
|
||||||
|
public static final String JSTR_NAN = "nan";
|
||||||
|
public static final String JSTR_POSINF = "inf";
|
||||||
|
public static final String JSTR_NEGINF = "-inf";
|
||||||
|
|
||||||
private static Hashtable ALIASES = new Hashtable();
|
|
||||||
static {
|
|
||||||
ALIASES.put( "NaN", "nan" );
|
|
||||||
ALIASES.put( "Infinity", "inf" );
|
|
||||||
ALIASES.put( "-Infinity", "-inf" );
|
|
||||||
}
|
|
||||||
|
|
||||||
final double v;
|
final double v;
|
||||||
|
|
||||||
public static LuaNumber valueOf(double d) {
|
public static LuaNumber valueOf(double d) {
|
||||||
@@ -135,7 +131,7 @@ public class LuaDouble extends LuaNumber {
|
|||||||
public String concat_s(LuaValue rhs) { return rhs.concatTo_s(Double.toString(v)); }
|
public String concat_s(LuaValue rhs) { return rhs.concatTo_s(Double.toString(v)); }
|
||||||
public String concatTo_s(String lhs) { return lhs + v; }
|
public String concatTo_s(String lhs) { return lhs + v; }
|
||||||
|
|
||||||
public String toString() {
|
public String tojstring() {
|
||||||
/*
|
/*
|
||||||
if ( v == 0.0 ) { // never occurs in J2me
|
if ( v == 0.0 ) { // never occurs in J2me
|
||||||
long bits = Double.doubleToLongBits( v );
|
long bits = Double.doubleToLongBits( v );
|
||||||
@@ -143,23 +139,29 @@ public class LuaDouble extends LuaNumber {
|
|||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
long l = (long) v;
|
long l = (long) v;
|
||||||
if ( l == v ) return Long.toString(l);
|
if ( l == v )
|
||||||
String s = Double.toString(v);
|
return Long.toString(l);
|
||||||
Object n = ALIASES.get(s);
|
if ( Double.isNaN(v) )
|
||||||
return n!=null? (String)n: s;
|
return JSTR_NAN;
|
||||||
|
if ( Double.isInfinite(v) )
|
||||||
|
return (v<0? JSTR_NEGINF: JSTR_POSINF);
|
||||||
|
return Double.toString(v);
|
||||||
}
|
}
|
||||||
|
|
||||||
public LuaString strvalue() {
|
public LuaString strvalue() {
|
||||||
return LuaString.valueOf(toString());
|
return LuaString.valueOf(tojstring());
|
||||||
}
|
}
|
||||||
|
|
||||||
public LuaString optstring(LuaString defval) {
|
public LuaString optstring(LuaString defval) {
|
||||||
return LuaString.valueOf(toString());
|
return LuaString.valueOf(tojstring());
|
||||||
}
|
}
|
||||||
|
|
||||||
public String optString(String defval) {
|
public LuaValue tostring() {
|
||||||
long l = (long)v;
|
return LuaString.valueOf(tojstring());
|
||||||
return v==l? Long.toString(l): Double.toString(v);
|
}
|
||||||
|
|
||||||
|
public String optjstring(String defval) {
|
||||||
|
return tojstring();
|
||||||
}
|
}
|
||||||
|
|
||||||
public LuaNumber optnumber(LuaNumber defval) {
|
public LuaNumber optnumber(LuaNumber defval) {
|
||||||
@@ -182,11 +184,11 @@ public class LuaDouble extends LuaNumber {
|
|||||||
public LuaNumber checknumber() { return this; }
|
public LuaNumber checknumber() { return this; }
|
||||||
public double checkdouble() { return v; }
|
public double checkdouble() { return v; }
|
||||||
|
|
||||||
public String checkString() {
|
public String checkjstring() {
|
||||||
return toString();
|
return tojstring();
|
||||||
}
|
}
|
||||||
public LuaString checkstring() {
|
public LuaString checkstring() {
|
||||||
return LuaString.valueOf(toString());
|
return LuaString.valueOf(tojstring());
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ public class LuaError extends RuntimeException {
|
|||||||
LuaThread thread = LuaThread.getRunning();
|
LuaThread thread = LuaThread.getRunning();
|
||||||
if ( thread.err != null ) {
|
if ( thread.err != null ) {
|
||||||
try {
|
try {
|
||||||
return thread.err.call( LuaValue.valueOf(msg) ).toString();
|
return thread.err.call( LuaValue.valueOf(msg) ).tojstring();
|
||||||
} catch ( Throwable t ) {
|
} catch ( Throwable t ) {
|
||||||
return "error in error handling";
|
return "error in error handling";
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -66,7 +66,7 @@ public class LuaInteger extends LuaNumber {
|
|||||||
public LuaInteger optinteger(LuaInteger defval) { return this; }
|
public LuaInteger optinteger(LuaInteger defval) { return this; }
|
||||||
public long optlong(long defval) { return v; }
|
public long optlong(long defval) { return v; }
|
||||||
|
|
||||||
public String toString() {
|
public String tojstring() {
|
||||||
return Integer.toString(v);
|
return Integer.toString(v);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -77,8 +77,12 @@ public class LuaInteger extends LuaNumber {
|
|||||||
public LuaString optstring(LuaString defval) {
|
public LuaString optstring(LuaString defval) {
|
||||||
return LuaString.valueOf(Integer.toString(v));
|
return LuaString.valueOf(Integer.toString(v));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public LuaValue tostring() {
|
||||||
|
return LuaString.valueOf(Integer.toString(v));
|
||||||
|
}
|
||||||
|
|
||||||
public String optString(String defval) {
|
public String optjstring(String defval) {
|
||||||
return Integer.toString(v);
|
return Integer.toString(v);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -157,7 +161,7 @@ public class LuaInteger extends LuaNumber {
|
|||||||
public double checkdouble() {
|
public double checkdouble() {
|
||||||
return v;
|
return v;
|
||||||
}
|
}
|
||||||
public String checkString() {
|
public String checkjstring() {
|
||||||
return String.valueOf(v);
|
return String.valueOf(v);
|
||||||
}
|
}
|
||||||
public LuaString checkstring() {
|
public LuaString checkstring() {
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ public class LuaNil extends LuaValue {
|
|||||||
return "nil";
|
return "nil";
|
||||||
}
|
}
|
||||||
|
|
||||||
public String toString() {
|
public String tojstring() {
|
||||||
return "nil";
|
return "nil";
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -74,7 +74,7 @@ public class LuaNil extends LuaValue {
|
|||||||
public LuaNumber optnumber(LuaNumber defval) { return defval; }
|
public LuaNumber optnumber(LuaNumber defval) { return defval; }
|
||||||
public LuaTable opttable(LuaTable defval) { return defval; }
|
public LuaTable opttable(LuaTable defval) { return defval; }
|
||||||
public LuaThread optthread(LuaThread defval) { return defval; }
|
public LuaThread optthread(LuaThread defval) { return defval; }
|
||||||
public String optString(String defval) { return defval; }
|
public String optjstring(String defval) { return defval; }
|
||||||
public LuaString optstring(LuaString defval) { return defval; }
|
public LuaString optstring(LuaString defval) { return defval; }
|
||||||
public Object optuserdata(Object defval) { return defval; }
|
public Object optuserdata(Object defval) { return defval; }
|
||||||
public Object optuserdata(Class c, Object defval) { return defval; }
|
public Object optuserdata(Class c, Object defval) { return defval; }
|
||||||
|
|||||||
@@ -98,7 +98,7 @@ public class LuaString extends LuaValue {
|
|||||||
return "string";
|
return "string";
|
||||||
}
|
}
|
||||||
|
|
||||||
public String toString() {
|
public String tojstring() {
|
||||||
return decodeAsUtf8(m_bytes, m_offset, m_length);
|
return decodeAsUtf8(m_bytes, m_offset, m_length);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -145,8 +145,8 @@ public class LuaString extends LuaValue {
|
|||||||
public boolean gteq_b( double rhs ) { typerror("attempt to compare string with number"); return false; }
|
public boolean gteq_b( double rhs ) { typerror("attempt to compare string with number"); return false; }
|
||||||
|
|
||||||
// concatenation
|
// concatenation
|
||||||
public String concat_s(LuaValue rhs) { return rhs.concatTo_s(toString()); }
|
public String concat_s(LuaValue rhs) { return rhs.concatTo_s(tojstring()); }
|
||||||
public String concatTo_s(String lhs) { return lhs + toString(); }
|
public String concatTo_s(String lhs) { return lhs + tojstring(); }
|
||||||
|
|
||||||
// string comparison
|
// string comparison
|
||||||
public int strcmp(LuaValue lhs) { return -lhs.strcmp(this); }
|
public int strcmp(LuaValue lhs) { return -lhs.strcmp(this); }
|
||||||
@@ -230,9 +230,13 @@ public class LuaString extends LuaValue {
|
|||||||
public LuaString optstring(LuaString defval) {
|
public LuaString optstring(LuaString defval) {
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String optString(String defval) {
|
public LuaValue tostring() {
|
||||||
return toString();
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String optjstring(String defval) {
|
||||||
|
return tojstring();
|
||||||
}
|
}
|
||||||
|
|
||||||
public LuaString strvalue() {
|
public LuaString strvalue() {
|
||||||
@@ -313,8 +317,8 @@ public class LuaString extends LuaValue {
|
|||||||
return luaByte( index );
|
return luaByte( index );
|
||||||
}
|
}
|
||||||
|
|
||||||
public String checkString() {
|
public String checkjstring() {
|
||||||
return toString();
|
return tojstring();
|
||||||
}
|
}
|
||||||
|
|
||||||
public LuaString checkstring() {
|
public LuaString checkstring() {
|
||||||
|
|||||||
@@ -121,7 +121,7 @@ public class LuaTable extends LuaValue {
|
|||||||
m_metatable = metatable;
|
m_metatable = metatable;
|
||||||
LuaValue mode;
|
LuaValue mode;
|
||||||
if ( m_metatable!=null && (mode=m_metatable.rawget(MODE)).isstring() ) {
|
if ( m_metatable!=null && (mode=m_metatable.rawget(MODE)).isstring() ) {
|
||||||
String m = mode.toString();
|
String m = mode.tojstring();
|
||||||
boolean k = m.indexOf('k')>=0;
|
boolean k = m.indexOf('k')>=0;
|
||||||
boolean v = m.indexOf('v')>=0;
|
boolean v = m.indexOf('v')>=0;
|
||||||
return changemode(k,v);
|
return changemode(k,v);
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ public class LuaUserdata extends LuaValue {
|
|||||||
m_metatable = metatable;
|
m_metatable = metatable;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String toString() {
|
public String tojstring() {
|
||||||
return String.valueOf(m_instance);
|
return String.valueOf(m_instance);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -103,13 +103,19 @@ public class LuaValue extends Varargs {
|
|||||||
public int toint() { return 0; }
|
public int toint() { return 0; }
|
||||||
public long tolong() { return 0; }
|
public long tolong() { return 0; }
|
||||||
public short toshort() { return 0; }
|
public short toshort() { return 0; }
|
||||||
public String toString() { return typename() + ": " + Integer.toHexString(hashCode()); }
|
public String tojstring() { return typename() + ": " + Integer.toHexString(hashCode()); }
|
||||||
public Object touserdata() { return null; }
|
public Object touserdata() { return null; }
|
||||||
public Object touserdata(Class c) { return null; }
|
public Object touserdata(Class c) { return null; }
|
||||||
|
|
||||||
|
// object tojstring() maps to tojstring()
|
||||||
|
public String toString() { return tojstring(); }
|
||||||
|
|
||||||
// type coercion to lua values
|
// type coercion to lua values
|
||||||
/** @return NIL if not a number or convertible to a number */
|
/** @return NIL if not a number or convertible to a number */
|
||||||
public LuaValue tonumber() { return NIL; }
|
public LuaValue tonumber() { return NIL; }
|
||||||
|
|
||||||
|
/** @return NIL if not a string or number */
|
||||||
|
public LuaValue tostring() { return NIL; }
|
||||||
|
|
||||||
// optional argument conversions
|
// optional argument conversions
|
||||||
public boolean optboolean(boolean defval) { typerror("boolean"); return false; }
|
public boolean optboolean(boolean defval) { typerror("boolean"); return false; }
|
||||||
@@ -120,7 +126,7 @@ public class LuaValue extends Varargs {
|
|||||||
public LuaInteger optinteger(LuaInteger defval) { typerror("integer"); return null; }
|
public LuaInteger optinteger(LuaInteger defval) { typerror("integer"); return null; }
|
||||||
public long optlong(long defval) { typerror("long"); return 0; }
|
public long optlong(long defval) { typerror("long"); return 0; }
|
||||||
public LuaNumber optnumber(LuaNumber defval) { typerror("number"); return null; }
|
public LuaNumber optnumber(LuaNumber defval) { typerror("number"); return null; }
|
||||||
public String optString(String defval) { typerror("String"); return null; }
|
public String optjstring(String defval) { typerror("String"); return null; }
|
||||||
public LuaString optstring(LuaString defval) { typerror("string"); return null; }
|
public LuaString optstring(LuaString defval) { typerror("string"); return null; }
|
||||||
public LuaTable opttable(LuaTable defval) { typerror("table"); return null; }
|
public LuaTable opttable(LuaTable defval) { typerror("table"); return null; }
|
||||||
public LuaThread optthread(LuaThread defval) { typerror("thread"); return null; }
|
public LuaThread optthread(LuaThread defval) { typerror("thread"); return null; }
|
||||||
@@ -128,6 +134,9 @@ public class LuaValue extends Varargs {
|
|||||||
public Object optuserdata(Class c, Object defval) { typerror(c.getName()); return null; }
|
public Object optuserdata(Class c, Object defval) { typerror(c.getName()); return null; }
|
||||||
public LuaValue optvalue(LuaValue defval) { return this; }
|
public LuaValue optvalue(LuaValue defval) { return this; }
|
||||||
|
|
||||||
|
/** @deprecated - use optjstring() instead */
|
||||||
|
public String optString(String defval) { return optjstring(defval); }
|
||||||
|
|
||||||
// argument type checks
|
// argument type checks
|
||||||
public boolean checkboolean() { typerror("boolean"); return false; }
|
public boolean checkboolean() { typerror("boolean"); return false; }
|
||||||
public LuaClosure checkclosure() { typerror("closure"); return null; }
|
public LuaClosure checkclosure() { typerror("closure"); return null; }
|
||||||
@@ -137,7 +146,7 @@ public class LuaValue extends Varargs {
|
|||||||
public LuaInteger checkinteger() { typerror("integer"); return null; }
|
public LuaInteger checkinteger() { typerror("integer"); return null; }
|
||||||
public long checklong() { typerror("long"); return 0; }
|
public long checklong() { typerror("long"); return 0; }
|
||||||
public LuaNumber checknumber() { typerror("number"); return null; }
|
public LuaNumber checknumber() { typerror("number"); return null; }
|
||||||
public String checkString() { typerror("string"); return null; }
|
public String checkjstring() { typerror("string"); return null; }
|
||||||
public LuaString checkstring() { typerror("string"); return null; }
|
public LuaString checkstring() { typerror("string"); return null; }
|
||||||
public LuaTable checktable() { typerror("table"); return null; }
|
public LuaTable checktable() { typerror("table"); return null; }
|
||||||
public LuaThread checkthread() { typerror("thread"); return null; }
|
public LuaThread checkthread() { typerror("thread"); return null; }
|
||||||
@@ -145,6 +154,9 @@ public class LuaValue extends Varargs {
|
|||||||
public Object checkuserdata(Class c) { typerror("userdata"); return null; }
|
public Object checkuserdata(Class c) { typerror("userdata"); return null; }
|
||||||
public LuaValue checknotnil() { return this; }
|
public LuaValue checknotnil() { return this; }
|
||||||
|
|
||||||
|
/** @deprecated - use checkjstring() instead */
|
||||||
|
public String checkString() { return checkjstring(); }
|
||||||
|
|
||||||
// errors
|
// errors
|
||||||
public static LuaValue error(String message) { throw new LuaError(message); }
|
public static LuaValue error(String message) { throw new LuaError(message); }
|
||||||
public static LuaValue error(int iarg, String message) { throw new LuaError("arg "+iarg+": "+message); }
|
public static LuaValue error(int iarg, String message) { throw new LuaError("arg "+iarg+": "+message); }
|
||||||
@@ -441,7 +453,7 @@ public class LuaValue extends Varargs {
|
|||||||
public LuaValue arg(int i) { return NIL; }
|
public LuaValue arg(int i) { return NIL; }
|
||||||
public int narg() { return 0; }
|
public int narg() { return 0; }
|
||||||
public LuaValue arg1() { return NIL; }
|
public LuaValue arg1() { return NIL; }
|
||||||
public String toString() { return "none"; }
|
public String tojstring() { return "none"; }
|
||||||
}
|
}
|
||||||
|
|
||||||
// varargs from array
|
// varargs from array
|
||||||
@@ -507,7 +519,7 @@ public class LuaValue extends Varargs {
|
|||||||
public LuaValue arg1() {
|
public LuaValue arg1() {
|
||||||
return v1;
|
return v1;
|
||||||
}
|
}
|
||||||
public String toString() {
|
public String tojstring() {
|
||||||
return "{"+v1+","+v2+"}";
|
return "{"+v1+","+v2+"}";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -122,7 +122,7 @@ public class Print extends Lua {
|
|||||||
static void printValue( PrintStream ps, LuaValue v ) {
|
static void printValue( PrintStream ps, LuaValue v ) {
|
||||||
switch ( v.type() ) {
|
switch ( v.type() ) {
|
||||||
case LuaValue.TSTRING: printString( ps, (LuaString) v ); break;
|
case LuaValue.TSTRING: printString( ps, (LuaString) v ); break;
|
||||||
default: ps.print( v.toString() );
|
default: ps.print( v.tojstring() );
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -356,12 +356,12 @@ public class Print extends Lua {
|
|||||||
case LuaValue.TSTRING:
|
case LuaValue.TSTRING:
|
||||||
LuaString s = v.checkstring();
|
LuaString s = v.checkstring();
|
||||||
ps.print( s.length() < 48?
|
ps.print( s.length() < 48?
|
||||||
s.toString():
|
s.tojstring():
|
||||||
s.substring(0, 32).toString()+"...+"+(s.length()-32)+"b");
|
s.substring(0, 32).tojstring()+"...+"+(s.length()-32)+"b");
|
||||||
break;
|
break;
|
||||||
case LuaValue.TFUNCTION:
|
case LuaValue.TFUNCTION:
|
||||||
ps.print( ( v instanceof LuaClosure )?
|
ps.print( ( v instanceof LuaClosure )?
|
||||||
((LuaClosure)v).p.toString(): v.toString() );
|
((LuaClosure)v).p.tojstring(): v.tojstring() );
|
||||||
break;
|
break;
|
||||||
case LuaValue.TUSERDATA:
|
case LuaValue.TUSERDATA:
|
||||||
Object o = v.touserdata();
|
Object o = v.touserdata();
|
||||||
@@ -370,7 +370,7 @@ public class Print extends Lua {
|
|||||||
ps.print( n+": "+Integer.toHexString(o.hashCode()) );
|
ps.print( n+": "+Integer.toHexString(o.hashCode()) );
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
ps.print(v.toString());
|
ps.print(v.tojstring());
|
||||||
}
|
}
|
||||||
if ( i+1 == top )
|
if ( i+1 == top )
|
||||||
ps.print(']');
|
ps.print(']');
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ public class Prototype {
|
|||||||
public int maxstacksize;
|
public int maxstacksize;
|
||||||
|
|
||||||
|
|
||||||
public String toString() {
|
public String tojstring() {
|
||||||
return source + ":" + linedefined;
|
return source + ":" + linedefined;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -33,8 +33,8 @@ public final class UpValue {
|
|||||||
this.index = index;
|
this.index = index;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String toString() {
|
public String tojstring() {
|
||||||
return array[index].toString();
|
return array[index].tojstring();
|
||||||
}
|
}
|
||||||
|
|
||||||
public final LuaValue getValue() {
|
public final LuaValue getValue() {
|
||||||
|
|||||||
@@ -83,13 +83,16 @@ public abstract class Varargs {
|
|||||||
public LuaInteger optinteger(int i, LuaInteger defval) { return arg(i).optinteger(defval); }
|
public LuaInteger optinteger(int i, LuaInteger defval) { return arg(i).optinteger(defval); }
|
||||||
public long optlong(int i, long defval) { return arg(i).optlong(defval); }
|
public long optlong(int i, long defval) { return arg(i).optlong(defval); }
|
||||||
public LuaNumber optnumber(int i, LuaNumber defval) { return arg(i).optnumber(defval); }
|
public LuaNumber optnumber(int i, LuaNumber defval) { return arg(i).optnumber(defval); }
|
||||||
public String optString(int i, String defval) { return arg(i).optString(defval); }
|
public String optjstring(int i, String defval) { return arg(i).optjstring(defval); }
|
||||||
public LuaString optstring(int i, LuaString defval) { return arg(i).optstring(defval); }
|
public LuaString optstring(int i, LuaString defval) { return arg(i).optstring(defval); }
|
||||||
public LuaTable opttable(int i, LuaTable defval) { return arg(i).opttable(defval); }
|
public LuaTable opttable(int i, LuaTable defval) { return arg(i).opttable(defval); }
|
||||||
public LuaThread optthread(int i, LuaThread defval) { return arg(i).optthread(defval); }
|
public LuaThread optthread(int i, LuaThread defval) { return arg(i).optthread(defval); }
|
||||||
public Object optuserdata(int i, Object defval) { return arg(i).optuserdata(defval); }
|
public Object optuserdata(int i, Object defval) { return arg(i).optuserdata(defval); }
|
||||||
public Object optuserdata(int i, Class c, Object defval) { return arg(i).optuserdata(c,defval); }
|
public Object optuserdata(int i, Class c, Object defval) { return arg(i).optuserdata(c,defval); }
|
||||||
public LuaValue optvalue(int i, LuaValue defval) { return i>0 && i<=narg()? arg(i): defval; }
|
public LuaValue optvalue(int i, LuaValue defval) { return i>0 && i<=narg()? arg(i): defval; }
|
||||||
|
|
||||||
|
/** @deprecated - use optjstring() instead */
|
||||||
|
public String optString(int i, String defval) { return optjstring(i,defval); }
|
||||||
|
|
||||||
// required argument types
|
// required argument types
|
||||||
public boolean checkboolean(int i) { return arg(i).checkboolean(); }
|
public boolean checkboolean(int i) { return arg(i).checkboolean(); }
|
||||||
@@ -100,7 +103,7 @@ public abstract class Varargs {
|
|||||||
public LuaInteger checkinteger(int i) { return arg(i).checkinteger(); }
|
public LuaInteger checkinteger(int i) { return arg(i).checkinteger(); }
|
||||||
public long checklong(int i) { return arg(i).checknumber().tolong(); }
|
public long checklong(int i) { return arg(i).checknumber().tolong(); }
|
||||||
public LuaNumber checknumber(int i) { return arg(i).checknumber(); }
|
public LuaNumber checknumber(int i) { return arg(i).checknumber(); }
|
||||||
public String checkString(int i) { return arg(i).checkString(); }
|
public String checkjstring(int i) { return arg(i).checkjstring(); }
|
||||||
public LuaString checkstring(int i) { return arg(i).checkstring(); }
|
public LuaString checkstring(int i) { return arg(i).checkstring(); }
|
||||||
public LuaTable checktable(int i) { return arg(i).checktable(); }
|
public LuaTable checktable(int i) { return arg(i).checktable(); }
|
||||||
public LuaThread checkthread(int i) { return arg(i).checkthread(); }
|
public LuaThread checkthread(int i) { return arg(i).checkthread(); }
|
||||||
@@ -109,6 +112,8 @@ public abstract class Varargs {
|
|||||||
public LuaValue checkvalue(int i) { return i<=narg()? arg(i): LuaValue.error("value expected"); }
|
public LuaValue checkvalue(int i) { return i<=narg()? arg(i): LuaValue.error("value expected"); }
|
||||||
public LuaValue checknotnil(int i) { return arg(i).checknotnil(); }
|
public LuaValue checknotnil(int i) { return arg(i).checknotnil(); }
|
||||||
|
|
||||||
|
/** @deprecated - use checkjstring() instead */
|
||||||
|
public String checkString(int i) { return checkjstring(i); }
|
||||||
|
|
||||||
public void argcheck(boolean test, int i, String msg) { if (!test) LuaValue.argerror(i,msg); }
|
public void argcheck(boolean test, int i, String msg) { if (!test) LuaValue.argerror(i,msg); }
|
||||||
|
|
||||||
@@ -123,19 +128,20 @@ public abstract class Varargs {
|
|||||||
public float tofloat(int i) { return arg(i).tofloat(); }
|
public float tofloat(int i) { return arg(i).tofloat(); }
|
||||||
public int toint(int i) { return arg(i).toint(); }
|
public int toint(int i) { return arg(i).toint(); }
|
||||||
public long tolong(int i) { return arg(i).tolong(); }
|
public long tolong(int i) { return arg(i).tolong(); }
|
||||||
|
public String tojstring(int i) { return arg(i).tojstring(); }
|
||||||
public short toshort(int i) { return arg(i).toshort(); }
|
public short toshort(int i) { return arg(i).toshort(); }
|
||||||
public Object touserdata(int i) { return arg(i).touserdata(); }
|
public Object touserdata(int i) { return arg(i).touserdata(); }
|
||||||
public Object touserdata(int i,Class c) { return arg(i).touserdata(c); }
|
public Object touserdata(int i,Class c) { return arg(i).touserdata(c); }
|
||||||
|
|
||||||
public String toString() {
|
public String tojstring() {
|
||||||
Buffer sb = new Buffer();
|
Buffer sb = new Buffer();
|
||||||
sb.append( "(" );
|
sb.append( "(" );
|
||||||
for ( int i=1,n=narg(); i<=n; i++ ) {
|
for ( int i=1,n=narg(); i<=n; i++ ) {
|
||||||
if (i>1) sb.append( "," );
|
if (i>1) sb.append( "," );
|
||||||
sb.append( arg(i).toString() );
|
sb.append( arg(i).tojstring() );
|
||||||
}
|
}
|
||||||
sb.append( ")" );
|
sb.append( ")" );
|
||||||
return sb.toString();
|
return sb.tojstring();
|
||||||
}
|
}
|
||||||
|
|
||||||
public Varargs subargs(final int start) {
|
public Varargs subargs(final int start) {
|
||||||
|
|||||||
@@ -47,8 +47,8 @@ public class WeakTable extends LuaTable {
|
|||||||
Object o = ref.get();
|
Object o = ref.get();
|
||||||
return o!=null? (LuaValue)o: NIL;
|
return o!=null? (LuaValue)o: NIL;
|
||||||
}
|
}
|
||||||
public String toString() {
|
public String tojstring() {
|
||||||
return strongvalue().toString();
|
return strongvalue().tojstring();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -252,7 +252,7 @@ public class LexState {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void lexerror( String msg, int token ) {
|
void lexerror( String msg, int token ) {
|
||||||
String cid = chunkid( source.toString() ); // TODO: get source name from source
|
String cid = chunkid( source.tojstring() ); // TODO: get source name from source
|
||||||
L.pushfstring( cid+":"+linenumber+": "+msg );
|
L.pushfstring( cid+":"+linenumber+": "+msg );
|
||||||
if ( token != 0 )
|
if ( token != 0 )
|
||||||
L.pushfstring( "syntax error: "+msg+" near "+txtToken(token) );
|
L.pushfstring( "syntax error: "+msg+" near "+txtToken(token) );
|
||||||
|
|||||||
@@ -145,7 +145,7 @@ public class BaseLib extends OneArgFunction implements ResourceFinder {
|
|||||||
protected LuaValue oncall2(int opcode, LuaValue arg1, LuaValue arg2) {
|
protected LuaValue oncall2(int opcode, LuaValue arg1, LuaValue arg2) {
|
||||||
switch ( opcode ) {
|
switch ( opcode ) {
|
||||||
case 0: // "collectgarbage", // ( opt [,arg] ) -> value
|
case 0: // "collectgarbage", // ( opt [,arg] ) -> value
|
||||||
String s = arg1.optString("collect");
|
String s = arg1.optjstring("collect");
|
||||||
int result = 0;
|
int result = 0;
|
||||||
if ( "collect".equals(s) ) {
|
if ( "collect".equals(s) ) {
|
||||||
System.gc();
|
System.gc();
|
||||||
@@ -161,7 +161,7 @@ public class BaseLib extends OneArgFunction implements ResourceFinder {
|
|||||||
}
|
}
|
||||||
return NIL;
|
return NIL;
|
||||||
case 1: // "error", // ( message [,level] ) -> ERR
|
case 1: // "error", // ( message [,level] ) -> ERR
|
||||||
throw new LuaError( arg1.isnil()? null: arg1.toString(), arg2.optint(1) );
|
throw new LuaError( arg1.isnil()? null: arg1.tojstring(), arg2.optint(1) );
|
||||||
case 2: // "rawequal", // (v1, v2) -> boolean
|
case 2: // "rawequal", // (v1, v2) -> boolean
|
||||||
return valueOf(arg1 == arg2);
|
return valueOf(arg1 == arg2);
|
||||||
case 3: { // "setfenv", // (f, table) -> void
|
case 3: { // "setfenv", // (f, table) -> void
|
||||||
@@ -194,7 +194,7 @@ public class BaseLib extends OneArgFunction implements ResourceFinder {
|
|||||||
{
|
{
|
||||||
LuaValue chunk;
|
LuaValue chunk;
|
||||||
try {
|
try {
|
||||||
String filename = args.checkString(1);
|
String filename = args.checkjstring(1);
|
||||||
chunk = loadFile(filename).arg1();
|
chunk = loadFile(filename).arg1();
|
||||||
} catch ( IOException e ) {
|
} catch ( IOException e ) {
|
||||||
return error(e.getMessage());
|
return error(e.getMessage());
|
||||||
@@ -212,7 +212,7 @@ public class BaseLib extends OneArgFunction implements ResourceFinder {
|
|||||||
case 3: // "loadfile", // ( [filename] ) -> chunk | nil, msg
|
case 3: // "loadfile", // ( [filename] ) -> chunk | nil, msg
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
String filename = args.checkString(1);
|
String filename = args.checkjstring(1);
|
||||||
return loadFile(filename);
|
return loadFile(filename);
|
||||||
} catch ( Exception e ) {
|
} catch ( Exception e ) {
|
||||||
return varargsOf(NIL, valueOf(e.getMessage()));
|
return varargsOf(NIL, valueOf(e.getMessage()));
|
||||||
@@ -320,7 +320,7 @@ public class BaseLib extends OneArgFunction implements ResourceFinder {
|
|||||||
}
|
}
|
||||||
case 14: { // "tostring", // (e) -> value
|
case 14: { // "tostring", // (e) -> value
|
||||||
LuaValue arg = args.checkvalue(1);
|
LuaValue arg = args.checkvalue(1);
|
||||||
return arg.type() == LuaValue.TSTRING? arg: valueOf(arg.toString());
|
return arg.type() == LuaValue.TSTRING? arg: valueOf(arg.tojstring());
|
||||||
}
|
}
|
||||||
case 15: { // "tonumber", // (e [,base]) -> value
|
case 15: { // "tonumber", // (e [,base]) -> value
|
||||||
LuaValue arg1 = args.checkvalue(1);
|
LuaValue arg1 = args.checkvalue(1);
|
||||||
@@ -375,7 +375,7 @@ public class BaseLib extends OneArgFunction implements ResourceFinder {
|
|||||||
bytes = null;
|
bytes = null;
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
bytes = s.toString().getBytes();
|
bytes = s.tojstring().getBytes();
|
||||||
offset = 0;
|
offset = 0;
|
||||||
}
|
}
|
||||||
if ( offset >= bytes.length )
|
if ( offset >= bytes.length )
|
||||||
|
|||||||
@@ -83,7 +83,7 @@ public class CoroutineLib extends ZeroArgFunction {
|
|||||||
if ( result.arg1().toboolean() ) {
|
if ( result.arg1().toboolean() ) {
|
||||||
return result.subargs(2);
|
return result.subargs(2);
|
||||||
} else {
|
} else {
|
||||||
error( result.arg(2).toString() );
|
error( result.arg(2).tojstring() );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
|
|||||||
@@ -186,24 +186,24 @@ public class DebugLib extends OneArgFunction {
|
|||||||
return getobjname(this, stackpos);
|
return getobjname(this, stackpos);
|
||||||
}
|
}
|
||||||
public Object sourceline() {
|
public Object sourceline() {
|
||||||
if ( closure == null ) return func.toString();
|
if ( closure == null ) return func.tojstring();
|
||||||
String s = closure.p.source.toString();
|
String s = closure.p.source.tojstring();
|
||||||
int line = currentline();
|
int line = currentline();
|
||||||
return (s.startsWith("@")||s.startsWith("=")? s.substring(1): s) + ":" + line;
|
return (s.startsWith("@")||s.startsWith("=")? s.substring(1): s) + ":" + line;
|
||||||
}
|
}
|
||||||
public String tracename() {
|
public String tracename() {
|
||||||
// if ( func != null )
|
// if ( func != null )
|
||||||
// return func.toString();
|
// return func.tojstring();
|
||||||
LuaString[] kind = getfunckind();
|
LuaString[] kind = getfunckind();
|
||||||
if ( kind == null )
|
if ( kind == null )
|
||||||
return "function ?";
|
return "function ?";
|
||||||
return "function "+kind[0].toString();
|
return "function "+kind[0].tojstring();
|
||||||
}
|
}
|
||||||
public LuaString getlocalname(int index) {
|
public LuaString getlocalname(int index) {
|
||||||
if ( closure == null ) return null;
|
if ( closure == null ) return null;
|
||||||
return closure.p.getlocalname(index, pc);
|
return closure.p.getlocalname(index, pc);
|
||||||
}
|
}
|
||||||
public String toString() {
|
public String tojstring() {
|
||||||
return sourceline()+": in "+tracename();
|
return sourceline()+": in "+tracename();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -277,7 +277,7 @@ public class DebugLib extends OneArgFunction {
|
|||||||
}
|
}
|
||||||
return new DebugInfo(func);
|
return new DebugInfo(func);
|
||||||
}
|
}
|
||||||
public String toString() {
|
public String tojstring() {
|
||||||
return DebugLib.traceback(thread, 0);
|
return DebugLib.traceback(thread, 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -437,7 +437,7 @@ public class DebugLib extends OneArgFunction {
|
|||||||
info.set(LINEDEFINED, valueOf(p.linedefined));
|
info.set(LINEDEFINED, valueOf(p.linedefined));
|
||||||
info.set(LASTLINEDEFINED, valueOf(p.lastlinedefined));
|
info.set(LASTLINEDEFINED, valueOf(p.lastlinedefined));
|
||||||
} else {
|
} else {
|
||||||
String shortName = di.func.toString();
|
String shortName = di.func.tojstring();
|
||||||
LuaString name = LuaString.valueOf("[Java] "+shortName);
|
LuaString name = LuaString.valueOf("[Java] "+shortName);
|
||||||
info.set(WHAT, JAVA);
|
info.set(WHAT, JAVA);
|
||||||
info.set(SOURCE, name);
|
info.set(SOURCE, name);
|
||||||
@@ -482,7 +482,7 @@ public class DebugLib extends OneArgFunction {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static String sourceshort(Prototype p) {
|
public static String sourceshort(Prototype p) {
|
||||||
String name = p.source.toString();
|
String name = p.source.tojstring();
|
||||||
if ( name.startsWith("@") || name.startsWith("=") )
|
if ( name.startsWith("@") || name.startsWith("=") )
|
||||||
name = name.substring(1);
|
name = name.substring(1);
|
||||||
else if ( name.startsWith("\033") )
|
else if ( name.startsWith("\033") )
|
||||||
@@ -618,7 +618,7 @@ public class DebugLib extends OneArgFunction {
|
|||||||
di = ds.getDebugInfo(i);
|
di = ds.getDebugInfo(i);
|
||||||
if ( di != null ) {
|
if ( di != null ) {
|
||||||
sb.append( "\t" );
|
sb.append( "\t" );
|
||||||
sb.append( di.toString() );
|
sb.append( di.tojstring() );
|
||||||
if ( i<n )
|
if ( i<n )
|
||||||
sb.append( "\n" );
|
sb.append( "\n" );
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -68,7 +68,7 @@ public class IoLib extends OneArgFunction {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// displays as "file" type
|
// displays as "file" type
|
||||||
public String toString() {
|
public String tojstring() {
|
||||||
return "file: " + Integer.toHexString(hashCode());
|
return "file: " + Integer.toHexString(hashCode());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -211,13 +211,13 @@ public class IoLib extends OneArgFunction {
|
|||||||
return ioclose(f);
|
return ioclose(f);
|
||||||
case IO_INPUT: // io.input([file]) -> file
|
case IO_INPUT: // io.input([file]) -> file
|
||||||
infile = args.arg1().isnil()? input(): args.arg1().isstring()?
|
infile = args.arg1().isnil()? input(): args.arg1().isstring()?
|
||||||
ioopenfile(args.checkString(1),"r"):
|
ioopenfile(args.checkjstring(1),"r"):
|
||||||
checkfile(args.arg1());
|
checkfile(args.arg1());
|
||||||
return infile;
|
return infile;
|
||||||
|
|
||||||
case IO_OUTPUT: // io.output(filename) -> file
|
case IO_OUTPUT: // io.output(filename) -> file
|
||||||
outfile = args.arg1().isnil()? output(): args.arg1().isstring()?
|
outfile = args.arg1().isnil()? output(): args.arg1().isstring()?
|
||||||
ioopenfile(args.checkString(1),"w"):
|
ioopenfile(args.checkjstring(1),"w"):
|
||||||
checkfile(args.arg1());
|
checkfile(args.arg1());
|
||||||
return outfile;
|
return outfile;
|
||||||
case IO_TYPE: // io.type(obj) -> "file" | "closed file" | nil
|
case IO_TYPE: // io.type(obj) -> "file" | "closed file" | nil
|
||||||
@@ -225,11 +225,11 @@ public class IoLib extends OneArgFunction {
|
|||||||
return f.isclosed()? CLOSED_FILE: FILE;
|
return f.isclosed()? CLOSED_FILE: FILE;
|
||||||
return NIL;
|
return NIL;
|
||||||
case IO_POPEN: // io.popen(prog, [mode]) -> file
|
case IO_POPEN: // io.popen(prog, [mode]) -> file
|
||||||
return openProgram(args.checkString(1),args.optString(2,"r"));
|
return openProgram(args.checkjstring(1),args.optString(2,"r"));
|
||||||
case IO_OPEN: // io.open(filename, [mode]) -> file | nil,err
|
case IO_OPEN: // io.open(filename, [mode]) -> file | nil,err
|
||||||
return rawopenfile(args.checkString(1), args.optString(2,"r"));
|
return rawopenfile(args.checkjstring(1), args.optString(2,"r"));
|
||||||
case IO_LINES: // io.lines(filename) -> iterator
|
case IO_LINES: // io.lines(filename) -> iterator
|
||||||
infile = args.arg1().isnil()? input(): ioopenfile(args.checkString(1),"r");
|
infile = args.arg1().isnil()? input(): ioopenfile(args.checkjstring(1),"r");
|
||||||
checkopen(infile);
|
checkopen(infile);
|
||||||
return lines(infile);
|
return lines(infile);
|
||||||
case IO_READ: // io.read(...) -> (...)
|
case IO_READ: // io.read(...) -> (...)
|
||||||
@@ -246,7 +246,7 @@ public class IoLib extends OneArgFunction {
|
|||||||
return LuaValue.TRUE;
|
return LuaValue.TRUE;
|
||||||
case FILE_SETVBUF: // file:setvbuf(mode,[size]) -> void
|
case FILE_SETVBUF: // file:setvbuf(mode,[size]) -> void
|
||||||
f = checkfile(args.arg1());
|
f = checkfile(args.arg1());
|
||||||
f.setvbuf(args.checkString(2),args.optint(3, 1024));
|
f.setvbuf(args.checkjstring(2),args.optint(3, 1024));
|
||||||
return LuaValue.TRUE;
|
return LuaValue.TRUE;
|
||||||
case FILE_LINES: // file:lines() -> iterator
|
case FILE_LINES: // file:lines() -> iterator
|
||||||
return lines(checkfile(args.arg1()));
|
return lines(checkfile(args.arg1()));
|
||||||
@@ -342,7 +342,7 @@ public class IoLib extends OneArgFunction {
|
|||||||
if ( args.isnumber(i+1) ) {
|
if ( args.isnumber(i+1) ) {
|
||||||
v[i] = freadbytes(f,args.checkint(i+1));
|
v[i] = freadbytes(f,args.checkint(i+1));
|
||||||
} else {
|
} else {
|
||||||
String format = args.checkString(i+1);
|
String format = args.checkjstring(i+1);
|
||||||
if ( "*n".equals(format) )
|
if ( "*n".equals(format) )
|
||||||
v[i] = valueOf( freadnumber(f) );
|
v[i] = valueOf( freadnumber(f) );
|
||||||
else if ( "*a".equals(format) )
|
else if ( "*a".equals(format) )
|
||||||
|
|||||||
@@ -110,7 +110,7 @@ abstract public class LibFunction extends LuaFunction {
|
|||||||
this.delegate = delegate;
|
this.delegate = delegate;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String toString() {
|
public String tojstring() {
|
||||||
return name;
|
return name;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -147,7 +147,7 @@ abstract public class LibFunction extends LuaFunction {
|
|||||||
this.delegate = delegate;
|
this.delegate = delegate;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String toString() {
|
public String tojstring() {
|
||||||
return name;
|
return name;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -184,7 +184,7 @@ abstract public class LibFunction extends LuaFunction {
|
|||||||
this.delegate = delegate;
|
this.delegate = delegate;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String toString() {
|
public String tojstring() {
|
||||||
return name;
|
return name;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -221,7 +221,7 @@ abstract public class LibFunction extends LuaFunction {
|
|||||||
this.delegate = delegate;
|
this.delegate = delegate;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String toString() {
|
public String tojstring() {
|
||||||
return name;
|
return name;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -258,7 +258,7 @@ abstract public class LibFunction extends LuaFunction {
|
|||||||
this.delegate = delegate;
|
this.delegate = delegate;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String toString() {
|
public String tojstring() {
|
||||||
return name;
|
return name;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -110,14 +110,14 @@ public class OsLib extends OneArgFunction {
|
|||||||
exit(args.optint(1, 0));
|
exit(args.optint(1, 0));
|
||||||
return NONE;
|
return NONE;
|
||||||
case GETENV: {
|
case GETENV: {
|
||||||
final String val = getenv(args.checkString(1));
|
final String val = getenv(args.checkjstring(1));
|
||||||
return val!=null? valueOf(val): NIL;
|
return val!=null? valueOf(val): NIL;
|
||||||
}
|
}
|
||||||
case REMOVE:
|
case REMOVE:
|
||||||
remove(args.checkString(1));
|
remove(args.checkjstring(1));
|
||||||
return LuaValue.TRUE;
|
return LuaValue.TRUE;
|
||||||
case RENAME:
|
case RENAME:
|
||||||
rename(args.checkString(1), args.checkString(2));
|
rename(args.checkjstring(1), args.checkjstring(2));
|
||||||
return LuaValue.TRUE;
|
return LuaValue.TRUE;
|
||||||
case SETLOCALE: {
|
case SETLOCALE: {
|
||||||
String s = setlocale(args.optString(1,null), args.optString(2, "all"));
|
String s = setlocale(args.optString(1,null), args.optString(2, "all"));
|
||||||
|
|||||||
@@ -127,7 +127,7 @@ public class PackageLib extends OneArgFunction {
|
|||||||
PACKAGE.set( _PATH, valueOf(newLuaPath) );
|
PACKAGE.set( _PATH, valueOf(newLuaPath) );
|
||||||
}
|
}
|
||||||
|
|
||||||
public String toString() {
|
public String tojstring() {
|
||||||
return "package";
|
return "package";
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -277,7 +277,7 @@ public class PackageLib extends OneArgFunction {
|
|||||||
if ( chunk.isfunction() )
|
if ( chunk.isfunction() )
|
||||||
break;
|
break;
|
||||||
if ( chunk.isstring() )
|
if ( chunk.isstring() )
|
||||||
sb.append( chunk.toString() );
|
sb.append( chunk.tojstring() );
|
||||||
}
|
}
|
||||||
|
|
||||||
// load the module using the loader
|
// load the module using the loader
|
||||||
@@ -304,7 +304,7 @@ public class PackageLib extends OneArgFunction {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private LuaValue loader_Lua( Varargs args ) {
|
private LuaValue loader_Lua( Varargs args ) {
|
||||||
String name = args.checkString(1);
|
String name = args.checkjstring(1);
|
||||||
InputStream is = null;
|
InputStream is = null;
|
||||||
|
|
||||||
|
|
||||||
@@ -312,7 +312,7 @@ public class PackageLib extends OneArgFunction {
|
|||||||
LuaValue pp = PACKAGE.get(_PATH);
|
LuaValue pp = PACKAGE.get(_PATH);
|
||||||
if ( ! pp.isstring() )
|
if ( ! pp.isstring() )
|
||||||
return valueOf("package.path is not a string");
|
return valueOf("package.path is not a string");
|
||||||
String path = pp.toString();
|
String path = pp.tojstring();
|
||||||
|
|
||||||
// check the path elements
|
// check the path elements
|
||||||
int e = -1;
|
int e = -1;
|
||||||
@@ -355,7 +355,7 @@ public class PackageLib extends OneArgFunction {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private LuaValue loader_Java( Varargs args ) {
|
private LuaValue loader_Java( Varargs args ) {
|
||||||
String name = args.checkString(1);
|
String name = args.checkjstring(1);
|
||||||
String classname = toClassname( name );
|
String classname = toClassname( name );
|
||||||
Class c = null;
|
Class c = null;
|
||||||
LuaValue v = null;
|
LuaValue v = null;
|
||||||
|
|||||||
@@ -591,7 +591,7 @@ public class StringLib extends OneArgFunction {
|
|||||||
* The definition of what an uppercase letter is depends on the current locale.
|
* The definition of what an uppercase letter is depends on the current locale.
|
||||||
*/
|
*/
|
||||||
static LuaValue lower( LuaValue arg ) {
|
static LuaValue lower( LuaValue arg ) {
|
||||||
return valueOf( arg.checkString().toLowerCase() );
|
return valueOf( arg.checkjstring().toLowerCase() );
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -675,7 +675,7 @@ public class StringLib extends OneArgFunction {
|
|||||||
* The definition of what a lowercase letter is depends on the current locale.
|
* The definition of what a lowercase letter is depends on the current locale.
|
||||||
*/
|
*/
|
||||||
static LuaValue upper( LuaValue arg ) {
|
static LuaValue upper( LuaValue arg ) {
|
||||||
return valueOf(arg.checkString().toUpperCase());
|
return valueOf(arg.checkjstring().toUpperCase());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -101,7 +101,7 @@ public class JmeIoLib extends IoLib {
|
|||||||
private FileImpl( OutputStream o ) {
|
private FileImpl( OutputStream o ) {
|
||||||
this( null, null, o );
|
this( null, null, o );
|
||||||
}
|
}
|
||||||
public String toString() {
|
public String tojstring() {
|
||||||
return "file ("+this.hashCode()+")";
|
return "file ("+this.hashCode()+")";
|
||||||
}
|
}
|
||||||
public boolean isstdfile() {
|
public boolean isstdfile() {
|
||||||
|
|||||||
@@ -156,7 +156,7 @@ public class CoerceLuaToJava {
|
|||||||
};
|
};
|
||||||
Coercion stringCoercion = new Coercion() {
|
Coercion stringCoercion = new Coercion() {
|
||||||
public Object coerce(LuaValue value) {
|
public Object coerce(LuaValue value) {
|
||||||
return value.toString();
|
return value.tojstring();
|
||||||
}
|
}
|
||||||
public int score(LuaValue value) {
|
public int score(LuaValue value) {
|
||||||
switch ( value.type() ) {
|
switch ( value.type() ) {
|
||||||
@@ -173,7 +173,7 @@ public class CoerceLuaToJava {
|
|||||||
case LuaValue.TUSERDATA:
|
case LuaValue.TUSERDATA:
|
||||||
return value.optuserdata(Object.class, null);
|
return value.optuserdata(Object.class, null);
|
||||||
case LuaValue.TSTRING:
|
case LuaValue.TSTRING:
|
||||||
return value.toString();
|
return value.tojstring();
|
||||||
case LuaValue.TNUMBER:
|
case LuaValue.TNUMBER:
|
||||||
return (value.isinttype()?
|
return (value.isinttype()?
|
||||||
new Integer(value.toint()):
|
new Integer(value.toint()):
|
||||||
|
|||||||
@@ -99,7 +99,7 @@ public class JseIoLib extends IoLib {
|
|||||||
private FileImpl( OutputStream o ) {
|
private FileImpl( OutputStream o ) {
|
||||||
this( null, null, o );
|
this( null, null, o );
|
||||||
}
|
}
|
||||||
public String toString() {
|
public String tojstring() {
|
||||||
return "file ("+this.hashCode()+")";
|
return "file ("+this.hashCode()+")";
|
||||||
}
|
}
|
||||||
public boolean isstdfile() {
|
public boolean isstdfile() {
|
||||||
|
|||||||
@@ -88,14 +88,14 @@ public class LuajavaLib extends OneArgFunction {
|
|||||||
try {
|
try {
|
||||||
switch ( opcode ) {
|
switch ( opcode ) {
|
||||||
case BINDCLASS: {
|
case BINDCLASS: {
|
||||||
final Class clazz = Class.forName(args.checkString(1));
|
final Class clazz = Class.forName(args.checkjstring(1));
|
||||||
return toUserdata( clazz, clazz );
|
return toUserdata( clazz, clazz );
|
||||||
}
|
}
|
||||||
case NEWINSTANCE:
|
case NEWINSTANCE:
|
||||||
case NEW: {
|
case NEW: {
|
||||||
// get constructor
|
// get constructor
|
||||||
final LuaValue c = args.checkvalue(1);
|
final LuaValue c = args.checkvalue(1);
|
||||||
final Class clazz = (opcode==NEWINSTANCE? Class.forName(c.toString()): (Class) c.checkuserdata(Class.class));
|
final Class clazz = (opcode==NEWINSTANCE? Class.forName(c.tojstring()): (Class) c.checkuserdata(Class.class));
|
||||||
final ParamsList params = new ParamsList( args );
|
final ParamsList params = new ParamsList( args );
|
||||||
final Constructor con = resolveConstructor( clazz, params );
|
final Constructor con = resolveConstructor( clazz, params );
|
||||||
|
|
||||||
@@ -116,7 +116,7 @@ public class LuajavaLib extends OneArgFunction {
|
|||||||
// get the interfaces
|
// get the interfaces
|
||||||
final Class[] ifaces = new Class[niface];
|
final Class[] ifaces = new Class[niface];
|
||||||
for ( int i=0; i<niface; i++ )
|
for ( int i=0; i<niface; i++ )
|
||||||
ifaces[i] = Class.forName(args.checkString(i+1));
|
ifaces[i] = Class.forName(args.checkjstring(i+1));
|
||||||
|
|
||||||
// create the invocation handler
|
// create the invocation handler
|
||||||
InvocationHandler handler = new InvocationHandler() {
|
InvocationHandler handler = new InvocationHandler() {
|
||||||
@@ -154,8 +154,8 @@ public class LuajavaLib extends OneArgFunction {
|
|||||||
}
|
}
|
||||||
case LOADLIB: {
|
case LOADLIB: {
|
||||||
// get constructor
|
// get constructor
|
||||||
String classname = args.checkString(1);
|
String classname = args.checkjstring(1);
|
||||||
String methodname = args.checkString(2);
|
String methodname = args.checkjstring(2);
|
||||||
Class clazz = Class.forName(classname);
|
Class clazz = Class.forName(classname);
|
||||||
Method method = clazz.getMethod(methodname, new Class[] {});
|
Method method = clazz.getMethod(methodname, new Class[] {});
|
||||||
Object result = method.invoke(clazz, new Object[] {});
|
Object result = method.invoke(clazz, new Object[] {});
|
||||||
@@ -217,7 +217,7 @@ public class LuajavaLib extends OneArgFunction {
|
|||||||
return NIL;
|
return NIL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
final String s = key.toString();
|
final String s = key.tojstring();
|
||||||
try {
|
try {
|
||||||
Field f = clazz.getField(s);
|
Field f = clazz.getField(s);
|
||||||
Object o = f.get(instance);
|
Object o = f.get(instance);
|
||||||
@@ -254,7 +254,7 @@ public class LuajavaLib extends OneArgFunction {
|
|||||||
return NIL;
|
return NIL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
String s = key.toString();
|
String s = key.tojstring();
|
||||||
try {
|
try {
|
||||||
Field f = clazz.getField(s);
|
Field f = clazz.getField(s);
|
||||||
Object v = CoerceLuaToJava.coerceArg(val, f.getType());
|
Object v = CoerceLuaToJava.coerceArg(val, f.getType());
|
||||||
@@ -277,7 +277,7 @@ public class LuajavaLib extends OneArgFunction {
|
|||||||
this.clazz = clazz;
|
this.clazz = clazz;
|
||||||
this.s = s;
|
this.s = s;
|
||||||
}
|
}
|
||||||
public String toString() {
|
public String tojstring() {
|
||||||
return clazz.getName()+"."+s+"()";
|
return clazz.getName()+"."+s+"()";
|
||||||
}
|
}
|
||||||
public Varargs invoke(Varargs args) {
|
public Varargs invoke(Varargs args) {
|
||||||
|
|||||||
@@ -631,7 +631,7 @@ public class JavaBuilder {
|
|||||||
cg.addField(fg.getField());
|
cg.addField(fg.getField());
|
||||||
LuaString ls = value.checkstring();
|
LuaString ls = value.checkstring();
|
||||||
if ( ls.isValidUtf8() ) {
|
if ( ls.isValidUtf8() ) {
|
||||||
init.append(new PUSH(cp, value.toString()));
|
init.append(new PUSH(cp, value.tojstring()));
|
||||||
init.append(factory.createInvoke(STR_LUASTRING, "valueOf",
|
init.append(factory.createInvoke(STR_LUASTRING, "valueOf",
|
||||||
TYPE_LUASTRING, new Type[] { Type.STRING }, Constants.INVOKESTATIC));
|
TYPE_LUASTRING, new Type[] { Type.STRING }, Constants.INVOKESTATIC));
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -79,8 +79,8 @@ public class Slots {
|
|||||||
markforloopupvalues( p );
|
markforloopupvalues( p );
|
||||||
}
|
}
|
||||||
|
|
||||||
public String toString() {
|
public String tojstring() {
|
||||||
return toString(null);
|
return tojstring(null);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void markassignments( Prototype p ) {
|
private void markassignments( Prototype p ) {
|
||||||
@@ -416,7 +416,7 @@ public class Slots {
|
|||||||
|
|
||||||
public static void printSlots(Prototype p) {
|
public static void printSlots(Prototype p) {
|
||||||
Slots s = new Slots(p);
|
Slots s = new Slots(p);
|
||||||
System.out.println("slots for "+p.source+":\n"+s.toString(p) );
|
System.out.println("slots for "+p.source+":\n"+s.tojstring(p) );
|
||||||
for ( int i=0; i<p.p.length; i++ )
|
for ( int i=0; i<p.p.length; i++ )
|
||||||
printSlots(p.p[i]);
|
printSlots(p.p[i]);
|
||||||
}
|
}
|
||||||
@@ -450,7 +450,7 @@ public class Slots {
|
|||||||
return strs;
|
return strs;
|
||||||
}
|
}
|
||||||
|
|
||||||
String toString(Prototype p) {
|
String tojstring(Prototype p) {
|
||||||
String[] s = toStrings();
|
String[] s = toStrings();
|
||||||
ByteArrayOutputStream baos = new ByteArrayOutputStream();
|
ByteArrayOutputStream baos = new ByteArrayOutputStream();
|
||||||
PrintStream ps = new PrintStream( baos );
|
PrintStream ps = new PrintStream( baos );
|
||||||
|
|||||||
@@ -227,7 +227,7 @@ public class LuaScriptEngine implements ScriptEngine, Compilable {
|
|||||||
private Object toJava(LuaValue v) {
|
private Object toJava(LuaValue v) {
|
||||||
switch ( v.type() ) {
|
switch ( v.type() ) {
|
||||||
case LuaValue.TNIL: return null;
|
case LuaValue.TNIL: return null;
|
||||||
case LuaValue.TSTRING: return v.toString();
|
case LuaValue.TSTRING: return v.tojstring();
|
||||||
case LuaValue.TUSERDATA: return v.checkuserdata(Object.class);
|
case LuaValue.TUSERDATA: return v.checkuserdata(Object.class);
|
||||||
case LuaValue.TNUMBER: return v.isinttype()? new Integer(v.toint()): new Double(v.todouble());
|
case LuaValue.TNUMBER: return v.isinttype()? new Integer(v.toint()): new Double(v.todouble());
|
||||||
default:
|
default:
|
||||||
|
|||||||
@@ -167,18 +167,18 @@ public class MetatableTest extends TestCase {
|
|||||||
// plain metatable
|
// plain metatable
|
||||||
mt.set( LuaValue.INDEX, new TwoArgFunction() {
|
mt.set( LuaValue.INDEX, new TwoArgFunction() {
|
||||||
public LuaValue call(LuaValue arg1, LuaValue arg2) {
|
public LuaValue call(LuaValue arg1, LuaValue arg2) {
|
||||||
return LuaValue.valueOf( arg1.typename()+"["+arg2.toString()+"]=xyz" );
|
return LuaValue.valueOf( arg1.typename()+"["+arg2.tojstring()+"]=xyz" );
|
||||||
}
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
assertEquals( "table[1]=xyz", table.get(1).toString() );
|
assertEquals( "table[1]=xyz", table.get(1).tojstring() );
|
||||||
assertEquals( "userdata[1]=xyz", userdata.get(1).toString() );
|
assertEquals( "userdata[1]=xyz", userdata.get(1).tojstring() );
|
||||||
assertEquals( "nil[1]=xyz", LuaValue.NIL.get(1).toString() );
|
assertEquals( "nil[1]=xyz", LuaValue.NIL.get(1).tojstring() );
|
||||||
assertEquals( "boolean[1]=xyz", LuaValue.TRUE.get(1).toString() );
|
assertEquals( "boolean[1]=xyz", LuaValue.TRUE.get(1).tojstring() );
|
||||||
assertEquals( "number[1]=xyz", LuaValue.ONE.get(1).toString() );
|
assertEquals( "number[1]=xyz", LuaValue.ONE.get(1).tojstring() );
|
||||||
// assertEquals( "string[1]=xyz", string.get(1).toString() );
|
// assertEquals( "string[1]=xyz", string.get(1).tojstring() );
|
||||||
assertEquals( "function[1]=xyz", function.get(1).toString() );
|
assertEquals( "function[1]=xyz", function.get(1).tojstring() );
|
||||||
assertEquals( "thread[1]=xyz", thread.get(1).toString() );
|
assertEquals( "thread[1]=xyz", thread.get(1).tojstring() );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -53,7 +53,7 @@ public class TableArrayTest extends TestCase {
|
|||||||
|
|
||||||
// Ensure all keys are still there.
|
// Ensure all keys are still there.
|
||||||
for ( int i = 1; i <= 32; ++i ) {
|
for ( int i = 1; i <= 32; ++i ) {
|
||||||
assertEquals( "Test Value! " + i, t.get( i ).toString() );
|
assertEquals( "Test Value! " + i, t.get( i ).tojstring() );
|
||||||
}
|
}
|
||||||
|
|
||||||
// Ensure capacities make sense
|
// Ensure capacities make sense
|
||||||
@@ -92,7 +92,7 @@ public class TableArrayTest extends TestCase {
|
|||||||
|
|
||||||
// Ensure all keys are still there.
|
// Ensure all keys are still there.
|
||||||
for ( int i = 1; i <= 32; ++i ) {
|
for ( int i = 1; i <= 32; ++i ) {
|
||||||
assertEquals( "Test Value! "+i, t.get( i ).toString() );
|
assertEquals( "Test Value! "+i, t.get( i ).tojstring() );
|
||||||
}
|
}
|
||||||
|
|
||||||
// Ensure capacities make sense
|
// Ensure capacities make sense
|
||||||
@@ -134,8 +134,8 @@ public class TableArrayTest extends TestCase {
|
|||||||
assertTrue( ( intKeys & mask ) == 0 );
|
assertTrue( ( intKeys & mask ) == 0 );
|
||||||
intKeys |= mask;
|
intKeys |= mask;
|
||||||
} else if ( k instanceof LuaString ) {
|
} else if ( k instanceof LuaString ) {
|
||||||
final int ik = Integer.parseInt( k.toString() );
|
final int ik = Integer.parseInt( k.tojstring() );
|
||||||
assertEquals( String.valueOf( ik ), k.toString() );
|
assertEquals( String.valueOf( ik ), k.tojstring() );
|
||||||
assertTrue( ik >= 0 && ik < 10 );
|
assertTrue( ik >= 0 && ik < 10 );
|
||||||
final int mask = 1 << ik;
|
final int mask = 1 << ik;
|
||||||
assertTrue( "Key \""+ik+"\" found more than once", ( stringKeys & mask ) == 0 );
|
assertTrue( "Key \""+ik+"\" found more than once", ( stringKeys & mask ) == 0 );
|
||||||
@@ -267,8 +267,8 @@ public class TableArrayTest extends TestCase {
|
|||||||
assertEquals(v.size(),t.length());
|
assertEquals(v.size(),t.length());
|
||||||
for ( int j=0; j<n; j++ ) {
|
for ( int j=0; j<n; j++ ) {
|
||||||
Object vj = v.elementAt(j);
|
Object vj = v.elementAt(j);
|
||||||
Object tj = t.get(j+1).toString();
|
Object tj = t.get(j+1).tojstring();
|
||||||
vj = ((LuaString)vj).toString();
|
vj = ((LuaString)vj).tojstring();
|
||||||
assertEquals(vj,tj);
|
assertEquals(vj,tj);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -107,48 +107,48 @@ public class TableHashTest extends TestCase {
|
|||||||
fb.set( 456, "jkl" );
|
fb.set( 456, "jkl" );
|
||||||
|
|
||||||
// check before setting metatable
|
// check before setting metatable
|
||||||
assertEquals( "abc", t.get("ppp").toString() );
|
assertEquals( "abc", t.get("ppp").tojstring() );
|
||||||
assertEquals( "def", t.get(123).toString() );
|
assertEquals( "def", t.get(123).tojstring() );
|
||||||
assertEquals( "nil", t.get("qqq").toString() );
|
assertEquals( "nil", t.get("qqq").tojstring() );
|
||||||
assertEquals( "nil", t.get(456).toString() );
|
assertEquals( "nil", t.get(456).tojstring() );
|
||||||
assertEquals( "nil", fb.get("ppp").toString() );
|
assertEquals( "nil", fb.get("ppp").tojstring() );
|
||||||
assertEquals( "nil", fb.get(123).toString() );
|
assertEquals( "nil", fb.get(123).tojstring() );
|
||||||
assertEquals( "ghi", fb.get("qqq").toString() );
|
assertEquals( "ghi", fb.get("qqq").tojstring() );
|
||||||
assertEquals( "jkl", fb.get(456).toString() );
|
assertEquals( "jkl", fb.get(456).tojstring() );
|
||||||
assertEquals( "nil", mt.get("ppp").toString() );
|
assertEquals( "nil", mt.get("ppp").tojstring() );
|
||||||
assertEquals( "nil", mt.get(123).toString() );
|
assertEquals( "nil", mt.get(123).tojstring() );
|
||||||
assertEquals( "nil", mt.get("qqq").toString() );
|
assertEquals( "nil", mt.get("qqq").tojstring() );
|
||||||
assertEquals( "nil", mt.get(456).toString() );
|
assertEquals( "nil", mt.get(456).tojstring() );
|
||||||
|
|
||||||
// check before setting metatable
|
// check before setting metatable
|
||||||
t.setmetatable(mt);
|
t.setmetatable(mt);
|
||||||
assertEquals( mt, t.getmetatable() );
|
assertEquals( mt, t.getmetatable() );
|
||||||
assertEquals( "abc", t.get("ppp").toString() );
|
assertEquals( "abc", t.get("ppp").tojstring() );
|
||||||
assertEquals( "def", t.get(123).toString() );
|
assertEquals( "def", t.get(123).tojstring() );
|
||||||
assertEquals( "ghi", t.get("qqq").toString() );
|
assertEquals( "ghi", t.get("qqq").tojstring() );
|
||||||
assertEquals( "jkl", t.get(456).toString() );
|
assertEquals( "jkl", t.get(456).tojstring() );
|
||||||
assertEquals( "nil", fb.get("ppp").toString() );
|
assertEquals( "nil", fb.get("ppp").tojstring() );
|
||||||
assertEquals( "nil", fb.get(123).toString() );
|
assertEquals( "nil", fb.get(123).tojstring() );
|
||||||
assertEquals( "ghi", fb.get("qqq").toString() );
|
assertEquals( "ghi", fb.get("qqq").tojstring() );
|
||||||
assertEquals( "jkl", fb.get(456).toString() );
|
assertEquals( "jkl", fb.get(456).tojstring() );
|
||||||
assertEquals( "nil", mt.get("ppp").toString() );
|
assertEquals( "nil", mt.get("ppp").tojstring() );
|
||||||
assertEquals( "nil", mt.get(123).toString() );
|
assertEquals( "nil", mt.get(123).tojstring() );
|
||||||
assertEquals( "nil", mt.get("qqq").toString() );
|
assertEquals( "nil", mt.get("qqq").tojstring() );
|
||||||
assertEquals( "nil", mt.get(456).toString() );
|
assertEquals( "nil", mt.get(456).tojstring() );
|
||||||
|
|
||||||
// set metatable to metatable without values
|
// set metatable to metatable without values
|
||||||
t.setmetatable(fb);
|
t.setmetatable(fb);
|
||||||
assertEquals( "abc", t.get("ppp").toString() );
|
assertEquals( "abc", t.get("ppp").tojstring() );
|
||||||
assertEquals( "def", t.get(123).toString() );
|
assertEquals( "def", t.get(123).tojstring() );
|
||||||
assertEquals( "nil", t.get("qqq").toString() );
|
assertEquals( "nil", t.get("qqq").tojstring() );
|
||||||
assertEquals( "nil", t.get(456).toString() );
|
assertEquals( "nil", t.get(456).tojstring() );
|
||||||
|
|
||||||
// set metatable to null
|
// set metatable to null
|
||||||
t.setmetatable(null);
|
t.setmetatable(null);
|
||||||
assertEquals( "abc", t.get("ppp").toString() );
|
assertEquals( "abc", t.get("ppp").tojstring() );
|
||||||
assertEquals( "def", t.get(123).toString() );
|
assertEquals( "def", t.get(123).tojstring() );
|
||||||
assertEquals( "nil", t.get("qqq").toString() );
|
assertEquals( "nil", t.get("qqq").tojstring() );
|
||||||
assertEquals( "nil", t.get(456).toString() );
|
assertEquals( "nil", t.get(456).tojstring() );
|
||||||
}
|
}
|
||||||
|
|
||||||
public void testIndexFunction() {
|
public void testIndexFunction() {
|
||||||
@@ -168,42 +168,42 @@ public class TableHashTest extends TestCase {
|
|||||||
mt.set(LuaValue.INDEX, fb);
|
mt.set(LuaValue.INDEX, fb);
|
||||||
|
|
||||||
// check before setting metatable
|
// check before setting metatable
|
||||||
assertEquals( "abc", t.get("ppp").toString() );
|
assertEquals( "abc", t.get("ppp").tojstring() );
|
||||||
assertEquals( "def", t.get(123).toString() );
|
assertEquals( "def", t.get(123).tojstring() );
|
||||||
assertEquals( "nil", t.get("qqq").toString() );
|
assertEquals( "nil", t.get("qqq").tojstring() );
|
||||||
assertEquals( "nil", t.get(456).toString() );
|
assertEquals( "nil", t.get(456).tojstring() );
|
||||||
|
|
||||||
|
|
||||||
// check before setting metatable
|
// check before setting metatable
|
||||||
t.setmetatable(mt);
|
t.setmetatable(mt);
|
||||||
assertEquals( mt, t.getmetatable() );
|
assertEquals( mt, t.getmetatable() );
|
||||||
assertEquals( "abc", t.get("ppp").toString() );
|
assertEquals( "abc", t.get("ppp").tojstring() );
|
||||||
assertEquals( "def", t.get(123).toString() );
|
assertEquals( "def", t.get(123).tojstring() );
|
||||||
assertEquals( "from mt: qqq", t.get("qqq").toString() );
|
assertEquals( "from mt: qqq", t.get("qqq").tojstring() );
|
||||||
assertEquals( "from mt: 456", t.get(456).toString() );
|
assertEquals( "from mt: 456", t.get(456).tojstring() );
|
||||||
|
|
||||||
// use raw set
|
// use raw set
|
||||||
t.rawset("qqq", "alt-qqq");
|
t.rawset("qqq", "alt-qqq");
|
||||||
t.rawset(456, "alt-456");
|
t.rawset(456, "alt-456");
|
||||||
assertEquals( "abc", t.get("ppp").toString() );
|
assertEquals( "abc", t.get("ppp").tojstring() );
|
||||||
assertEquals( "def", t.get(123).toString() );
|
assertEquals( "def", t.get(123).tojstring() );
|
||||||
assertEquals( "alt-qqq", t.get("qqq").toString() );
|
assertEquals( "alt-qqq", t.get("qqq").tojstring() );
|
||||||
assertEquals( "alt-456", t.get(456).toString() );
|
assertEquals( "alt-456", t.get(456).tojstring() );
|
||||||
|
|
||||||
// remove using raw set
|
// remove using raw set
|
||||||
t.rawset("qqq", LuaValue.NIL);
|
t.rawset("qqq", LuaValue.NIL);
|
||||||
t.rawset(456, LuaValue.NIL);
|
t.rawset(456, LuaValue.NIL);
|
||||||
assertEquals( "abc", t.get("ppp").toString() );
|
assertEquals( "abc", t.get("ppp").tojstring() );
|
||||||
assertEquals( "def", t.get(123).toString() );
|
assertEquals( "def", t.get(123).tojstring() );
|
||||||
assertEquals( "from mt: qqq", t.get("qqq").toString() );
|
assertEquals( "from mt: qqq", t.get("qqq").tojstring() );
|
||||||
assertEquals( "from mt: 456", t.get(456).toString() );
|
assertEquals( "from mt: 456", t.get(456).tojstring() );
|
||||||
|
|
||||||
// set metatable to null
|
// set metatable to null
|
||||||
t.setmetatable(null);
|
t.setmetatable(null);
|
||||||
assertEquals( "abc", t.get("ppp").toString() );
|
assertEquals( "abc", t.get("ppp").tojstring() );
|
||||||
assertEquals( "def", t.get(123).toString() );
|
assertEquals( "def", t.get(123).tojstring() );
|
||||||
assertEquals( "nil", t.get("qqq").toString() );
|
assertEquals( "nil", t.get("qqq").tojstring() );
|
||||||
assertEquals( "nil", t.get(456).toString() );
|
assertEquals( "nil", t.get(456).tojstring() );
|
||||||
}
|
}
|
||||||
|
|
||||||
public void testNext() {
|
public void testNext() {
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ public class TableTest extends TestCase {
|
|||||||
|
|
||||||
// Ensure all keys are still there.
|
// Ensure all keys are still there.
|
||||||
for ( int i = 1; i <= 32; ++i ) {
|
for ( int i = 1; i <= 32; ++i ) {
|
||||||
assertEquals( "Test Value! " + i, t.get( i ).toString() );
|
assertEquals( "Test Value! " + i, t.get( i ).tojstring() );
|
||||||
}
|
}
|
||||||
|
|
||||||
// Ensure capacities make sense
|
// Ensure capacities make sense
|
||||||
@@ -83,7 +83,7 @@ public class TableTest extends TestCase {
|
|||||||
|
|
||||||
// Ensure all keys are still there.
|
// Ensure all keys are still there.
|
||||||
for ( int i = 1; i <= 32; ++i ) {
|
for ( int i = 1; i <= 32; ++i ) {
|
||||||
assertEquals( "Test Value! "+i, t.get( i ).toString() );
|
assertEquals( "Test Value! "+i, t.get( i ).tojstring() );
|
||||||
}
|
}
|
||||||
|
|
||||||
// Ensure capacities make sense
|
// Ensure capacities make sense
|
||||||
@@ -125,8 +125,8 @@ public class TableTest extends TestCase {
|
|||||||
assertTrue( ( intKeys & mask ) == 0 );
|
assertTrue( ( intKeys & mask ) == 0 );
|
||||||
intKeys |= mask;
|
intKeys |= mask;
|
||||||
} else if ( k instanceof LuaString ) {
|
} else if ( k instanceof LuaString ) {
|
||||||
final int ik = Integer.parseInt( k.strvalue().toString() );
|
final int ik = Integer.parseInt( k.strvalue().tojstring() );
|
||||||
assertEquals( String.valueOf( ik ), k.strvalue().toString() );
|
assertEquals( String.valueOf( ik ), k.strvalue().tojstring() );
|
||||||
assertTrue( ik >= 0 && ik < 10 );
|
assertTrue( ik >= 0 && ik < 10 );
|
||||||
final int mask = 1 << ik;
|
final int mask = 1 << ik;
|
||||||
assertTrue( "Key \""+ik+"\" found more than once", ( stringKeys & mask ) == 0 );
|
assertTrue( "Key \""+ik+"\" found more than once", ( stringKeys & mask ) == 0 );
|
||||||
@@ -252,8 +252,8 @@ public class TableTest extends TestCase {
|
|||||||
assertEquals(v.size(),t.length());
|
assertEquals(v.size(),t.length());
|
||||||
for ( int j=0; j<n; j++ ) {
|
for ( int j=0; j<n; j++ ) {
|
||||||
Object vj = v.elementAt(j);
|
Object vj = v.elementAt(j);
|
||||||
Object tj = t.get(j+1).toString();
|
Object tj = t.get(j+1).tojstring();
|
||||||
vj = ((LuaString)vj).toString();
|
vj = ((LuaString)vj).tojstring();
|
||||||
assertEquals(vj,tj);
|
assertEquals(vj,tj);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -495,23 +495,23 @@ public class TypeTest extends TestCase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void testToString() {
|
public void testToString() {
|
||||||
assertEquals( "nil", somenil.toString() );
|
assertEquals( "nil", somenil.tojstring() );
|
||||||
assertEquals( "false", somefalse.toString() );
|
assertEquals( "false", somefalse.tojstring() );
|
||||||
assertEquals( "true", sometrue.toString() );
|
assertEquals( "true", sometrue.tojstring() );
|
||||||
assertEquals( "0", zero.toString() );
|
assertEquals( "0", zero.tojstring() );
|
||||||
assertEquals( String.valueOf(sampleint), intint.toString() );
|
assertEquals( String.valueOf(sampleint), intint.tojstring() );
|
||||||
assertEquals( String.valueOf(samplelong), longdouble.toString() );
|
assertEquals( String.valueOf(samplelong), longdouble.tojstring() );
|
||||||
assertEquals( String.valueOf(sampledouble), doubledouble.toString() );
|
assertEquals( String.valueOf(sampledouble), doubledouble.tojstring() );
|
||||||
assertEquals( samplestringstring, stringstring.toString() );
|
assertEquals( samplestringstring, stringstring.tojstring() );
|
||||||
assertEquals( String.valueOf(sampleint), stringint.toString() );
|
assertEquals( String.valueOf(sampleint), stringint.tojstring() );
|
||||||
assertEquals( String.valueOf(samplelong), stringlong.toString() );
|
assertEquals( String.valueOf(samplelong), stringlong.tojstring() );
|
||||||
assertEquals( String.valueOf(sampledouble), stringdouble.toString() );
|
assertEquals( String.valueOf(sampledouble), stringdouble.tojstring() );
|
||||||
assertEquals( "thread: ", thread.toString().substring(0,8) );
|
assertEquals( "thread: ", thread.tojstring().substring(0,8) );
|
||||||
assertEquals( "table: ", table.toString().substring(0,7) );
|
assertEquals( "table: ", table.tojstring().substring(0,7) );
|
||||||
assertEquals( sampleobject.toString(), userdataobj.toString() );
|
assertEquals( sampleobject.toString(), userdataobj.tojstring() );
|
||||||
assertEquals( sampledata.toString(), userdatacls.toString() );
|
assertEquals( sampledata.toString(), userdatacls.tojstring() );
|
||||||
assertEquals( "function: ", somefunc.toString().substring(0,10) );
|
assertEquals( "function: ", somefunc.tojstring().substring(0,10) );
|
||||||
assertEquals( "function: ", someclosure.toString().substring(0,10) );
|
assertEquals( "function: ", someclosure.tojstring().substring(0,10) );
|
||||||
}
|
}
|
||||||
|
|
||||||
public void testToUserdata() {
|
public void testToUserdata() {
|
||||||
@@ -763,20 +763,20 @@ public class TypeTest extends TestCase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void testOptJavaString() {
|
public void testOptJavaString() {
|
||||||
assertEquals( "xyz", somenil.optString("xyz") );
|
assertEquals( "xyz", somenil.optjstring("xyz") );
|
||||||
assertEquals( null, somenil.optString(null) );
|
assertEquals( null, somenil.optjstring(null) );
|
||||||
throwsError( sometrue, "optString", String.class, "xyz" );
|
throwsError( sometrue, "optString", String.class, "xyz" );
|
||||||
throwsError( somefalse, "optString", String.class, "xyz" );
|
throwsError( somefalse, "optString", String.class, "xyz" );
|
||||||
assertEquals( String.valueOf(zero), zero.optString("xyz") );
|
assertEquals( String.valueOf(zero), zero.optjstring("xyz") );
|
||||||
assertEquals( String.valueOf(intint), intint.optString("xyz") );
|
assertEquals( String.valueOf(intint), intint.optjstring("xyz") );
|
||||||
assertEquals( String.valueOf(longdouble), longdouble.optString("xyz") );
|
assertEquals( String.valueOf(longdouble), longdouble.optjstring("xyz") );
|
||||||
assertEquals( String.valueOf(doubledouble), doubledouble.optString("xyz") );
|
assertEquals( String.valueOf(doubledouble), doubledouble.optjstring("xyz") );
|
||||||
throwsError( somefunc, "optString", String.class, "xyz" );
|
throwsError( somefunc, "optString", String.class, "xyz" );
|
||||||
throwsError( someclosure, "optString", String.class, "xyz" );
|
throwsError( someclosure, "optString", String.class, "xyz" );
|
||||||
assertEquals( samplestringstring, stringstring.optString("xyz") );
|
assertEquals( samplestringstring, stringstring.optjstring("xyz") );
|
||||||
assertEquals( samplestringint, stringint.optString("xyz") );
|
assertEquals( samplestringint, stringint.optjstring("xyz") );
|
||||||
assertEquals( samplestringlong, stringlong.optString("xyz") );
|
assertEquals( samplestringlong, stringlong.optjstring("xyz") );
|
||||||
assertEquals( samplestringdouble, stringdouble.optString("xyz") );
|
assertEquals( samplestringdouble, stringdouble.optjstring("xyz") );
|
||||||
throwsError( thread, "optString", String.class, "xyz" );
|
throwsError( thread, "optString", String.class, "xyz" );
|
||||||
throwsError( table, "optString", String.class, "xyz" );
|
throwsError( table, "optString", String.class, "xyz" );
|
||||||
throwsError( userdataobj, "optString", String.class, "xyz" );
|
throwsError( userdataobj, "optString", String.class, "xyz" );
|
||||||
@@ -1119,16 +1119,16 @@ public class TypeTest extends TestCase {
|
|||||||
throwsErrorReq( somenil, "checkString" );
|
throwsErrorReq( somenil, "checkString" );
|
||||||
throwsErrorReq( sometrue, "checkString" );
|
throwsErrorReq( sometrue, "checkString" );
|
||||||
throwsErrorReq( somefalse, "checkString" );
|
throwsErrorReq( somefalse, "checkString" );
|
||||||
assertEquals( String.valueOf(zero), zero.checkString() );
|
assertEquals( String.valueOf(zero), zero.checkjstring() );
|
||||||
assertEquals( String.valueOf(intint), intint.checkString() );
|
assertEquals( String.valueOf(intint), intint.checkjstring() );
|
||||||
assertEquals( String.valueOf(longdouble), longdouble.checkString() );
|
assertEquals( String.valueOf(longdouble), longdouble.checkjstring() );
|
||||||
assertEquals( String.valueOf(doubledouble), doubledouble.checkString() );
|
assertEquals( String.valueOf(doubledouble), doubledouble.checkjstring() );
|
||||||
throwsErrorReq( somefunc, "checkString" );
|
throwsErrorReq( somefunc, "checkString" );
|
||||||
throwsErrorReq( someclosure, "checkString" );
|
throwsErrorReq( someclosure, "checkString" );
|
||||||
assertEquals( samplestringstring, stringstring.checkString() );
|
assertEquals( samplestringstring, stringstring.checkjstring() );
|
||||||
assertEquals( samplestringint, stringint.checkString() );
|
assertEquals( samplestringint, stringint.checkjstring() );
|
||||||
assertEquals( samplestringlong, stringlong.checkString() );
|
assertEquals( samplestringlong, stringlong.checkjstring() );
|
||||||
assertEquals( samplestringdouble, stringdouble.checkString() );
|
assertEquals( samplestringdouble, stringdouble.checkjstring() );
|
||||||
throwsErrorReq( thread, "checkString" );
|
throwsErrorReq( thread, "checkString" );
|
||||||
throwsErrorReq( table, "checkString" );
|
throwsErrorReq( table, "checkString" );
|
||||||
throwsErrorReq( userdataobj, "checkString" );
|
throwsErrorReq( userdataobj, "checkString" );
|
||||||
|
|||||||
@@ -89,7 +89,7 @@ public class DumpLoadEndianIntTest extends TestCase {
|
|||||||
// double check script result before dumping
|
// double check script result before dumping
|
||||||
LuaClosure f = new LuaClosure(p, _G);
|
LuaClosure f = new LuaClosure(p, _G);
|
||||||
LuaValue r = f.call();
|
LuaValue r = f.call();
|
||||||
String actual = r.toString();
|
String actual = r.tojstring();
|
||||||
assertEquals( expectedPriorDump, actual );
|
assertEquals( expectedPriorDump, actual );
|
||||||
|
|
||||||
// dump into bytes
|
// dump into bytes
|
||||||
@@ -111,7 +111,7 @@ public class DumpLoadEndianIntTest extends TestCase {
|
|||||||
p = LoadState.compile(is, "dumped");
|
p = LoadState.compile(is, "dumped");
|
||||||
f = new LuaClosure(p, _G);
|
f = new LuaClosure(p, _G);
|
||||||
r = f.call();
|
r = f.call();
|
||||||
actual = r.toString();
|
actual = r.tojstring();
|
||||||
assertEquals( expectedPostDump, actual );
|
assertEquals( expectedPostDump, actual );
|
||||||
|
|
||||||
// write test chunk
|
// write test chunk
|
||||||
|
|||||||
@@ -48,7 +48,7 @@ public class LuaJavaCoercionTest extends TestCase {
|
|||||||
String s = new String("777");
|
String s = new String("777");
|
||||||
LuaValue v = CoerceJavaToLua.coerce(s);
|
LuaValue v = CoerceJavaToLua.coerce(s);
|
||||||
assertEquals( LuaString.class, v.getClass() );
|
assertEquals( LuaString.class, v.getClass() );
|
||||||
assertEquals( "777", v.toString() );
|
assertEquals( "777", v.tojstring() );
|
||||||
}
|
}
|
||||||
|
|
||||||
public void testLuaStringToJavaString() {
|
public void testLuaStringToJavaString() {
|
||||||
@@ -162,22 +162,22 @@ public class LuaJavaCoercionTest extends TestCase {
|
|||||||
// get sample field, call with no arguments
|
// get sample field, call with no arguments
|
||||||
LuaValue method = v.get(SAMPLE);
|
LuaValue method = v.get(SAMPLE);
|
||||||
LuaValue result = method.call(v);
|
LuaValue result = method.call(v);
|
||||||
assertEquals( "void-args", result.toString() );
|
assertEquals( "void-args", result.tojstring() );
|
||||||
|
|
||||||
// get sample field, call with one arguments
|
// get sample field, call with one arguments
|
||||||
LuaValue arg = CoerceJavaToLua.coerce(new Integer(123));
|
LuaValue arg = CoerceJavaToLua.coerce(new Integer(123));
|
||||||
result = method.call(v,arg);
|
result = method.call(v,arg);
|
||||||
assertEquals( "int-args 123", result.toString() );
|
assertEquals( "int-args 123", result.tojstring() );
|
||||||
|
|
||||||
// get sample field, call with array argument
|
// get sample field, call with array argument
|
||||||
arg = CoerceJavaToLua.coerce(new int[]{345,678});
|
arg = CoerceJavaToLua.coerce(new int[]{345,678});
|
||||||
result = method.call(v,arg);
|
result = method.call(v,arg);
|
||||||
assertEquals( "int-array-args 345,678", result.toString() );
|
assertEquals( "int-array-args 345,678", result.tojstring() );
|
||||||
|
|
||||||
// get sample field, call with two-d array argument
|
// get sample field, call with two-d array argument
|
||||||
arg = CoerceJavaToLua.coerce(new int[][]{{22,33},{44,55}});
|
arg = CoerceJavaToLua.coerce(new int[][]{{22,33},{44,55}});
|
||||||
result = method.call(v,arg);
|
result = method.call(v,arg);
|
||||||
assertEquals( "int-array-array-args 22,33,44,55", result.toString() );
|
assertEquals( "int-array-array-args 22,33,44,55", result.tojstring() );
|
||||||
}
|
}
|
||||||
|
|
||||||
public static final class SomeException extends RuntimeException {
|
public static final class SomeException extends RuntimeException {
|
||||||
@@ -198,7 +198,7 @@ public class LuaJavaCoercionTest extends TestCase {
|
|||||||
LuaValue status = vresult.arg1();
|
LuaValue status = vresult.arg1();
|
||||||
LuaValue message = vresult.arg(2);
|
LuaValue message = vresult.arg(2);
|
||||||
assertEquals( LuaValue.FALSE, status );
|
assertEquals( LuaValue.FALSE, status );
|
||||||
assertEquals( "vm error: "+SomeException.class.getName()+": this is some message", message.toString() );
|
assertEquals( "vm error: "+SomeException.class.getName()+": this is some message", message.tojstring() );
|
||||||
}
|
}
|
||||||
|
|
||||||
public void testLuaErrorCause() {
|
public void testLuaErrorCause() {
|
||||||
@@ -234,7 +234,7 @@ public class LuaJavaCoercionTest extends TestCase {
|
|||||||
"} )\n";
|
"} )\n";
|
||||||
Varargs chunk = _G.get("loadstring").call(LuaValue.valueOf(script));
|
Varargs chunk = _G.get("loadstring").call(LuaValue.valueOf(script));
|
||||||
if ( ! chunk.arg1().toboolean() )
|
if ( ! chunk.arg1().toboolean() )
|
||||||
fail( chunk.arg(2).toString() );
|
fail( chunk.arg(2).tojstring() );
|
||||||
LuaValue result = chunk.arg1().call();
|
LuaValue result = chunk.arg1().call();
|
||||||
Object u = result.touserdata();
|
Object u = result.touserdata();
|
||||||
VarArgsInterface v = (VarArgsInterface) u;
|
VarArgsInterface v = (VarArgsInterface) u;
|
||||||
|
|||||||
@@ -96,7 +96,7 @@ public class Luajvm1CompatibilityTest extends TestCase {
|
|||||||
LuaThread.getRunning().setfenv(_G);
|
LuaThread.getRunning().setfenv(_G);
|
||||||
_G.get("package").get("loaders").checktable().insert(1, new org.luaj.vm2.lib.OneArgFunction(_G) {
|
_G.get("package").get("loaders").checktable().insert(1, new org.luaj.vm2.lib.OneArgFunction(_G) {
|
||||||
public LuaValue call(LuaValue arg) {
|
public LuaValue call(LuaValue arg) {
|
||||||
String name = arg.toString();
|
String name = arg.tojstring();
|
||||||
String file = name + ".lua";
|
String file = name + ".lua";
|
||||||
InputStream is = open( file );
|
InputStream is = open( file );
|
||||||
if ( is == null )
|
if ( is == null )
|
||||||
|
|||||||
Reference in New Issue
Block a user