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))
