Refactor string conversions

This commit is contained in:
James Roseborough
2010-04-25 15:50:40 +00:00
parent 10450a0427
commit 79b0294207
41 changed files with 267 additions and 239 deletions

View File

@@ -36,7 +36,7 @@ Java Type Coercion Functions,,,,,,,,,,,,
,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
,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
,,,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
,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
,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
,opttable,LuaTable,e,e,e,e,e,defval,e,this,e,e
,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
,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
,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
,checktable,LuaTable,e,e,e,e,e,e,e,this,e,e
,checkthread,LuaThread,e,e,e,e,e,e,e,e,this,e
1 LuaValue Consructors Return type
36 toshort short 0 0 0 0 this.v | 0 0 this.v | 0 0 0 0
37 toString tojstring String "true"|"false" "closure: x" "name" (str) this.v (str) this.v "nil" this.v "table: x" "thread: x" "userdata: x"
38 touserdata Object null null null null null null null null this this.instance
39 LuaBoolean LuaClosure LuaFunction LuaDouble LuaInteger LuaNil LuaString LuaTable LuaThread LuaUserdata
40 Optional Argument Conversion Functions
41 optboolean boolean this e e e e defval e e e e
42 optclosure LuaClosure n this e e e defval e e e e
49 optString optjstring String e e e (str) this.v (str) this.v defval this e e e
50 optstring LuaString e e e (str) this.v (str) this.v defval this e e e
51 opttable LuaTable e e e e e defval e this e e
52 optthread LuaThread e e e e e defval e e this n
53 optuserdata Object e e e e e defval e e e instance
54 optuserdata(Class c) Object e e e e e defval e e e instance | e
55 Required Argument Conversion Functions
65 checkstring LuaString e e e (str) this.v (str) this.v e this e e e
66 checktable LuaTable e e e e e e e this e e
67 checkthread LuaThread e e e e e e e e this e
68 checkuserdata Object e e e e e e e e e instance
69 checkuserdata(Class c) Object e e e e e e e e e instance | e
70 checkvalue LuaValue this this this this this e this this this this
71 LuaBoolean LuaClosure LuaFunction LuaDouble LuaInteger LuaNil LuaString LuaTable LuaThread LuaUserdata

View File

@@ -41,8 +41,8 @@ public final class Buffer {
length = 0;
}
public final String toString() {
return LuaString.valueOf(bytes, 0, length).toString();
public final String tojstring() {
return LuaString.valueOf(bytes, 0, length).tojstring();
}
public final void append( byte b ) {

View File

@@ -32,7 +32,7 @@ public class LocVars {
this.endpc = endpc;
}
public String toString() {
public String tojstring() {
return varname+" "+startpc+"-"+endpc;
}
}

View File

@@ -55,7 +55,7 @@ public class LuaBoolean extends LuaValue {
return v;
}
public String toString() {
public String tojstring() {
return v ? "true" : "false";
}

View File

@@ -30,13 +30,9 @@ public class LuaDouble extends LuaNumber {
public static final LuaDouble NAN = new LuaDouble( Double.NaN );
public static final LuaDouble POSINF = new LuaDouble( Double.POSITIVE_INFINITY );
public static final LuaDouble NEGINF = new LuaDouble( Double.NEGATIVE_INFINITY );
private static Hashtable ALIASES = new Hashtable();
static {
ALIASES.put( "NaN", "nan" );
ALIASES.put( "Infinity", "inf" );
ALIASES.put( "-Infinity", "-inf" );
}
public static final String JSTR_NAN = "nan";
public static final String JSTR_POSINF = "inf";
public static final String JSTR_NEGINF = "-inf";
final double v;
@@ -135,7 +131,7 @@ public class LuaDouble extends LuaNumber {
public String concat_s(LuaValue rhs) { return rhs.concatTo_s(Double.toString(v)); }
public String concatTo_s(String lhs) { return lhs + v; }
public String toString() {
public String tojstring() {
/*
if ( v == 0.0 ) { // never occurs in J2me
long bits = Double.doubleToLongBits( v );
@@ -143,23 +139,29 @@ public class LuaDouble extends LuaNumber {
}
*/
long l = (long) v;
if ( l == v ) return Long.toString(l);
String s = Double.toString(v);
Object n = ALIASES.get(s);
return n!=null? (String)n: s;
if ( l == v )
return Long.toString(l);
if ( Double.isNaN(v) )
return JSTR_NAN;
if ( Double.isInfinite(v) )
return (v<0? JSTR_NEGINF: JSTR_POSINF);
return Double.toString(v);
}
public LuaString strvalue() {
return LuaString.valueOf(toString());
return LuaString.valueOf(tojstring());
}
public LuaString optstring(LuaString defval) {
return LuaString.valueOf(toString());
return LuaString.valueOf(tojstring());
}
public String optString(String defval) {
long l = (long)v;
return v==l? Long.toString(l): Double.toString(v);
public LuaValue tostring() {
return LuaString.valueOf(tojstring());
}
public String optjstring(String defval) {
return tojstring();
}
public LuaNumber optnumber(LuaNumber defval) {
@@ -182,11 +184,11 @@ public class LuaDouble extends LuaNumber {
public LuaNumber checknumber() { return this; }
public double checkdouble() { return v; }
public String checkString() {
return toString();
public String checkjstring() {
return tojstring();
}
public LuaString checkstring() {
return LuaString.valueOf(toString());
return LuaString.valueOf(tojstring());
}
}

View File

@@ -41,7 +41,7 @@ public class LuaError extends RuntimeException {
LuaThread thread = LuaThread.getRunning();
if ( thread.err != null ) {
try {
return thread.err.call( LuaValue.valueOf(msg) ).toString();
return thread.err.call( LuaValue.valueOf(msg) ).tojstring();
} catch ( Throwable t ) {
return "error in error handling";
}

View File

@@ -66,7 +66,7 @@ public class LuaInteger extends LuaNumber {
public LuaInteger optinteger(LuaInteger defval) { return this; }
public long optlong(long defval) { return v; }
public String toString() {
public String tojstring() {
return Integer.toString(v);
}
@@ -78,7 +78,11 @@ public class LuaInteger extends LuaNumber {
return LuaString.valueOf(Integer.toString(v));
}
public String optString(String defval) {
public LuaValue tostring() {
return LuaString.valueOf(Integer.toString(v));
}
public String optjstring(String defval) {
return Integer.toString(v);
}
@@ -157,7 +161,7 @@ public class LuaInteger extends LuaNumber {
public double checkdouble() {
return v;
}
public String checkString() {
public String checkjstring() {
return String.valueOf(v);
}
public LuaString checkstring() {

View File

@@ -35,7 +35,7 @@ public class LuaNil extends LuaValue {
return "nil";
}
public String toString() {
public String tojstring() {
return "nil";
}
@@ -74,7 +74,7 @@ public class LuaNil extends LuaValue {
public LuaNumber optnumber(LuaNumber defval) { return defval; }
public LuaTable opttable(LuaTable 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 Object optuserdata(Object defval) { return defval; }
public Object optuserdata(Class c, Object defval) { return defval; }

View File

@@ -98,7 +98,7 @@ public class LuaString extends LuaValue {
return "string";
}
public String toString() {
public String tojstring() {
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; }
// concatenation
public String concat_s(LuaValue rhs) { return rhs.concatTo_s(toString()); }
public String concatTo_s(String lhs) { return lhs + toString(); }
public String concat_s(LuaValue rhs) { return rhs.concatTo_s(tojstring()); }
public String concatTo_s(String lhs) { return lhs + tojstring(); }
// string comparison
public int strcmp(LuaValue lhs) { return -lhs.strcmp(this); }
@@ -231,8 +231,12 @@ public class LuaString extends LuaValue {
return this;
}
public String optString(String defval) {
return toString();
public LuaValue tostring() {
return this;
}
public String optjstring(String defval) {
return tojstring();
}
public LuaString strvalue() {
@@ -313,8 +317,8 @@ public class LuaString extends LuaValue {
return luaByte( index );
}
public String checkString() {
return toString();
public String checkjstring() {
return tojstring();
}
public LuaString checkstring() {

View File

@@ -121,7 +121,7 @@ public class LuaTable extends LuaValue {
m_metatable = metatable;
LuaValue mode;
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 v = m.indexOf('v')>=0;
return changemode(k,v);

View File

@@ -36,7 +36,7 @@ public class LuaUserdata extends LuaValue {
m_metatable = metatable;
}
public String toString() {
public String tojstring() {
return String.valueOf(m_instance);
}

View File

@@ -103,14 +103,20 @@ public class LuaValue extends Varargs {
public int toint() { return 0; }
public long tolong() { 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(Class c) { return null; }
// object tojstring() maps to tojstring()
public String toString() { return tojstring(); }
// type coercion to lua values
/** @return NIL if not a number or convertible to a number */
public LuaValue tonumber() { return NIL; }
/** @return NIL if not a string or number */
public LuaValue tostring() { return NIL; }
// optional argument conversions
public boolean optboolean(boolean defval) { typerror("boolean"); return false; }
public LuaClosure optclosure(LuaClosure defval) { typerror("closure"); return null; }
@@ -120,7 +126,7 @@ public class LuaValue extends Varargs {
public LuaInteger optinteger(LuaInteger defval) { typerror("integer"); return null; }
public long optlong(long defval) { typerror("long"); return 0; }
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 LuaTable opttable(LuaTable defval) { typerror("table"); 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 LuaValue optvalue(LuaValue defval) { return this; }
/** @deprecated - use optjstring() instead */
public String optString(String defval) { return optjstring(defval); }
// argument type checks
public boolean checkboolean() { typerror("boolean"); return false; }
public LuaClosure checkclosure() { typerror("closure"); return null; }
@@ -137,7 +146,7 @@ public class LuaValue extends Varargs {
public LuaInteger checkinteger() { typerror("integer"); return null; }
public long checklong() { typerror("long"); return 0; }
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 LuaTable checktable() { typerror("table"); 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 LuaValue checknotnil() { return this; }
/** @deprecated - use checkjstring() instead */
public String checkString() { return checkjstring(); }
// errors
public static LuaValue error(String message) { throw new LuaError(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 int narg() { return 0; }
public LuaValue arg1() { return NIL; }
public String toString() { return "none"; }
public String tojstring() { return "none"; }
}
// varargs from array
@@ -507,7 +519,7 @@ public class LuaValue extends Varargs {
public LuaValue arg1() {
return v1;
}
public String toString() {
public String tojstring() {
return "{"+v1+","+v2+"}";
}
}

View File

@@ -122,7 +122,7 @@ public class Print extends Lua {
static void printValue( PrintStream ps, LuaValue v ) {
switch ( v.type() ) {
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:
LuaString s = v.checkstring();
ps.print( s.length() < 48?
s.toString():
s.substring(0, 32).toString()+"...+"+(s.length()-32)+"b");
s.tojstring():
s.substring(0, 32).tojstring()+"...+"+(s.length()-32)+"b");
break;
case LuaValue.TFUNCTION:
ps.print( ( v instanceof LuaClosure )?
((LuaClosure)v).p.toString(): v.toString() );
((LuaClosure)v).p.tojstring(): v.tojstring() );
break;
case LuaValue.TUSERDATA:
Object o = v.touserdata();
@@ -370,7 +370,7 @@ public class Print extends Lua {
ps.print( n+": "+Integer.toHexString(o.hashCode()) );
break;
default:
ps.print(v.toString());
ps.print(v.tojstring());
}
if ( i+1 == top )
ps.print(']');

View File

@@ -44,7 +44,7 @@ public class Prototype {
public int maxstacksize;
public String toString() {
public String tojstring() {
return source + ":" + linedefined;
}

View File

@@ -33,8 +33,8 @@ public final class UpValue {
this.index = index;
}
public String toString() {
return array[index].toString();
public String tojstring() {
return array[index].tojstring();
}
public final LuaValue getValue() {

View File

@@ -83,7 +83,7 @@ public abstract class Varargs {
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 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 LuaTable opttable(int i, LuaTable defval) { return arg(i).opttable(defval); }
public LuaThread optthread(int i, LuaThread defval) { return arg(i).optthread(defval); }
@@ -91,6 +91,9 @@ public abstract class Varargs {
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; }
/** @deprecated - use optjstring() instead */
public String optString(int i, String defval) { return optjstring(i,defval); }
// required argument types
public boolean checkboolean(int i) { return arg(i).checkboolean(); }
public LuaClosure checkclosure(int i) { return arg(i).checkclosure(); }
@@ -100,7 +103,7 @@ public abstract class Varargs {
public LuaInteger checkinteger(int i) { return arg(i).checkinteger(); }
public long checklong(int i) { return arg(i).checknumber().tolong(); }
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 LuaTable checktable(int i) { return arg(i).checktable(); }
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 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); }
@@ -123,19 +128,20 @@ public abstract class Varargs {
public float tofloat(int i) { return arg(i).tofloat(); }
public int toint(int i) { return arg(i).toint(); }
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 Object touserdata(int i) { return arg(i).touserdata(); }
public Object touserdata(int i,Class c) { return arg(i).touserdata(c); }
public String toString() {
public String tojstring() {
Buffer sb = new Buffer();
sb.append( "(" );
for ( int i=1,n=narg(); i<=n; i++ ) {
if (i>1) sb.append( "," );
sb.append( arg(i).toString() );
sb.append( arg(i).tojstring() );
}
sb.append( ")" );
return sb.toString();
return sb.tojstring();
}
public Varargs subargs(final int start) {

View File

@@ -47,8 +47,8 @@ public class WeakTable extends LuaTable {
Object o = ref.get();
return o!=null? (LuaValue)o: NIL;
}
public String toString() {
return strongvalue().toString();
public String tojstring() {
return strongvalue().tojstring();
}
}

View File

@@ -252,7 +252,7 @@ public class LexState {
}
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 );
if ( token != 0 )
L.pushfstring( "syntax error: "+msg+" near "+txtToken(token) );

View File

@@ -145,7 +145,7 @@ public class BaseLib extends OneArgFunction implements ResourceFinder {
protected LuaValue oncall2(int opcode, LuaValue arg1, LuaValue arg2) {
switch ( opcode ) {
case 0: // "collectgarbage", // ( opt [,arg] ) -> value
String s = arg1.optString("collect");
String s = arg1.optjstring("collect");
int result = 0;
if ( "collect".equals(s) ) {
System.gc();
@@ -161,7 +161,7 @@ public class BaseLib extends OneArgFunction implements ResourceFinder {
}
return NIL;
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
return valueOf(arg1 == arg2);
case 3: { // "setfenv", // (f, table) -> void
@@ -194,7 +194,7 @@ public class BaseLib extends OneArgFunction implements ResourceFinder {
{
LuaValue chunk;
try {
String filename = args.checkString(1);
String filename = args.checkjstring(1);
chunk = loadFile(filename).arg1();
} catch ( IOException e ) {
return error(e.getMessage());
@@ -212,7 +212,7 @@ public class BaseLib extends OneArgFunction implements ResourceFinder {
case 3: // "loadfile", // ( [filename] ) -> chunk | nil, msg
{
try {
String filename = args.checkString(1);
String filename = args.checkjstring(1);
return loadFile(filename);
} catch ( Exception e ) {
return varargsOf(NIL, valueOf(e.getMessage()));
@@ -320,7 +320,7 @@ public class BaseLib extends OneArgFunction implements ResourceFinder {
}
case 14: { // "tostring", // (e) -> value
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
LuaValue arg1 = args.checkvalue(1);
@@ -375,7 +375,7 @@ public class BaseLib extends OneArgFunction implements ResourceFinder {
bytes = null;
return -1;
}
bytes = s.toString().getBytes();
bytes = s.tojstring().getBytes();
offset = 0;
}
if ( offset >= bytes.length )

View File

@@ -83,7 +83,7 @@ public class CoroutineLib extends ZeroArgFunction {
if ( result.arg1().toboolean() ) {
return result.subargs(2);
} else {
error( result.arg(2).toString() );
error( result.arg(2).tojstring() );
}
}
default:

View File

@@ -186,24 +186,24 @@ public class DebugLib extends OneArgFunction {
return getobjname(this, stackpos);
}
public Object sourceline() {
if ( closure == null ) return func.toString();
String s = closure.p.source.toString();
if ( closure == null ) return func.tojstring();
String s = closure.p.source.tojstring();
int line = currentline();
return (s.startsWith("@")||s.startsWith("=")? s.substring(1): s) + ":" + line;
}
public String tracename() {
// if ( func != null )
// return func.toString();
// return func.tojstring();
LuaString[] kind = getfunckind();
if ( kind == null )
return "function ?";
return "function "+kind[0].toString();
return "function "+kind[0].tojstring();
}
public LuaString getlocalname(int index) {
if ( closure == null ) return null;
return closure.p.getlocalname(index, pc);
}
public String toString() {
public String tojstring() {
return sourceline()+": in "+tracename();
}
}
@@ -277,7 +277,7 @@ public class DebugLib extends OneArgFunction {
}
return new DebugInfo(func);
}
public String toString() {
public String tojstring() {
return DebugLib.traceback(thread, 0);
}
}
@@ -437,7 +437,7 @@ public class DebugLib extends OneArgFunction {
info.set(LINEDEFINED, valueOf(p.linedefined));
info.set(LASTLINEDEFINED, valueOf(p.lastlinedefined));
} else {
String shortName = di.func.toString();
String shortName = di.func.tojstring();
LuaString name = LuaString.valueOf("[Java] "+shortName);
info.set(WHAT, JAVA);
info.set(SOURCE, name);
@@ -482,7 +482,7 @@ public class DebugLib extends OneArgFunction {
}
public static String sourceshort(Prototype p) {
String name = p.source.toString();
String name = p.source.tojstring();
if ( name.startsWith("@") || name.startsWith("=") )
name = name.substring(1);
else if ( name.startsWith("\033") )
@@ -618,7 +618,7 @@ public class DebugLib extends OneArgFunction {
di = ds.getDebugInfo(i);
if ( di != null ) {
sb.append( "\t" );
sb.append( di.toString() );
sb.append( di.tojstring() );
if ( i<n )
sb.append( "\n" );
}

View File

@@ -68,7 +68,7 @@ public class IoLib extends OneArgFunction {
}
// displays as "file" type
public String toString() {
public String tojstring() {
return "file: " + Integer.toHexString(hashCode());
}
}
@@ -211,13 +211,13 @@ public class IoLib extends OneArgFunction {
return ioclose(f);
case IO_INPUT: // io.input([file]) -> file
infile = args.arg1().isnil()? input(): args.arg1().isstring()?
ioopenfile(args.checkString(1),"r"):
ioopenfile(args.checkjstring(1),"r"):
checkfile(args.arg1());
return infile;
case IO_OUTPUT: // io.output(filename) -> file
outfile = args.arg1().isnil()? output(): args.arg1().isstring()?
ioopenfile(args.checkString(1),"w"):
ioopenfile(args.checkjstring(1),"w"):
checkfile(args.arg1());
return outfile;
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 NIL;
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
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
infile = args.arg1().isnil()? input(): ioopenfile(args.checkString(1),"r");
infile = args.arg1().isnil()? input(): ioopenfile(args.checkjstring(1),"r");
checkopen(infile);
return lines(infile);
case IO_READ: // io.read(...) -> (...)
@@ -246,7 +246,7 @@ public class IoLib extends OneArgFunction {
return LuaValue.TRUE;
case FILE_SETVBUF: // file:setvbuf(mode,[size]) -> void
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;
case FILE_LINES: // file:lines() -> iterator
return lines(checkfile(args.arg1()));
@@ -342,7 +342,7 @@ public class IoLib extends OneArgFunction {
if ( args.isnumber(i+1) ) {
v[i] = freadbytes(f,args.checkint(i+1));
} else {
String format = args.checkString(i+1);
String format = args.checkjstring(i+1);
if ( "*n".equals(format) )
v[i] = valueOf( freadnumber(f) );
else if ( "*a".equals(format) )

View File

@@ -110,7 +110,7 @@ abstract public class LibFunction extends LuaFunction {
this.delegate = delegate;
}
public String toString() {
public String tojstring() {
return name;
}
@@ -147,7 +147,7 @@ abstract public class LibFunction extends LuaFunction {
this.delegate = delegate;
}
public String toString() {
public String tojstring() {
return name;
}
@@ -184,7 +184,7 @@ abstract public class LibFunction extends LuaFunction {
this.delegate = delegate;
}
public String toString() {
public String tojstring() {
return name;
}
@@ -221,7 +221,7 @@ abstract public class LibFunction extends LuaFunction {
this.delegate = delegate;
}
public String toString() {
public String tojstring() {
return name;
}
@@ -258,7 +258,7 @@ abstract public class LibFunction extends LuaFunction {
this.delegate = delegate;
}
public String toString() {
public String tojstring() {
return name;
}

View File

@@ -110,14 +110,14 @@ public class OsLib extends OneArgFunction {
exit(args.optint(1, 0));
return NONE;
case GETENV: {
final String val = getenv(args.checkString(1));
final String val = getenv(args.checkjstring(1));
return val!=null? valueOf(val): NIL;
}
case REMOVE:
remove(args.checkString(1));
remove(args.checkjstring(1));
return LuaValue.TRUE;
case RENAME:
rename(args.checkString(1), args.checkString(2));
rename(args.checkjstring(1), args.checkjstring(2));
return LuaValue.TRUE;
case SETLOCALE: {
String s = setlocale(args.optString(1,null), args.optString(2, "all"));

View File

@@ -127,7 +127,7 @@ public class PackageLib extends OneArgFunction {
PACKAGE.set( _PATH, valueOf(newLuaPath) );
}
public String toString() {
public String tojstring() {
return "package";
}
@@ -277,7 +277,7 @@ public class PackageLib extends OneArgFunction {
if ( chunk.isfunction() )
break;
if ( chunk.isstring() )
sb.append( chunk.toString() );
sb.append( chunk.tojstring() );
}
// load the module using the loader
@@ -304,7 +304,7 @@ public class PackageLib extends OneArgFunction {
}
private LuaValue loader_Lua( Varargs args ) {
String name = args.checkString(1);
String name = args.checkjstring(1);
InputStream is = null;
@@ -312,7 +312,7 @@ public class PackageLib extends OneArgFunction {
LuaValue pp = PACKAGE.get(_PATH);
if ( ! pp.isstring() )
return valueOf("package.path is not a string");
String path = pp.toString();
String path = pp.tojstring();
// check the path elements
int e = -1;
@@ -355,7 +355,7 @@ public class PackageLib extends OneArgFunction {
}
private LuaValue loader_Java( Varargs args ) {
String name = args.checkString(1);
String name = args.checkjstring(1);
String classname = toClassname( name );
Class c = null;
LuaValue v = null;

View File

@@ -591,7 +591,7 @@ public class StringLib extends OneArgFunction {
* The definition of what an uppercase letter is depends on the current locale.
*/
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.
*/
static LuaValue upper( LuaValue arg ) {
return valueOf(arg.checkString().toUpperCase());
return valueOf(arg.checkjstring().toUpperCase());
}
/**

View File

@@ -101,7 +101,7 @@ public class JmeIoLib extends IoLib {
private FileImpl( OutputStream o ) {
this( null, null, o );
}
public String toString() {
public String tojstring() {
return "file ("+this.hashCode()+")";
}
public boolean isstdfile() {

View File

@@ -156,7 +156,7 @@ public class CoerceLuaToJava {
};
Coercion stringCoercion = new Coercion() {
public Object coerce(LuaValue value) {
return value.toString();
return value.tojstring();
}
public int score(LuaValue value) {
switch ( value.type() ) {
@@ -173,7 +173,7 @@ public class CoerceLuaToJava {
case LuaValue.TUSERDATA:
return value.optuserdata(Object.class, null);
case LuaValue.TSTRING:
return value.toString();
return value.tojstring();
case LuaValue.TNUMBER:
return (value.isinttype()?
new Integer(value.toint()):

View File

@@ -99,7 +99,7 @@ public class JseIoLib extends IoLib {
private FileImpl( OutputStream o ) {
this( null, null, o );
}
public String toString() {
public String tojstring() {
return "file ("+this.hashCode()+")";
}
public boolean isstdfile() {

View File

@@ -88,14 +88,14 @@ public class LuajavaLib extends OneArgFunction {
try {
switch ( opcode ) {
case BINDCLASS: {
final Class clazz = Class.forName(args.checkString(1));
final Class clazz = Class.forName(args.checkjstring(1));
return toUserdata( clazz, clazz );
}
case NEWINSTANCE:
case NEW: {
// get constructor
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 Constructor con = resolveConstructor( clazz, params );
@@ -116,7 +116,7 @@ public class LuajavaLib extends OneArgFunction {
// get the interfaces
final Class[] ifaces = new Class[niface];
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
InvocationHandler handler = new InvocationHandler() {
@@ -154,8 +154,8 @@ public class LuajavaLib extends OneArgFunction {
}
case LOADLIB: {
// get constructor
String classname = args.checkString(1);
String methodname = args.checkString(2);
String classname = args.checkjstring(1);
String methodname = args.checkjstring(2);
Class clazz = Class.forName(classname);
Method method = clazz.getMethod(methodname, new Class[] {});
Object result = method.invoke(clazz, new Object[] {});
@@ -217,7 +217,7 @@ public class LuajavaLib extends OneArgFunction {
return NIL;
}
}
final String s = key.toString();
final String s = key.tojstring();
try {
Field f = clazz.getField(s);
Object o = f.get(instance);
@@ -254,7 +254,7 @@ public class LuajavaLib extends OneArgFunction {
return NIL;
}
}
String s = key.toString();
String s = key.tojstring();
try {
Field f = clazz.getField(s);
Object v = CoerceLuaToJava.coerceArg(val, f.getType());
@@ -277,7 +277,7 @@ public class LuajavaLib extends OneArgFunction {
this.clazz = clazz;
this.s = s;
}
public String toString() {
public String tojstring() {
return clazz.getName()+"."+s+"()";
}
public Varargs invoke(Varargs args) {

View File

@@ -631,7 +631,7 @@ public class JavaBuilder {
cg.addField(fg.getField());
LuaString ls = value.checkstring();
if ( ls.isValidUtf8() ) {
init.append(new PUSH(cp, value.toString()));
init.append(new PUSH(cp, value.tojstring()));
init.append(factory.createInvoke(STR_LUASTRING, "valueOf",
TYPE_LUASTRING, new Type[] { Type.STRING }, Constants.INVOKESTATIC));
} else {

View File

@@ -79,8 +79,8 @@ public class Slots {
markforloopupvalues( p );
}
public String toString() {
return toString(null);
public String tojstring() {
return tojstring(null);
}
private void markassignments( Prototype p ) {
@@ -416,7 +416,7 @@ public class Slots {
public static void printSlots(Prototype 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++ )
printSlots(p.p[i]);
}
@@ -450,7 +450,7 @@ public class Slots {
return strs;
}
String toString(Prototype p) {
String tojstring(Prototype p) {
String[] s = toStrings();
ByteArrayOutputStream baos = new ByteArrayOutputStream();
PrintStream ps = new PrintStream( baos );

View File

@@ -227,7 +227,7 @@ public class LuaScriptEngine implements ScriptEngine, Compilable {
private Object toJava(LuaValue v) {
switch ( v.type() ) {
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.TNUMBER: return v.isinttype()? new Integer(v.toint()): new Double(v.todouble());
default:

View File

@@ -167,18 +167,18 @@ public class MetatableTest extends TestCase {
// plain metatable
mt.set( LuaValue.INDEX, new TwoArgFunction() {
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( "userdata[1]=xyz", userdata.get(1).toString() );
assertEquals( "nil[1]=xyz", LuaValue.NIL.get(1).toString() );
assertEquals( "boolean[1]=xyz", LuaValue.TRUE.get(1).toString() );
assertEquals( "number[1]=xyz", LuaValue.ONE.get(1).toString() );
// assertEquals( "string[1]=xyz", string.get(1).toString() );
assertEquals( "function[1]=xyz", function.get(1).toString() );
assertEquals( "thread[1]=xyz", thread.get(1).toString() );
assertEquals( "table[1]=xyz", table.get(1).tojstring() );
assertEquals( "userdata[1]=xyz", userdata.get(1).tojstring() );
assertEquals( "nil[1]=xyz", LuaValue.NIL.get(1).tojstring() );
assertEquals( "boolean[1]=xyz", LuaValue.TRUE.get(1).tojstring() );
assertEquals( "number[1]=xyz", LuaValue.ONE.get(1).tojstring() );
// assertEquals( "string[1]=xyz", string.get(1).tojstring() );
assertEquals( "function[1]=xyz", function.get(1).tojstring() );
assertEquals( "thread[1]=xyz", thread.get(1).tojstring() );
}

View File

@@ -53,7 +53,7 @@ public class TableArrayTest extends TestCase {
// Ensure all keys are still there.
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
@@ -92,7 +92,7 @@ public class TableArrayTest extends TestCase {
// Ensure all keys are still there.
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
@@ -134,8 +134,8 @@ public class TableArrayTest extends TestCase {
assertTrue( ( intKeys & mask ) == 0 );
intKeys |= mask;
} else if ( k instanceof LuaString ) {
final int ik = Integer.parseInt( k.toString() );
assertEquals( String.valueOf( ik ), k.toString() );
final int ik = Integer.parseInt( k.tojstring() );
assertEquals( String.valueOf( ik ), k.tojstring() );
assertTrue( ik >= 0 && ik < 10 );
final int mask = 1 << ik;
assertTrue( "Key \""+ik+"\" found more than once", ( stringKeys & mask ) == 0 );
@@ -267,8 +267,8 @@ public class TableArrayTest extends TestCase {
assertEquals(v.size(),t.length());
for ( int j=0; j<n; j++ ) {
Object vj = v.elementAt(j);
Object tj = t.get(j+1).toString();
vj = ((LuaString)vj).toString();
Object tj = t.get(j+1).tojstring();
vj = ((LuaString)vj).tojstring();
assertEquals(vj,tj);
}
}

View File

@@ -107,48 +107,48 @@ public class TableHashTest extends TestCase {
fb.set( 456, "jkl" );
// check before setting metatable
assertEquals( "abc", t.get("ppp").toString() );
assertEquals( "def", t.get(123).toString() );
assertEquals( "nil", t.get("qqq").toString() );
assertEquals( "nil", t.get(456).toString() );
assertEquals( "nil", fb.get("ppp").toString() );
assertEquals( "nil", fb.get(123).toString() );
assertEquals( "ghi", fb.get("qqq").toString() );
assertEquals( "jkl", fb.get(456).toString() );
assertEquals( "nil", mt.get("ppp").toString() );
assertEquals( "nil", mt.get(123).toString() );
assertEquals( "nil", mt.get("qqq").toString() );
assertEquals( "nil", mt.get(456).toString() );
assertEquals( "abc", t.get("ppp").tojstring() );
assertEquals( "def", t.get(123).tojstring() );
assertEquals( "nil", t.get("qqq").tojstring() );
assertEquals( "nil", t.get(456).tojstring() );
assertEquals( "nil", fb.get("ppp").tojstring() );
assertEquals( "nil", fb.get(123).tojstring() );
assertEquals( "ghi", fb.get("qqq").tojstring() );
assertEquals( "jkl", fb.get(456).tojstring() );
assertEquals( "nil", mt.get("ppp").tojstring() );
assertEquals( "nil", mt.get(123).tojstring() );
assertEquals( "nil", mt.get("qqq").tojstring() );
assertEquals( "nil", mt.get(456).tojstring() );
// check before setting metatable
t.setmetatable(mt);
assertEquals( mt, t.getmetatable() );
assertEquals( "abc", t.get("ppp").toString() );
assertEquals( "def", t.get(123).toString() );
assertEquals( "ghi", t.get("qqq").toString() );
assertEquals( "jkl", t.get(456).toString() );
assertEquals( "nil", fb.get("ppp").toString() );
assertEquals( "nil", fb.get(123).toString() );
assertEquals( "ghi", fb.get("qqq").toString() );
assertEquals( "jkl", fb.get(456).toString() );
assertEquals( "nil", mt.get("ppp").toString() );
assertEquals( "nil", mt.get(123).toString() );
assertEquals( "nil", mt.get("qqq").toString() );
assertEquals( "nil", mt.get(456).toString() );
assertEquals( "abc", t.get("ppp").tojstring() );
assertEquals( "def", t.get(123).tojstring() );
assertEquals( "ghi", t.get("qqq").tojstring() );
assertEquals( "jkl", t.get(456).tojstring() );
assertEquals( "nil", fb.get("ppp").tojstring() );
assertEquals( "nil", fb.get(123).tojstring() );
assertEquals( "ghi", fb.get("qqq").tojstring() );
assertEquals( "jkl", fb.get(456).tojstring() );
assertEquals( "nil", mt.get("ppp").tojstring() );
assertEquals( "nil", mt.get(123).tojstring() );
assertEquals( "nil", mt.get("qqq").tojstring() );
assertEquals( "nil", mt.get(456).tojstring() );
// set metatable to metatable without values
t.setmetatable(fb);
assertEquals( "abc", t.get("ppp").toString() );
assertEquals( "def", t.get(123).toString() );
assertEquals( "nil", t.get("qqq").toString() );
assertEquals( "nil", t.get(456).toString() );
assertEquals( "abc", t.get("ppp").tojstring() );
assertEquals( "def", t.get(123).tojstring() );
assertEquals( "nil", t.get("qqq").tojstring() );
assertEquals( "nil", t.get(456).tojstring() );
// set metatable to null
t.setmetatable(null);
assertEquals( "abc", t.get("ppp").toString() );
assertEquals( "def", t.get(123).toString() );
assertEquals( "nil", t.get("qqq").toString() );
assertEquals( "nil", t.get(456).toString() );
assertEquals( "abc", t.get("ppp").tojstring() );
assertEquals( "def", t.get(123).tojstring() );
assertEquals( "nil", t.get("qqq").tojstring() );
assertEquals( "nil", t.get(456).tojstring() );
}
public void testIndexFunction() {
@@ -168,42 +168,42 @@ public class TableHashTest extends TestCase {
mt.set(LuaValue.INDEX, fb);
// check before setting metatable
assertEquals( "abc", t.get("ppp").toString() );
assertEquals( "def", t.get(123).toString() );
assertEquals( "nil", t.get("qqq").toString() );
assertEquals( "nil", t.get(456).toString() );
assertEquals( "abc", t.get("ppp").tojstring() );
assertEquals( "def", t.get(123).tojstring() );
assertEquals( "nil", t.get("qqq").tojstring() );
assertEquals( "nil", t.get(456).tojstring() );
// check before setting metatable
t.setmetatable(mt);
assertEquals( mt, t.getmetatable() );
assertEquals( "abc", t.get("ppp").toString() );
assertEquals( "def", t.get(123).toString() );
assertEquals( "from mt: qqq", t.get("qqq").toString() );
assertEquals( "from mt: 456", t.get(456).toString() );
assertEquals( "abc", t.get("ppp").tojstring() );
assertEquals( "def", t.get(123).tojstring() );
assertEquals( "from mt: qqq", t.get("qqq").tojstring() );
assertEquals( "from mt: 456", t.get(456).tojstring() );
// use raw set
t.rawset("qqq", "alt-qqq");
t.rawset(456, "alt-456");
assertEquals( "abc", t.get("ppp").toString() );
assertEquals( "def", t.get(123).toString() );
assertEquals( "alt-qqq", t.get("qqq").toString() );
assertEquals( "alt-456", t.get(456).toString() );
assertEquals( "abc", t.get("ppp").tojstring() );
assertEquals( "def", t.get(123).tojstring() );
assertEquals( "alt-qqq", t.get("qqq").tojstring() );
assertEquals( "alt-456", t.get(456).tojstring() );
// remove using raw set
t.rawset("qqq", LuaValue.NIL);
t.rawset(456, LuaValue.NIL);
assertEquals( "abc", t.get("ppp").toString() );
assertEquals( "def", t.get(123).toString() );
assertEquals( "from mt: qqq", t.get("qqq").toString() );
assertEquals( "from mt: 456", t.get(456).toString() );
assertEquals( "abc", t.get("ppp").tojstring() );
assertEquals( "def", t.get(123).tojstring() );
assertEquals( "from mt: qqq", t.get("qqq").tojstring() );
assertEquals( "from mt: 456", t.get(456).tojstring() );
// set metatable to null
t.setmetatable(null);
assertEquals( "abc", t.get("ppp").toString() );
assertEquals( "def", t.get(123).toString() );
assertEquals( "nil", t.get("qqq").toString() );
assertEquals( "nil", t.get(456).toString() );
assertEquals( "abc", t.get("ppp").tojstring() );
assertEquals( "def", t.get(123).tojstring() );
assertEquals( "nil", t.get("qqq").tojstring() );
assertEquals( "nil", t.get(456).tojstring() );
}
public void testNext() {

View File

@@ -44,7 +44,7 @@ public class TableTest extends TestCase {
// Ensure all keys are still there.
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
@@ -83,7 +83,7 @@ public class TableTest extends TestCase {
// Ensure all keys are still there.
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
@@ -125,8 +125,8 @@ public class TableTest extends TestCase {
assertTrue( ( intKeys & mask ) == 0 );
intKeys |= mask;
} else if ( k instanceof LuaString ) {
final int ik = Integer.parseInt( k.strvalue().toString() );
assertEquals( String.valueOf( ik ), k.strvalue().toString() );
final int ik = Integer.parseInt( k.strvalue().tojstring() );
assertEquals( String.valueOf( ik ), k.strvalue().tojstring() );
assertTrue( ik >= 0 && ik < 10 );
final int mask = 1 << ik;
assertTrue( "Key \""+ik+"\" found more than once", ( stringKeys & mask ) == 0 );
@@ -252,8 +252,8 @@ public class TableTest extends TestCase {
assertEquals(v.size(),t.length());
for ( int j=0; j<n; j++ ) {
Object vj = v.elementAt(j);
Object tj = t.get(j+1).toString();
vj = ((LuaString)vj).toString();
Object tj = t.get(j+1).tojstring();
vj = ((LuaString)vj).tojstring();
assertEquals(vj,tj);
}
}

View File

@@ -495,23 +495,23 @@ public class TypeTest extends TestCase {
}
public void testToString() {
assertEquals( "nil", somenil.toString() );
assertEquals( "false", somefalse.toString() );
assertEquals( "true", sometrue.toString() );
assertEquals( "0", zero.toString() );
assertEquals( String.valueOf(sampleint), intint.toString() );
assertEquals( String.valueOf(samplelong), longdouble.toString() );
assertEquals( String.valueOf(sampledouble), doubledouble.toString() );
assertEquals( samplestringstring, stringstring.toString() );
assertEquals( String.valueOf(sampleint), stringint.toString() );
assertEquals( String.valueOf(samplelong), stringlong.toString() );
assertEquals( String.valueOf(sampledouble), stringdouble.toString() );
assertEquals( "thread: ", thread.toString().substring(0,8) );
assertEquals( "table: ", table.toString().substring(0,7) );
assertEquals( sampleobject.toString(), userdataobj.toString() );
assertEquals( sampledata.toString(), userdatacls.toString() );
assertEquals( "function: ", somefunc.toString().substring(0,10) );
assertEquals( "function: ", someclosure.toString().substring(0,10) );
assertEquals( "nil", somenil.tojstring() );
assertEquals( "false", somefalse.tojstring() );
assertEquals( "true", sometrue.tojstring() );
assertEquals( "0", zero.tojstring() );
assertEquals( String.valueOf(sampleint), intint.tojstring() );
assertEquals( String.valueOf(samplelong), longdouble.tojstring() );
assertEquals( String.valueOf(sampledouble), doubledouble.tojstring() );
assertEquals( samplestringstring, stringstring.tojstring() );
assertEquals( String.valueOf(sampleint), stringint.tojstring() );
assertEquals( String.valueOf(samplelong), stringlong.tojstring() );
assertEquals( String.valueOf(sampledouble), stringdouble.tojstring() );
assertEquals( "thread: ", thread.tojstring().substring(0,8) );
assertEquals( "table: ", table.tojstring().substring(0,7) );
assertEquals( sampleobject.toString(), userdataobj.tojstring() );
assertEquals( sampledata.toString(), userdatacls.tojstring() );
assertEquals( "function: ", somefunc.tojstring().substring(0,10) );
assertEquals( "function: ", someclosure.tojstring().substring(0,10) );
}
public void testToUserdata() {
@@ -763,20 +763,20 @@ public class TypeTest extends TestCase {
}
public void testOptJavaString() {
assertEquals( "xyz", somenil.optString("xyz") );
assertEquals( null, somenil.optString(null) );
assertEquals( "xyz", somenil.optjstring("xyz") );
assertEquals( null, somenil.optjstring(null) );
throwsError( sometrue, "optString", String.class, "xyz" );
throwsError( somefalse, "optString", String.class, "xyz" );
assertEquals( String.valueOf(zero), zero.optString("xyz") );
assertEquals( String.valueOf(intint), intint.optString("xyz") );
assertEquals( String.valueOf(longdouble), longdouble.optString("xyz") );
assertEquals( String.valueOf(doubledouble), doubledouble.optString("xyz") );
assertEquals( String.valueOf(zero), zero.optjstring("xyz") );
assertEquals( String.valueOf(intint), intint.optjstring("xyz") );
assertEquals( String.valueOf(longdouble), longdouble.optjstring("xyz") );
assertEquals( String.valueOf(doubledouble), doubledouble.optjstring("xyz") );
throwsError( somefunc, "optString", String.class, "xyz" );
throwsError( someclosure, "optString", String.class, "xyz" );
assertEquals( samplestringstring, stringstring.optString("xyz") );
assertEquals( samplestringint, stringint.optString("xyz") );
assertEquals( samplestringlong, stringlong.optString("xyz") );
assertEquals( samplestringdouble, stringdouble.optString("xyz") );
assertEquals( samplestringstring, stringstring.optjstring("xyz") );
assertEquals( samplestringint, stringint.optjstring("xyz") );
assertEquals( samplestringlong, stringlong.optjstring("xyz") );
assertEquals( samplestringdouble, stringdouble.optjstring("xyz") );
throwsError( thread, "optString", String.class, "xyz" );
throwsError( table, "optString", String.class, "xyz" );
throwsError( userdataobj, "optString", String.class, "xyz" );
@@ -1119,16 +1119,16 @@ public class TypeTest extends TestCase {
throwsErrorReq( somenil, "checkString" );
throwsErrorReq( sometrue, "checkString" );
throwsErrorReq( somefalse, "checkString" );
assertEquals( String.valueOf(zero), zero.checkString() );
assertEquals( String.valueOf(intint), intint.checkString() );
assertEquals( String.valueOf(longdouble), longdouble.checkString() );
assertEquals( String.valueOf(doubledouble), doubledouble.checkString() );
assertEquals( String.valueOf(zero), zero.checkjstring() );
assertEquals( String.valueOf(intint), intint.checkjstring() );
assertEquals( String.valueOf(longdouble), longdouble.checkjstring() );
assertEquals( String.valueOf(doubledouble), doubledouble.checkjstring() );
throwsErrorReq( somefunc, "checkString" );
throwsErrorReq( someclosure, "checkString" );
assertEquals( samplestringstring, stringstring.checkString() );
assertEquals( samplestringint, stringint.checkString() );
assertEquals( samplestringlong, stringlong.checkString() );
assertEquals( samplestringdouble, stringdouble.checkString() );
assertEquals( samplestringstring, stringstring.checkjstring() );
assertEquals( samplestringint, stringint.checkjstring() );
assertEquals( samplestringlong, stringlong.checkjstring() );
assertEquals( samplestringdouble, stringdouble.checkjstring() );
throwsErrorReq( thread, "checkString" );
throwsErrorReq( table, "checkString" );
throwsErrorReq( userdataobj, "checkString" );

View File

@@ -89,7 +89,7 @@ public class DumpLoadEndianIntTest extends TestCase {
// double check script result before dumping
LuaClosure f = new LuaClosure(p, _G);
LuaValue r = f.call();
String actual = r.toString();
String actual = r.tojstring();
assertEquals( expectedPriorDump, actual );
// dump into bytes
@@ -111,7 +111,7 @@ public class DumpLoadEndianIntTest extends TestCase {
p = LoadState.compile(is, "dumped");
f = new LuaClosure(p, _G);
r = f.call();
actual = r.toString();
actual = r.tojstring();
assertEquals( expectedPostDump, actual );
// write test chunk

View File

@@ -48,7 +48,7 @@ public class LuaJavaCoercionTest extends TestCase {
String s = new String("777");
LuaValue v = CoerceJavaToLua.coerce(s);
assertEquals( LuaString.class, v.getClass() );
assertEquals( "777", v.toString() );
assertEquals( "777", v.tojstring() );
}
public void testLuaStringToJavaString() {
@@ -162,22 +162,22 @@ public class LuaJavaCoercionTest extends TestCase {
// get sample field, call with no arguments
LuaValue method = v.get(SAMPLE);
LuaValue result = method.call(v);
assertEquals( "void-args", result.toString() );
assertEquals( "void-args", result.tojstring() );
// get sample field, call with one arguments
LuaValue arg = CoerceJavaToLua.coerce(new Integer(123));
result = method.call(v,arg);
assertEquals( "int-args 123", result.toString() );
assertEquals( "int-args 123", result.tojstring() );
// get sample field, call with array argument
arg = CoerceJavaToLua.coerce(new int[]{345,678});
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
arg = CoerceJavaToLua.coerce(new int[][]{{22,33},{44,55}});
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 {
@@ -198,7 +198,7 @@ public class LuaJavaCoercionTest extends TestCase {
LuaValue status = vresult.arg1();
LuaValue message = vresult.arg(2);
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() {
@@ -234,7 +234,7 @@ public class LuaJavaCoercionTest extends TestCase {
"} )\n";
Varargs chunk = _G.get("loadstring").call(LuaValue.valueOf(script));
if ( ! chunk.arg1().toboolean() )
fail( chunk.arg(2).toString() );
fail( chunk.arg(2).tojstring() );
LuaValue result = chunk.arg1().call();
Object u = result.touserdata();
VarArgsInterface v = (VarArgsInterface) u;

View File

@@ -96,7 +96,7 @@ public class Luajvm1CompatibilityTest extends TestCase {
LuaThread.getRunning().setfenv(_G);
_G.get("package").get("loaders").checktable().insert(1, new org.luaj.vm2.lib.OneArgFunction(_G) {
public LuaValue call(LuaValue arg) {
String name = arg.toString();
String name = arg.tojstring();
String file = name + ".lua";
InputStream is = open( file );
if ( is == null )