You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@royale.apache.org by ah...@apache.org on 2018/12/22 07:08:53 UTC

[royale-compiler] 01/02: avoid duplicate static deps

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

commit 16d02d4b31e499c3b470136b0f0fc8000a4e25bd
Author: Alex Harui <ah...@apache.org>
AuthorDate: Fri Dec 21 23:08:27 2018 -0800

    avoid duplicate static deps
---
 .../compiler/internal/codegen/js/royale/JSRoyaleEmitter.java      | 8 ++++++--
 .../compiler/internal/codegen/mxml/royale/MXMLRoyaleEmitter.java  | 7 +++++--
 2 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/royale/JSRoyaleEmitter.java b/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/royale/JSRoyaleEmitter.java
index 86e99f1..66df48a 100644
--- a/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/royale/JSRoyaleEmitter.java
+++ b/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/royale/JSRoyaleEmitter.java
@@ -478,7 +478,8 @@ public class JSRoyaleEmitter extends JSGoogEmitter implements IJSRoyaleEmitter
         writeToken(ASEmitterTokens.NEW);
         write(IASLanguageConstants.Namespace);
         write(ASEmitterTokens.PAREN_OPEN);
-        staticUsedNames.add(IASLanguageConstants.Namespace);
+        if (!staticUsedNames.contains(IASLanguageConstants.Namespace))
+        	staticUsedNames.add(IASLanguageConstants.Namespace);
         IExpressionNode uriNode = node.getNamespaceURINode();
         if (uriNode == null)
         {
@@ -1333,7 +1334,10 @@ public class JSRoyaleEmitter extends JSGoogEmitter implements IJSRoyaleEmitter
     {
         write(JSRoyaleEmitterTokens.VECTOR);
         if (getModel().inStaticInitializer)
-        	staticUsedNames.add(JSRoyaleEmitterTokens.LANGUAGE_QNAME.getToken());
+        {
+        	if (!staticUsedNames.contains(JSRoyaleEmitterTokens.LANGUAGE_QNAME.getToken()))
+        		staticUsedNames.add(JSRoyaleEmitterTokens.LANGUAGE_QNAME.getToken());
+        }
         if (project instanceof RoyaleJSProject)
         	((RoyaleJSProject)project).needLanguage = true;
         getModel().needLanguage = true;
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 44d05f8..e4a0012 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
@@ -1376,8 +1376,11 @@ public class MXMLRoyaleEmitter extends MXMLEmitter implements
 	                String[] parts = s.split("\\.");
 	                write(ASEmitterTokens.SQUARE_OPEN.getToken() + ASEmitterTokens.DOUBLE_QUOTE.getToken() +
 	                        bi.classDef.getQualifiedName() + ASEmitterTokens.DOUBLE_QUOTE.getToken());
-	                usedNames.add(bi.classDef.getQualifiedName());
-	                staticUsedNames.add(bi.classDef.getQualifiedName());
+	                String qname = bi.classDef.getQualifiedName();
+	                if (!usedNames.contains(qname))
+	                	usedNames.add(qname);
+	                if (!staticUsedNames.contains(qname))
+	                	staticUsedNames.add(qname);
 	                int n = parts.length;
 	                for (int i = 1; i < n; i++)
 	                {