By “dependency list” I mean the list of


goog.require('…');



statements at the beginning of the transpiled application file.



After debugging this, I found out that in GoogDepsWriter:229 replacing



                                  if (!restOfDeps.contains(gd.className) && 
!gd.fileInfo.isExtern && !isExternal(gd.className) && 
!usedDeps.contains(gd.class Name))



with

                                  if (!restOfDeps.contains(gd.className) && 
!gd.fileInfo.isExtern && !isExternal(gd.className)) seems to fix this 
particular problem.



I’m still not sure what the proper fix is. Our class (A) gets added to usedDeps 
in this snippet



                                  if (gd.fileInfo.staticDeps != null)

                                  {

                                         for (String dep : 
gd.fileInfo.staticDeps)

                                         {

                                               if (!deps.contains(dep))

                                                      deps.add(dep);

                                               if (!usedDeps.contains(dep))

                                                      usedDeps.add(dep);

                                         }

                                  }

When I inspect this I see that gd.className == A, and gd.fileInfo.staticDeps[0] 
is also A.



Does that make sense?











________________________________
From: Alex Harui <aha...@adobe.com.INVALID>
Sent: Wednesday, November 28, 2018 7:03:55 PM
To: dev@royale.apache.org
Subject: Re: Dependency Missing

What is the "dependency list" you are referring to?

On 11/28/18, 8:55 AM, "Yishay Weiss" <yishayj...@hotmail.com> wrote:

    Hi Alex,

    It  looks like commit 3252eb312b09cbf5270d78aadc785d757743d323 (fix deps 
writing when we promote requires from static initializers)  in the compiler has 
broken our app. One of the classes isn’t added to the dependency list despite 
being imported.

    I still haven’t been able to isolate this to a test case, but one thing 
that strikes me about the missing dependency is that it has a static function 
before the constructor. Also, the constructor takes an argument.

    If something pops to mind, please let us know. Otherwise, I’ll try to debug 
the compiler tomorrow.

    Thanks.



Reply via email to