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