This is an automated email from the ASF dual-hosted git repository.

aharui pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/royale-compiler.git


The following commit(s) were added to refs/heads/develop by this push:
     new 64dc386  try to eliminate duplicate keys
64dc386 is described below

commit 64dc386855108d3e37f3e958f6ca7719e00c4f7e
Author: Alex Harui <aha...@apache.org>
AuthorDate: Mon Dec 3 01:13:45 2018 -0800

    try to eliminate duplicate keys
---
 .../internal/codegen/mxml/royale/MXMLRoyaleEmitter.java    | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git 
a/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/mxml/royale/MXMLRoyaleEmitter.java
 
b/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/mxml/royale/MXMLRoyaleEmitter.java
index 47aee49..7e76ba3 100644
--- 
a/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/mxml/royale/MXMLRoyaleEmitter.java
+++ 
b/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/mxml/royale/MXMLRoyaleEmitter.java
@@ -2043,7 +2043,7 @@ public class MXMLRoyaleEmitter extends MXMLEmitter 
implements
             propertiesTree.propertySpecifiers.add(currentInstance);
         }
 
-        instances.add(currentInstance);
+        addInstanceIfNeeded(instances, currentInstance);
 
         IMXMLPropertySpecifierNode[] pnodes = node.getPropertySpecifierNodes();
         if (pnodes != null)
@@ -2138,7 +2138,17 @@ public class MXMLRoyaleEmitter extends MXMLEmitter 
implements
         }
     }
 
-    public void emitPropertyOverride(IMXMLPropertySpecifierNode propertyNode)
+    private void addInstanceIfNeeded(
+                       ArrayList<MXMLDescriptorSpecifier> instances2,
+                       MXMLDescriptorSpecifier currentInstance) {
+       for (MXMLDescriptorSpecifier instance : instances2)
+               if (instance.id != null && currentInstance.id != null && 
instance.id.equals(currentInstance.id))
+                       return;
+        instances.add(currentInstance);
+
+       }
+
+       public void emitPropertyOverride(IMXMLPropertySpecifierNode 
propertyNode)
     {
         RoyaleProject project = (RoyaleProject) getMXMLWalker().getProject();
         Name propertyOverride = project.getPropertyOverrideClassName();

Reply via email to