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

Reply via email to