Let's fix toWriteObject() as well since we are aiming for correctness.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4671 542714f4-19e9-0310-aa3c-eee0fc999fb1
This commit is contained in:
@@ -231,8 +231,7 @@ public class GenActionScriptTask extends Task
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
body.append(" out.");
|
body.append(" out.");
|
||||||
body.append(
|
body.append(toWriteObject(field.getType(), field.getName()));
|
||||||
toWriteObject(field.getType().getName(), field.getName()));
|
|
||||||
body.append(";\n");
|
body.append(";\n");
|
||||||
added++;
|
added++;
|
||||||
}
|
}
|
||||||
@@ -315,35 +314,36 @@ public class GenActionScriptTask extends Task
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected String toWriteObject (String type, String name)
|
protected String toWriteObject (Class type, String name)
|
||||||
{
|
{
|
||||||
if (type.equals("java.lang.Integer")) {
|
if (type.equals(Integer.class)) {
|
||||||
return "writeObject(new Integer(" + name + "))";
|
return "writeObject(new Integer(" + name + "))";
|
||||||
|
|
||||||
} else if (type.equals("boolean")) {
|
} else if (type.equals(Boolean.TYPE)) {
|
||||||
return "writeBoolean(" + name + ")";
|
return "writeBoolean(" + name + ")";
|
||||||
|
|
||||||
} else if (type.equals("byte")) {
|
} else if (type.equals(Byte.TYPE)) {
|
||||||
return "writeByte(" + name + ")";
|
return "writeByte(" + name + ")";
|
||||||
|
|
||||||
} else if (type.equals("short")) {
|
} else if (type.equals(Short.TYPE)) {
|
||||||
return "writeShort(" + name + ")";
|
return "writeShort(" + name + ")";
|
||||||
|
|
||||||
} else if (type.equals("int")) {
|
} else if (type.equals(Integer.TYPE)) {
|
||||||
return "writeInt(" + name + ")";
|
return "writeInt(" + name + ")";
|
||||||
|
|
||||||
} else if (type.equals("long")) {
|
} else if (type.equals(Long.TYPE)) {
|
||||||
return "writeInt(" + name + " == null ? 0 : " + name + ".low);\n" +
|
return "writeInt(" + name + " == null ? 0 : " + name + ".low);\n" +
|
||||||
" out.writeInt(" +
|
" out.writeInt(" +
|
||||||
name + " == null ? 0 : " + name + ".high)";
|
name + " == null ? 0 : " + name + ".high)";
|
||||||
|
|
||||||
} else if (type.equals("float")) {
|
} else if (type.equals(Float.TYPE)) {
|
||||||
return "writeFloat(" + name + ")";
|
return "writeFloat(" + name + ")";
|
||||||
|
|
||||||
} else if (type.equals("double")) {
|
} else if (type.equals(Double.TYPE)) {
|
||||||
return "writeDouble(" + name + ")";
|
return "writeDouble(" + name + ")";
|
||||||
|
|
||||||
} else if (type.equals("java.lang.String")) {
|
} else if (type.equals(String.class) ||
|
||||||
|
(type.isArray() && Byte.TYPE.equals(type.getComponentType()))) {
|
||||||
return "writeField(" + name + ")";
|
return "writeField(" + name + ")";
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in New Issue
Block a user