RoyaleJSProject: improved detection of SWC externs
diff --git a/compiler-jx/src/main/java/org/apache/royale/compiler/internal/projects/RoyaleJSProject.java b/compiler-jx/src/main/java/org/apache/royale/compiler/internal/projects/RoyaleJSProject.java
index da8cef4..8bf9044 100644
--- a/compiler-jx/src/main/java/org/apache/royale/compiler/internal/projects/RoyaleJSProject.java
+++ b/compiler-jx/src/main/java/org/apache/royale/compiler/internal/projects/RoyaleJSProject.java
@@ -33,6 +33,7 @@
import org.apache.royale.compiler.asdoc.royale.ASDocComment;
import org.apache.royale.compiler.clients.JSConfiguration;
import org.apache.royale.compiler.common.DependencyType;
+import org.apache.royale.compiler.common.DependencyTypeSet;
import org.apache.royale.compiler.config.CompilerDiagnosticsConstants;
import org.apache.royale.compiler.config.Configuration;
import org.apache.royale.compiler.config.Configurator;
@@ -103,6 +104,24 @@
public ICompilationUnit mainCU;
@Override
+ public void addDependency(ICompilationUnit from, ICompilationUnit to, DependencyTypeSet dt, String qname)
+ {
+ if (to.getCompilationUnitType() == UnitType.SWC_UNIT)
+ {
+ List<IDefinition> dp = to.getDefinitionPromises();
+ if(dp.size() > 0)
+ {
+ if (!isGoogProvided(dp.get(0).getQualifiedName()))
+ {
+ SWCCompilationUnit swcUnit = (SWCCompilationUnit) to;
+ swcExterns.add(swcUnit.getSWC());
+ }
+ }
+ }
+ super.addDependency(from, to, dt, qname);
+ }
+
+ @Override
public void addDependency(ICompilationUnit from, ICompilationUnit to,
DependencyType dt, String qname)
{