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 2017/05/04 04:45:56 UTC

[2/2] git commit: [flex-falcon] [refs/heads/develop] - don't put external library dependencies in the requires

don't put external library dependencies in the requires


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

Branch: refs/heads/develop
Commit: faec4e06a1390d709e5255826f2f4ba1a1e0769a
Parents: 8511fac
Author: Alex Harui <ah...@apache.org>
Authored: Wed May 3 21:45:38 2017 -0700
Committer: Alex Harui <ah...@apache.org>
Committed: Wed May 3 21:45:38 2017 -0700

----------------------------------------------------------------------
 .../internal/codegen/js/flexjs/JSFlexJSEmitter.java    | 13 ++++++++++++-
 .../codegen/mxml/flexjs/MXMLFlexJSEmitter.java         | 13 ++++++++++++-
 2 files changed, 24 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/faec4e06/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/flexjs/JSFlexJSEmitter.java
----------------------------------------------------------------------
diff --git a/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/flexjs/JSFlexJSEmitter.java b/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/flexjs/JSFlexJSEmitter.java
index 897408f..2d7b257 100644
--- a/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/flexjs/JSFlexJSEmitter.java
+++ b/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/flexjs/JSFlexJSEmitter.java
@@ -101,6 +101,7 @@ import org.apache.flex.compiler.tree.as.ISetterNode;
 import org.apache.flex.compiler.tree.as.ITypedExpressionNode;
 import org.apache.flex.compiler.tree.as.IUnaryOperatorNode;
 import org.apache.flex.compiler.tree.as.IVariableNode;
+import org.apache.flex.compiler.units.ICompilationUnit;
 import org.apache.flex.compiler.utils.ASNodeUtils;
 
 import com.google.common.base.Joiner;
@@ -551,7 +552,7 @@ public class JSFlexJSEmitter extends JSGoogEmitter implements IJSFlexJSEmitter
         		if (!staticUsedNames.contains(name) && !NativeUtils.isJSNative(name))
         			staticUsedNames.add(name);
     		
-    		if (!usedNames.contains(name))
+    		if (!usedNames.contains(name) && !isExternal(name))
     			usedNames.add(name);
     	}
         return name;
@@ -1286,4 +1287,14 @@ public class JSFlexJSEmitter extends JSGoogEmitter implements IJSFlexJSEmitter
     {
         write(JSFlexJSEmitterTokens.VECTOR);
     }
+    
+	boolean isExternal(String className)
+	{
+        ICompilerProject project = getWalker().getProject();
+		ICompilationUnit cu = project.resolveQNameToCompilationUnit(className);
+		if (cu == null) return false; // unit testing
+		
+		return ((FlexJSProject)project).isExternalLinkage(cu);
+	}
+
 }

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/faec4e06/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/mxml/flexjs/MXMLFlexJSEmitter.java
----------------------------------------------------------------------
diff --git a/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/mxml/flexjs/MXMLFlexJSEmitter.java b/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/mxml/flexjs/MXMLFlexJSEmitter.java
index 573e0ff..0fbf7ac 100644
--- a/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/mxml/flexjs/MXMLFlexJSEmitter.java
+++ b/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/mxml/flexjs/MXMLFlexJSEmitter.java
@@ -278,6 +278,8 @@ public class MXMLFlexJSEmitter extends MXMLEmitter implements
 		            	boolean firstOne = true;
 		            	for (String mixin : mixins)
 		            	{
+		            		if (isExternal(mixin))
+		            			continue;
 		            		if (!firstOne)
 		            			mixinInject += ", "; 
 		            		mixinInject += mixin;
@@ -2695,7 +2697,7 @@ public class MXMLFlexJSEmitter extends MXMLEmitter implements
     	if (subDocumentNames.contains(name))
     		return documentDefinition.getQualifiedName() + "." + name;
         if (NativeUtils.isJSNative(name)) return name;
-		if (useName && !usedNames.contains(name))
+		if (useName && !usedNames.contains(name) && !isExternal(name))
 			usedNames.add(name);
      	return name;
     }
@@ -2791,4 +2793,13 @@ public class MXMLFlexJSEmitter extends MXMLEmitter implements
         interfaceList = list.toString();
     }
     
+	boolean isExternal(String className)
+	{
+        ICompilerProject project = getMXMLWalker().getProject();
+		ICompilationUnit cu = project.resolveQNameToCompilationUnit(className);
+		if (cu == null) return false; // unit testing
+		
+		return ((FlexJSProject)project).isExternalLinkage(cu);
+	}
+
 }