From 0e6988bdf8bd6b123115d75c68d68cd6aeef0917 Mon Sep 17 00:00:00 2001 From: Ray Greenwell Date: Thu, 22 Feb 2007 19:14:11 +0000 Subject: [PATCH] Committed for posterity. git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4594 542714f4-19e9-0310-aa3c-eee0fc999fb1 --- .../tools/GenActionScriptBundlesTask.java | 33 +++++++++++++------ 1 file changed, 23 insertions(+), 10 deletions(-) diff --git a/src/java/com/threerings/presents/tools/GenActionScriptBundlesTask.java b/src/java/com/threerings/presents/tools/GenActionScriptBundlesTask.java index e94b806a0..6c484ec2e 100644 --- a/src/java/com/threerings/presents/tools/GenActionScriptBundlesTask.java +++ b/src/java/com/threerings/presents/tools/GenActionScriptBundlesTask.java @@ -75,17 +75,30 @@ public class GenActionScriptBundlesTask extends Task out.println("{"); out.println(" override protected function getContent () :Object"); out.println(" {"); - out.println(" var data :Array = ["); - for (Map.Entry entry : props.entrySet()) { - String key = saveConvert((String) entry.getKey()); - String val = saveConvert((String) entry.getValue()); - out.println(" \"" + key + "\", \"" + val + "\","); + if (true) { + // create an array with all the values, then populate in a loop + out.println(" var data :Array = ["); + for (Map.Entry entry : props.entrySet()) { + String key = saveConvert((String) entry.getKey()); + String val = saveConvert((String) entry.getValue()); + out.println(" \"" + key + "\", \"" + val + "\","); + } + out.println(" null];"); + out.println(" var o :Object = new Object();"); + out.println(" for (var ii :int = 0; ii < data.length; ii += 2) {"); + out.println(" o[data[ii]] = data[ii + 1];"); + out.println(" }"); + + } else { + // alternate impl: just set each value directly. For non-trivial + // resource bundles, this generates a larger class after compilation + out.println(" var o :Object = new Object();"); + for (Map.Entry entry : props.entrySet()) { + String key = saveConvert((String) entry.getKey()); + String val = saveConvert((String) entry.getValue()); + out.println(" o[\"" + key + "\"] = \"" + val + "\";"); + } } - out.println(" null];"); - out.println(" var o :Object = new Object();"); - out.println(" for (var ii :int = 0; ii < data.length; ii += 2) {"); - out.println(" o[data[ii]] = data[ii + 1];"); - out.println(" }"); out.println(" return o;"); out.println(" }"); out.println("}}");