Re: [FalconJX] Intermittently adds incorrect goog.require() for class in external library

2015-10-22 Thread Josh Tynjala
Yeah, it could run more than once, but at least the result will always be the same. It would be nice to avoid the unnecessary duplication, but it seems fast enough that it can wait. - Josh On Oct 22, 2015 7:52 PM, "Alex Harui" wrote: > Good job figuring that out! I think it still means that mul

Re: [FalconJX] Intermittently adds incorrect goog.require() for class in external library

2015-10-22 Thread Alex Harui
Good job figuring that out! I think it still means that multiple calls to initExterns could be launched, so maybe someday we need to put in official thread management, but I think it is good enough for now. -Alex On 10/22/15, 3:12 PM, "Josh Tynjala" wrote: >Problem solved. I discovered that is

Re: [FalconJX] Intermittently adds incorrect goog.require() for class in external library

2015-10-22 Thread Josh Tynjala
Problem solved. I discovered that isExternal() could be called before initExterns() returned. The externs member variable would be non-null, but not all of the values had been added yet. I changed initExterns() so that it would add the values a local variable instead, and I waited to set the extern

Re: [FalconJX] Intermittently adds incorrect goog.require() for class in external library

2015-10-22 Thread Josh Tynjala
I tried overriding setTargetSettings(), and that kept the LinkageChecker from being created more than once. However, that did not fix the issue. The isExternal() method on the LinkageChecker is still sometimes incorrectly returning false. I guess that was just a coincidence. I'll keep investigatin

Re: [FalconJX] Intermittently adds incorrect goog.require() for class in external library

2015-10-21 Thread Alex Harui
On 10/21/15, 5:35 PM, "Alex Harui" wrote: > > >On 10/21/15, 4:20 PM, "Josh Tynjala" wrote: > >>Is the compiler using more than one thread? Could different threads be >>calling isExternalLinkage(), and am I seeing a race condition? > >The compiler uses one thread for each .as file so yes, you a

Re: [FalconJX] Intermittently adds incorrect goog.require() for class in external library

2015-10-21 Thread Alex Harui
On 10/21/15, 4:20 PM, "Josh Tynjala" wrote: >Is the compiler using more than one thread? Could different threads be >calling isExternalLinkage(), and am I seeing a race condition? The compiler uses one thread for each .as file so yes, you are probably seeing a multi-thread issue, although I ha

[FalconJX] Intermittently adds incorrect goog.require() for class in external library

2015-10-21 Thread Josh Tynjala
Recently, I've noticed that the output of asjsc is not always identical. Sometimes, it will incorrectly add a goog.require() for a class that is in the external library path. Not always, though. Here's some simplified example output (comment added for emphasis): goog.provide('feathers.core.Feathe