Repository: flex-falcon
Updated Branches:
  refs/heads/develop 8aac04a65 -> c83fc99af


don't make goog.requires for external definitions


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

Branch: refs/heads/develop
Commit: ea7c3f87a3fbd0e548a9f3288cb147f3399ec7d7
Parents: 8aac04a
Author: Alex Harui <[email protected]>
Authored: Thu Jun 11 11:27:00 2015 -0700
Committer: Alex Harui <[email protected]>
Committed: Thu Jun 11 11:59:16 2015 -0700

----------------------------------------------------------------------
 .../internal/projects/FlexJSProject.java        | 22 ++++++++++++++++++--
 1 file changed, 20 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/ea7c3f87/compiler.jx/src/org/apache/flex/compiler/internal/projects/FlexJSProject.java
----------------------------------------------------------------------
diff --git 
a/compiler.jx/src/org/apache/flex/compiler/internal/projects/FlexJSProject.java 
b/compiler.jx/src/org/apache/flex/compiler/internal/projects/FlexJSProject.java
index 9451dda..6f7578d 100644
--- 
a/compiler.jx/src/org/apache/flex/compiler/internal/projects/FlexJSProject.java
+++ 
b/compiler.jx/src/org/apache/flex/compiler/internal/projects/FlexJSProject.java
@@ -19,6 +19,7 @@
 package org.apache.flex.compiler.internal.projects;
 
 import java.util.ArrayList;
+import java.util.Collection;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Set;
@@ -30,6 +31,7 @@ import 
org.apache.flex.compiler.internal.css.codegen.CSSCompilationSession;
 import org.apache.flex.compiler.internal.definitions.InterfaceDefinition;
 import 
org.apache.flex.compiler.internal.driver.js.flexjs.JSCSSCompilationSession;
 import 
org.apache.flex.compiler.internal.scopes.ASProjectScope.DefinitionPromise;
+import org.apache.flex.compiler.internal.targets.LinkageChecker;
 import org.apache.flex.compiler.internal.tree.mxml.MXMLClassDefinitionNode;
 import org.apache.flex.compiler.internal.workspaces.Workspace;
 import org.apache.flex.compiler.tree.as.IASNode;
@@ -89,10 +91,11 @@ public class FlexJSProject extends FlexProject
                     // inheritance is important so remember it
                     if (reqs.get(qname) != DependencyType.INHERITANCE)
                     {
-                        reqs.put(qname, dt);
+                       if (!isExternalLinkage(to))
+                               reqs.put(qname, dt);
                     }
                 }
-                else
+                else if (!isExternalLinkage(to))
                     reqs.put(qname, dt);
             }
         }
@@ -122,6 +125,21 @@ public class FlexJSProject extends FlexProject
         super.addDependency(from, to, dt, qname);
     }
 
+    private LinkageChecker linkageChecker;
+    
+    private boolean isExternalLinkage(ICompilationUnit cu)
+    {
+       if (linkageChecker == null)
+               linkageChecker = new LinkageChecker(this, getTargetSettings());
+       try {
+                       return linkageChecker.isExternal(cu);
+               } catch (InterruptedException e) {
+                       // TODO Auto-generated catch block
+                       e.printStackTrace();
+               }
+               return false;
+    }
+    
     public ArrayList<String> getInterfaces(ICompilationUnit from)
     {
         if (interfaces.containsKey(from))

Reply via email to