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;
 

Reply via email to