I’ve already eliminated those errors by removing circular dependencies. I moved static functions to utility classes and all inter-class references are using interfaces.
To get you the output, I’d need to revert the state of the repo. I’m not getting a new class of errors: https://paste.apache.org/mQIx <https://paste.apache.org/mQIx> Which outputs this HTML: https://paste.apache.org/1xWp <https://paste.apache.org/1xWp> BTW, I’ve been using the dependency chain in the HTML to figure out where the interdependencies are. I used the same technique while tracking these issues down in my app. It’s a very effective method. Of course it was much easier in my app than it’s proved to be in TLF… > On Mar 9, 2017, at 10:26 PM, Alex Harui <aha...@adobe.com> wrote: > > It might be a bug in Google Closure Compiler. Can you send me the > bin/js-debug/index.html. It will have the dependency chain in it. > > Thanks, > -Alex > > On 3/9/17, 12:43 AM, "Harbs" <harbs.li...@gmail.com> wrote: > >> I already using remove-circulars and it’s not helping in this case. If >> you’re interested here’s the output: https://paste.apache.org/Kd9l >> >> And running the debug in the browser has tons of runtime errors. >> >> I had this problem when porting my app as well. Basically static >> properties really mess things up, and TLF has lots of static stuff. >> >> I managed to get rid of some issues with the interfaces, but it could be >> I should have been spending more time getting rid of some of the static >> properties… >> >>> On Mar 9, 2017, at 3:10 AM, Alex Harui <aha...@adobe.com> wrote: >>> >>> >>> >>> On 3/8/17, 5:05 PM, "Harbs" <harbs.li...@gmail.com> wrote: >>> >>>> The only other option is to just drop TLF and that’s way more work (I >>>> think). >>>> >>>> As it is, it cannot be compiled by the Google Compiler. >>>> >>>> There’s lots of superclass dependencies on subclasses. >>>> >>>> The good news is that I’m making it a lot more reliant on interfaces >>>> which is probably a good thing. >>> >>> More reliance on interfaces is a good thing, but I don't know why we >>> can't >>> just make folks use -remove-circulars. >>> >>> It is "ok" to have superclass dependencies on subclasses as long as they >>> aren't true circularities. If they are tests for a particular type, >>> inside method code, it shouldn't matter. We just have to get the set of >>> requires right. Or is there some case that is truly impossible? >>> >>> Thanks, >>> -Alex >>> >> >