This is an automated email from the ASF dual-hosted git repository.

gregdove pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/royale-compiler.git

commit d551fcf6d6a96a57f98512967c5ffcbfcd876a02
Author: greg-dove <greg.d...@gmail.com>
AuthorDate: Tue Oct 29 08:46:26 2019 +1300

    Fix for startup js errors when there are interdependencies between 
file-private classes
---
 .../org/apache/royale/compiler/internal/graph/GoogDepsWriter.java | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git 
a/compiler-jx/src/main/java/org/apache/royale/compiler/internal/graph/GoogDepsWriter.java
 
b/compiler-jx/src/main/java/org/apache/royale/compiler/internal/graph/GoogDepsWriter.java
index 7c8d1e1..6b4081d 100644
--- 
a/compiler-jx/src/main/java/org/apache/royale/compiler/internal/graph/GoogDepsWriter.java
+++ 
b/compiler-jx/src/main/java/org/apache/royale/compiler/internal/graph/GoogDepsWriter.java
@@ -284,10 +284,14 @@ public class GoogDepsWriter {
        private void computeDeps(ArrayList<String> deps, GoogDep gd, 
ArrayList<String> usedDeps) {
                if (gd.fileInfo.impls != null)
                {
-                       deps.addAll(gd.fileInfo.impls);
-                       for (String dep : gd.fileInfo.impls)
+                       //deps.addAll(gd.fileInfo.impls); // filter below to 
avoid impls-and-provides combination in same CU, e.g. via file-private classes 
extending other file-private classes
+                       for (String dep : gd.fileInfo.impls) {
+                               if (gd.fileInfo.provides != null &&
+                                               
gd.fileInfo.provides.contains(dep)) continue;
+                               deps.add(dep);
                                if (!usedDeps.contains(dep))
                                        usedDeps.add(dep);
+                       }
                }
                if (gd.fileInfo.staticDeps != null)
                {

Reply via email to