You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by ah...@apache.org on 2014/11/22 01:31:55 UTC

[1/7] git commit: [flex-falcon] [refs/heads/develop] - handle fx:Declarations

Repository: flex-falcon
Updated Branches:
  refs/heads/develop 75b555aeb -> 96c45c445


handle fx:Declarations


Project: http://git-wip-us.apache.org/repos/asf/flex-falcon/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-falcon/commit/fd42cf29
Tree: http://git-wip-us.apache.org/repos/asf/flex-falcon/tree/fd42cf29
Diff: http://git-wip-us.apache.org/repos/asf/flex-falcon/diff/fd42cf29

Branch: refs/heads/develop
Commit: fd42cf29eba1d32128de79ec8e91fd1edb2e6cc2
Parents: 3ff5c3c
Author: Alex Harui <ah...@apache.org>
Authored: Tue Nov 18 07:44:31 2014 -0800
Committer: Alex Harui <ah...@apache.org>
Committed: Fri Nov 21 14:58:15 2014 -0800

----------------------------------------------------------------------
 .../flex/compiler/codegen/mxml/IMXMLEmitter.java  |  3 +++
 .../internal/codegen/mxml/MXMLBlockWalker.java    |  2 +-
 .../internal/codegen/mxml/MXMLEmitter.java        | 11 +++++++++++
 .../codegen/mxml/flexjs/MXMLFlexJSEmitter.java    | 18 ++++++++++++++++++
 4 files changed, 33 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/fd42cf29/compiler.jx/src/org/apache/flex/compiler/codegen/mxml/IMXMLEmitter.java
----------------------------------------------------------------------
diff --git a/compiler.jx/src/org/apache/flex/compiler/codegen/mxml/IMXMLEmitter.java b/compiler.jx/src/org/apache/flex/compiler/codegen/mxml/IMXMLEmitter.java
index 3d6b288..53461b4 100644
--- a/compiler.jx/src/org/apache/flex/compiler/codegen/mxml/IMXMLEmitter.java
+++ b/compiler.jx/src/org/apache/flex/compiler/codegen/mxml/IMXMLEmitter.java
@@ -27,6 +27,7 @@ import org.apache.flex.compiler.tree.mxml.IMXMLBooleanNode;
 import org.apache.flex.compiler.tree.mxml.IMXMLClassDefinitionNode;
 import org.apache.flex.compiler.tree.mxml.IMXMLComponentNode;
 import org.apache.flex.compiler.tree.mxml.IMXMLDataBindingNode;
+import org.apache.flex.compiler.tree.mxml.IMXMLDeclarationsNode;
 import org.apache.flex.compiler.tree.mxml.IMXMLEmbedNode;
 import org.apache.flex.compiler.tree.mxml.IMXMLEventSpecifierNode;
 import org.apache.flex.compiler.tree.mxml.IMXMLFactoryNode;
@@ -112,6 +113,8 @@ public interface IMXMLEmitter extends IEmitter
 
     void emitComponent(IMXMLComponentNode node);
 
+    void emitDeclarations(IMXMLDeclarationsNode node);
+
     //--------------------------------------------------------------------------
 
     void emitMetadata(IMXMLMetadataNode node);

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/fd42cf29/compiler.jx/src/org/apache/flex/compiler/internal/codegen/mxml/MXMLBlockWalker.java
----------------------------------------------------------------------
diff --git a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/mxml/MXMLBlockWalker.java b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/mxml/MXMLBlockWalker.java
index ed518de..bed0187 100644
--- a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/mxml/MXMLBlockWalker.java
+++ b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/mxml/MXMLBlockWalker.java
@@ -200,7 +200,7 @@ public class MXMLBlockWalker implements IMXMLBlockVisitor, IMXMLBlockWalker
     {
         debug("visitDeclarations()");
 
-        //
+        mxmlEmitter.emitDeclarations(node);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/fd42cf29/compiler.jx/src/org/apache/flex/compiler/internal/codegen/mxml/MXMLEmitter.java
----------------------------------------------------------------------
diff --git a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/mxml/MXMLEmitter.java b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/mxml/MXMLEmitter.java
index fcf2597..56d0fb2 100644
--- a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/mxml/MXMLEmitter.java
+++ b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/mxml/MXMLEmitter.java
@@ -90,6 +90,17 @@ public class MXMLEmitter extends Emitter implements IMXMLEmitter
     //--------------------------------------------------------------------------
 
     @Override
+    public void emitDeclarations(IMXMLDeclarationsNode node)
+    {
+        // visit tags
+        final int len = node.getChildCount();
+        for (int i = 0; i < len; i++)
+        {
+            getMXMLWalker().walk(node.getChild(i));
+        }    
+    }
+    
+    @Override
     public void emitDocumentHeader(IMXMLFileNode node)
     {
         IMXMLDocumentNode dnode = node.getDocumentNode();

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/fd42cf29/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 08b113e..5955432 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
@@ -64,6 +64,7 @@ import org.apache.flex.compiler.tree.mxml.IMXMLClassDefinitionNode;
 import org.apache.flex.compiler.tree.mxml.IMXMLClassNode;
 import org.apache.flex.compiler.tree.mxml.IMXMLComponentNode;
 import org.apache.flex.compiler.tree.mxml.IMXMLDataBindingNode;
+import org.apache.flex.compiler.tree.mxml.IMXMLDeclarationsNode;
 import org.apache.flex.compiler.tree.mxml.IMXMLDocumentNode;
 import org.apache.flex.compiler.tree.mxml.IMXMLEventSpecifierNode;
 import org.apache.flex.compiler.tree.mxml.IMXMLFactoryNode;
@@ -125,6 +126,23 @@ public class MXMLFlexJSEmitter extends MXMLEmitter implements
     //--------------------------------------------------------------------------
 
     @Override
+    public void emitDeclarations(IMXMLDeclarationsNode node)
+    {
+    	inMXMLContent = true;
+        MXMLDescriptorSpecifier currentInstance = getCurrentDescriptor("i");
+
+        MXMLDescriptorSpecifier currentPropertySpecifier = new MXMLDescriptorSpecifier();
+        currentPropertySpecifier.isProperty = true;
+        currentPropertySpecifier.name = "mxmlContent";
+        currentPropertySpecifier.parent = currentInstance;
+        descriptorTree.add(currentPropertySpecifier);
+        moveDown(false, currentInstance, currentPropertySpecifier);
+    	super.emitDeclarations(node);
+        moveUp(false, false);
+    	inMXMLContent = false;
+    }
+    
+    @Override
     public void emitDocument(IMXMLDocumentNode node)
     {
         descriptorTree = new ArrayList<MXMLDescriptorSpecifier>();


[4/7] git commit: [flex-falcon] [refs/heads/develop] - need to add goog files to jar

Posted by ah...@apache.org.
need to add goog files to jar


Project: http://git-wip-us.apache.org/repos/asf/flex-falcon/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-falcon/commit/1157e2e9
Tree: http://git-wip-us.apache.org/repos/asf/flex-falcon/tree/1157e2e9
Diff: http://git-wip-us.apache.org/repos/asf/flex-falcon/diff/1157e2e9

Branch: refs/heads/develop
Commit: 1157e2e95ca6594515c2c3d74d511a003103773e
Parents: 7e2dbe6
Author: Alex Harui <ah...@apache.org>
Authored: Fri Nov 21 14:57:30 2014 -0800
Committer: Alex Harui <ah...@apache.org>
Committed: Fri Nov 21 14:58:16 2014 -0800

----------------------------------------------------------------------
 compiler.jx/build.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/1157e2e9/compiler.jx/build.xml
----------------------------------------------------------------------
diff --git a/compiler.jx/build.xml b/compiler.jx/build.xml
index dc7d889..cdaf24b 100644
--- a/compiler.jx/build.xml
+++ b/compiler.jx/build.xml
@@ -88,7 +88,7 @@
 
 		<echo message="Building ${jsc.jar}" />
 		<jar file="${jsc.jar}" basedir="${classes.dir}"
-            includes="**/*.properties,org/apache/**/*"
+            includes="**/*.properties,org/apache/**/*,com/google/**/*"
 			excludes="**/JSDriver*,**/IASNodeAdapter*,org/apache/flex/compiler/internal/parsing/abc/*" >
             <manifest>
                 <attribute name="Class-Path" value="${jar.classpath}" />


[2/7] git commit: [flex-falcon] [refs/heads/develop] - suppress some warnings

Posted by ah...@apache.org.
suppress some warnings


Project: http://git-wip-us.apache.org/repos/asf/flex-falcon/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-falcon/commit/3ff5c3c2
Tree: http://git-wip-us.apache.org/repos/asf/flex-falcon/tree/3ff5c3c2
Diff: http://git-wip-us.apache.org/repos/asf/flex-falcon/diff/3ff5c3c2

Branch: refs/heads/develop
Commit: 3ff5c3c266960246a9905d32f0d5da5230ab9600
Parents: 0d2c3f3
Author: Alex Harui <ah...@apache.org>
Authored: Mon Nov 17 17:09:00 2014 -0800
Committer: Alex Harui <ah...@apache.org>
Committed: Fri Nov 21 14:58:15 2014 -0800

----------------------------------------------------------------------
 .../jscomp/FlexJSDiagnosticGroups.java          | 40 ++++++++++++++++++++
 .../utils/JSClosureCompilerWrapper.java         |  6 +++
 2 files changed, 46 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/3ff5c3c2/compiler.jx/src/com/google/javascript/jscomp/FlexJSDiagnosticGroups.java
----------------------------------------------------------------------
diff --git a/compiler.jx/src/com/google/javascript/jscomp/FlexJSDiagnosticGroups.java b/compiler.jx/src/com/google/javascript/jscomp/FlexJSDiagnosticGroups.java
new file mode 100644
index 0000000..e28c8df
--- /dev/null
+++ b/compiler.jx/src/com/google/javascript/jscomp/FlexJSDiagnosticGroups.java
@@ -0,0 +1,40 @@
+/*
+ *
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ *
+ */
+
+package com.google.javascript.jscomp;
+
+/**
+ * Custom DiagnosticGroups allow @suppress directives to disable
+ * certain warnings while letting other warnings in the group
+ * show.
+ */
+public class FlexJSDiagnosticGroups {
+
+	/**
+	 * Flex ItemRenderer Factories store the constructor in a variable
+	 * resulting in this warning.
+	 */
+	public static final DiagnosticGroup FLEXJS_NOT_A_CONSTRUCTOR =
+		DiagnosticGroups.registerGroup("flexjsNotAConstructor",
+                TypeCheck.NOT_A_CONSTRUCTOR);
+
+	public static final DiagnosticGroup FLEXJS_REFERENCE_BEFORE_DECLARE =
+		DiagnosticGroups.registerGroup("flexjsReferenceBeforeDeclare",
+                VariableReferenceCheck.UNDECLARED_REFERENCE);
+}

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/3ff5c3c2/compiler.jx/src/org/apache/flex/compiler/utils/JSClosureCompilerWrapper.java
----------------------------------------------------------------------
diff --git a/compiler.jx/src/org/apache/flex/compiler/utils/JSClosureCompilerWrapper.java b/compiler.jx/src/org/apache/flex/compiler/utils/JSClosureCompilerWrapper.java
index 6f3543d..e8bfb8c 100644
--- a/compiler.jx/src/org/apache/flex/compiler/utils/JSClosureCompilerWrapper.java
+++ b/compiler.jx/src/org/apache/flex/compiler/utils/JSClosureCompilerWrapper.java
@@ -32,6 +32,7 @@ import com.google.javascript.jscomp.CompilationLevel;
 import com.google.javascript.jscomp.Compiler;
 import com.google.javascript.jscomp.CompilerOptions;
 import com.google.javascript.jscomp.DiagnosticGroups;
+import com.google.javascript.jscomp.FlexJSDiagnosticGroups;
 import com.google.javascript.jscomp.SourceFile;
 import com.google.javascript.jscomp.SourceMap;
 import com.google.javascript.jscomp.WarningLevel;
@@ -230,6 +231,11 @@ public class JSClosureCompilerWrapper
             options_.setWarningLevel(DiagnosticGroups.UNNECESSARY_CASTS, CheckLevel.OFF); // OFF
             options_.setWarningLevel(DiagnosticGroups.USE_OF_GOOG_BASE, CheckLevel.WARNING);
             options_.setWarningLevel(DiagnosticGroups.VIOLATED_MODULE_DEP, CheckLevel.WARNING);
+            
+            // create custom DiagnosticGroups to shut off some individual warnings when we
+            // still want warnings for others in the group.
+            options_.setWarningLevel(FlexJSDiagnosticGroups.FLEXJS_NOT_A_CONSTRUCTOR, CheckLevel.OFF);
+            options_.setWarningLevel(FlexJSDiagnosticGroups.FLEXJS_REFERENCE_BEFORE_DECLARE, CheckLevel.OFF);
         }
         
         options_.sourceMapFormat = SourceMap.Format.V3;


[5/7] git commit: [flex-falcon] [refs/heads/develop] - fix [Bindable] on classes

Posted by ah...@apache.org.
fix [Bindable] on classes


Project: http://git-wip-us.apache.org/repos/asf/flex-falcon/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-falcon/commit/7e2dbe68
Tree: http://git-wip-us.apache.org/repos/asf/flex-falcon/tree/7e2dbe68
Diff: http://git-wip-us.apache.org/repos/asf/flex-falcon/diff/7e2dbe68

Branch: refs/heads/develop
Commit: 7e2dbe6857e9e73ce67c5b693eced4d39a70459c
Parents: fd42cf2
Author: Alex Harui <ah...@apache.org>
Authored: Fri Nov 21 14:57:00 2014 -0800
Committer: Alex Harui <ah...@apache.org>
Committed: Fri Nov 21 14:58:16 2014 -0800

----------------------------------------------------------------------
 .../org/apache/flex/compiler/internal/units/ASCompilationUnit.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/7e2dbe68/compiler/src/org/apache/flex/compiler/internal/units/ASCompilationUnit.java
----------------------------------------------------------------------
diff --git a/compiler/src/org/apache/flex/compiler/internal/units/ASCompilationUnit.java b/compiler/src/org/apache/flex/compiler/internal/units/ASCompilationUnit.java
index 090e714..c4141fe 100644
--- a/compiler/src/org/apache/flex/compiler/internal/units/ASCompilationUnit.java
+++ b/compiler/src/org/apache/flex/compiler/internal/units/ASCompilationUnit.java
@@ -347,7 +347,7 @@ public class ASCompilationUnit extends CompilationUnitBase
                     {
                         classNode = (ClassNode)memberNodes[0];
                         memberNodes = classNode.getAllMemberNodes();
-                        metaInfos = pkg.getMetaInfos();
+                        metaInfos = classNode.getMetaInfos();
                         for (IMetaInfo metaInfo : metaInfos)
                         {
                             String name = metaInfo.getTagName();


[3/7] git commit: [flex-falcon] [refs/heads/develop] - fix binding destination functions

Posted by ah...@apache.org.
fix binding destination functions


Project: http://git-wip-us.apache.org/repos/asf/flex-falcon/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-falcon/commit/0d2c3f30
Tree: http://git-wip-us.apache.org/repos/asf/flex-falcon/tree/0d2c3f30
Diff: http://git-wip-us.apache.org/repos/asf/flex-falcon/diff/0d2c3f30

Branch: refs/heads/develop
Commit: 0d2c3f305891586de3bbebb30495e1e56c2360fb
Parents: 75b555a
Author: Alex Harui <ah...@apache.org>
Authored: Mon Nov 17 17:08:31 2014 -0800
Committer: Alex Harui <ah...@apache.org>
Committed: Fri Nov 21 14:58:15 2014 -0800

----------------------------------------------------------------------
 .../codegen/mxml/flexjs/MXMLFlexJSEmitter.java  | 31 ++++++++++++++++++--
 1 file changed, 29 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/0d2c3f30/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 7c59b1d..08b113e 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
@@ -489,7 +489,7 @@ public class MXMLFlexJSEmitter extends MXMLEmitter implements
             if (destNode != null)
             {
                 StringBuilder sb = new StringBuilder();
-                sb.append(asEmitter.stringifyNode(destNode));
+                sb.append(generateSetterFunction(destNode));
                 writeNewline(sb.toString() + ASEmitterTokens.COMMA.getToken());
             }
             else
@@ -531,7 +531,34 @@ public class MXMLFlexJSEmitter extends MXMLEmitter implements
         writeNewline("null" + ASEmitterTokens.SQUARE_CLOSE.getToken() + ASEmitterTokens.SEMICOLON.getToken());
     }
 
-    private void encodeWatcher(WatcherInfoBase watcherInfoBase)
+    private String generateSetterFunction(IExpressionNode destNode) {
+        IASEmitter asEmitter = ((IMXMLBlockWalker) getMXMLWalker())
+        	.getASEmitter();
+		String body = asEmitter.stringifyNode(destNode);
+        
+		StringBuilder sb = new StringBuilder();
+		sb.append("function (value) { ");
+		int lastGet = body.lastIndexOf("get_");
+		int lastDot = body.lastIndexOf(".");
+		if (lastDot == lastGet - 1)
+		{
+			String object = body.substring(0, lastDot);
+			String getter = body.substring(lastDot);
+			String setter = getter.replace("get_", "set_");
+			setter = setter.replace("()", "(value)");
+			body = object + setter;
+			sb.append(body);
+		}
+		else
+		{
+			sb.append(body);
+			sb.append(" = value;");
+		}
+		sb.append(";}");
+		return sb.toString();
+	}
+
+	private void encodeWatcher(WatcherInfoBase watcherInfoBase)
     {
         IASEmitter asEmitter = ((IMXMLBlockWalker) getMXMLWalker())
         .getASEmitter();


[6/7] git commit: [flex-falcon] [refs/heads/develop] - handle states sharing instances

Posted by ah...@apache.org.
handle states sharing instances


Project: http://git-wip-us.apache.org/repos/asf/flex-falcon/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-falcon/commit/e28cf157
Tree: http://git-wip-us.apache.org/repos/asf/flex-falcon/tree/e28cf157
Diff: http://git-wip-us.apache.org/repos/asf/flex-falcon/diff/e28cf157

Branch: refs/heads/develop
Commit: e28cf157d27b074bb156b05a3a4e5d2b88f17585
Parents: 1157e2e
Author: Alex Harui <ah...@apache.org>
Authored: Fri Nov 21 14:58:02 2014 -0800
Committer: Alex Harui <ah...@apache.org>
Committed: Fri Nov 21 14:58:16 2014 -0800

----------------------------------------------------------------------
 .../codegen/mxml/flexjs/MXMLFlexJSEmitter.java  | 48 +++++++++++++++-----
 1 file changed, 36 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/e28cf157/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 5955432..5bfe515 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
@@ -22,7 +22,9 @@ package org.apache.flex.compiler.internal.codegen.mxml.flexjs;
 
 import java.io.FilterWriter;
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 import java.util.Map.Entry;
 import java.util.Set;
 
@@ -109,6 +111,18 @@ public class MXMLFlexJSEmitter extends MXMLEmitter implements
     private StringBuilder subDocuments = new StringBuilder();
     private ArrayList<String> subDocumentNames = new ArrayList<String>();
 
+    /**
+     * This keeps track of the entries in our temporary array of 
+     * DeferredInstanceFromFunction objects that we CG to help with
+     * State override CG.
+     * 
+     * Keys are Instance nodes,
+     * values are the array index where the deferred instance is:
+     * 
+     *  deferred instance = local3[ nodeToIndexMap.get(an instance) ]
+     */
+    protected Map<IMXMLNode, Integer> nodeToIndexMap;
+    
     public MXMLFlexJSEmitter(FilterWriter out)
     {
         super(out);
@@ -1207,18 +1221,28 @@ public class MXMLFlexJSEmitter extends MXMLEmitter implements
 
         MXMLDescriptorSpecifier overrideInstances = getCurrentDescriptor("so");
         int index = overrideInstances.propertySpecifiers.size();
-        MXMLDescriptorSpecifier itemsDesc = new MXMLDescriptorSpecifier();
-        itemsDesc.isProperty = true;
-        itemsDesc.hasArray = true;
-        itemsDesc.name = "itemsDescriptorIndex";
-        itemsDesc.parent = overrideInstances;
-        overrideInstances.propertySpecifiers.add(itemsDesc);
-        boolean oldInMXMLContent = inMXMLContent;
-        moveDown(false, null, itemsDesc);
-        inMXMLContent = true;
-        getMXMLWalker().walk(instanceNode); // instance node
-        inMXMLContent = oldInMXMLContent;
-        moveUp(false, false);
+        if (nodeToIndexMap == null)
+        	nodeToIndexMap = new HashMap<IMXMLNode, Integer>();
+        if (nodeToIndexMap.containsKey(instanceNode))
+        {
+        	index = nodeToIndexMap.get(instanceNode);
+        }
+        else
+        {
+        	nodeToIndexMap.put(instanceNode, index);
+            MXMLDescriptorSpecifier itemsDesc = new MXMLDescriptorSpecifier();
+            itemsDesc.isProperty = true;
+            itemsDesc.hasArray = true;
+            itemsDesc.name = "itemsDescriptor";
+            itemsDesc.parent = overrideInstances;
+            overrideInstances.propertySpecifiers.add(itemsDesc);
+            boolean oldInMXMLContent = inMXMLContent;
+            moveDown(false, null, itemsDesc);
+            inMXMLContent = true;
+            getMXMLWalker().walk(instanceNode); // instance node
+            inMXMLContent = oldInMXMLContent;
+            moveUp(false, false);
+        }
 
         MXMLDescriptorSpecifier addItems = new MXMLDescriptorSpecifier();
         addItems.isProperty = false;


[7/7] git commit: [flex-falcon] [refs/heads/develop] - fix this test new that fx:Declarations work

Posted by ah...@apache.org.
fix this test new that fx:Declarations work


Project: http://git-wip-us.apache.org/repos/asf/flex-falcon/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-falcon/commit/96c45c44
Tree: http://git-wip-us.apache.org/repos/asf/flex-falcon/tree/96c45c44
Diff: http://git-wip-us.apache.org/repos/asf/flex-falcon/diff/96c45c44

Branch: refs/heads/develop
Commit: 96c45c445566a3b01c8108dd69d4720989bf68d7
Parents: e28cf15
Author: Alex Harui <ah...@apache.org>
Authored: Fri Nov 21 16:31:38 2014 -0800
Committer: Alex Harui <ah...@apache.org>
Committed: Fri Nov 21 16:31:38 2014 -0800

----------------------------------------------------------------------
 .../projects/simpleMXML/src/SimpleMXML_Project_result.js     | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/96c45c44/compiler.jx.tests/test-files/vf2js/projects/simpleMXML/src/SimpleMXML_Project_result.js
----------------------------------------------------------------------
diff --git a/compiler.jx.tests/test-files/vf2js/projects/simpleMXML/src/SimpleMXML_Project_result.js b/compiler.jx.tests/test-files/vf2js/projects/simpleMXML/src/SimpleMXML_Project_result.js
index 258904a..9373345 100644
--- a/compiler.jx.tests/test-files/vf2js/projects/simpleMXML/src/SimpleMXML_Project_result.js
+++ b/compiler.jx.tests/test-files/vf2js/projects/simpleMXML/src/SimpleMXML_Project_result.js
@@ -34,7 +34,13 @@ goog.require('org.apache.flex.utils.Language');
  */
 SimpleMXML_Project = function() {
   SimpleMXML_Project.base(this, 'constructor');
-  };
+  
+  /**
+   * @private
+   * @type {example.Component}
+   */
+  this.$ID0;
+};
 goog.inherits(SimpleMXML_Project, spark.components.Application);