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

@@ -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: