fix simple array output
Project: http://git-wip-us.apache.org/repos/asf/flex-falcon/repo Commit: http://git-wip-us.apache.org/repos/asf/flex-falcon/commit/7120b401 Tree: http://git-wip-us.apache.org/repos/asf/flex-falcon/tree/7120b401 Diff: http://git-wip-us.apache.org/repos/asf/flex-falcon/diff/7120b401 Branch: refs/heads/develop Commit: 7120b4016192f035e69340540aef232b7d92b0e2 Parents: 00147b6 Author: Alex Harui <aha...@apache.org> Authored: Thu Nov 13 15:13:06 2014 -0800 Committer: Alex Harui <aha...@apache.org> Committed: Thu Nov 13 15:13:06 2014 -0800 ---------------------------------------------------------------------- .../codegen/mxml/flexjs/MXMLFlexJSEmitter.java | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/7120b401/compiler.jx/src/org/apache/flex/compiler/internal/codegen/mxml/flexjs/MXMLFlexJSEmitter.java ---------------------------------------------------------------------- diff --git a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/mxml/flexjs/MXMLFlexJSEmitter.java b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/mxml/flexjs/MXMLFlexJSEmitter.java index 4eeea84..43d2af2 100644 --- a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/mxml/flexjs/MXMLFlexJSEmitter.java +++ b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/mxml/flexjs/MXMLFlexJSEmitter.java @@ -479,7 +479,7 @@ public class MXMLFlexJSEmitter extends MXMLEmitter implements { StringBuilder sb = new StringBuilder(); sb.append(asEmitter.stringifyNode(destNode)); - writeNewline(sb.toString()); + writeNewline(sb.toString() + ASEmitterTokens.COMMA.getToken()); } else writeNewline(ASEmitterTokens.NULL.getToken() + ASEmitterTokens.COMMA.getToken()); @@ -1463,18 +1463,28 @@ public class MXMLFlexJSEmitter extends MXMLEmitter implements { final IASNode child = node.getChild(i); ASTNodeID nodeID = child.getNodeID(); - if (nodeID == ASTNodeID.MXMLArrayID || nodeID == ASTNodeID.MXMLInstanceID) + if (nodeID == ASTNodeID.MXMLArrayID || nodeID == ASTNodeID.MXMLInstanceID || nodeID == ASTNodeID.MXMLStateID) { isSimple = false; break; } } boolean oldMakingSimpleArray = makingSimpleArray; + MXMLDescriptorSpecifier ps = getCurrentDescriptor("ps"); if (isSimple) + { makingSimpleArray = true; + ps.value = ASEmitterTokens.SQUARE_OPEN.getToken(); + } for (int i = 0; i < len; i++) { getMXMLWalker().walk(node.getChild(i)); // Instance + if (isSimple && i < len - 1) + ps.value += ASEmitterTokens.COMMA.getToken(); + } + if (isSimple) + { + ps.value += ASEmitterTokens.SQUARE_CLOSE.getToken(); } makingSimpleArray = oldMakingSimpleArray;