From 2268aae388c4093d7bf51c6557ca2ff7caf9eaee Mon Sep 17 00:00:00 2001 From: Charlie Groves Date: Tue, 22 Jun 2010 03:04:53 +0000 Subject: [PATCH] Handle primitive arrays git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6084 542714f4-19e9-0310-aa3c-eee0fc999fb1 --- .../presents/tools/GenActionScriptTask.java | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/src/java/com/threerings/presents/tools/GenActionScriptTask.java b/src/java/com/threerings/presents/tools/GenActionScriptTask.java index c24073954..724f25776 100644 --- a/src/java/com/threerings/presents/tools/GenActionScriptTask.java +++ b/src/java/com/threerings/presents/tools/GenActionScriptTask.java @@ -289,13 +289,22 @@ public class GenActionScriptTask extends Task return "ins.readDouble()"; } else if (type.isArray()) { - if (Byte.TYPE.equals(type.getComponentType())) { - return "ins.readField(ByteArray)"; - - } else { + if (!type.getComponentType().isPrimitive()) { return "ins.readObject(TypedArray)"; + } else { + if (Double.TYPE.equals(type.getComponentType())) { + return "ins.readField(TypedArray.getJavaType(Number))"; + } else if (Boolean.TYPE.equals(type.getComponentType())) { + return "ins.readField(TypedArray.getJavaType(Boolean))"; + } else if (Integer.TYPE.equals(type.getComponentType())) { + return "ins.readField(TypedArray.getJavaType(int))"; + } else if (Byte.TYPE.equals(type.getComponentType())) { + return "ins.readField(ByteArray)"; + } else { + throw new IllegalArgumentException(type + + " isn't supported to stream to actionscript"); + } } - } else { return "ins.readObject(" + ActionScriptSource.toSimpleName(type.getName()) + ")"; }