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/master
Commit: faec4e06a1390d709e5255826f2f4ba1a1e0769a
Parents: 8511fac
Author: Alex Harui <[email protected]>
Authored: Wed May 3 21:45:38 2017 -0700
Committer: Alex Harui <[email protected]>
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);
+       }
+
 }

Reply via email to