This doesn't seem to be related to any recent changes in the compiler. It
may be one of those cases where Closure decided to start renaming something
that it didn't rename previously due to some file size heuristic being
triggered, or something like that.

I've found that the generation of the "Royale Dependency List" did not seem
account for externs that were not referenced directly by the application.
If the extern was compiled into a SWC and was only referenced by classes in
the same SWC, the extern would be ignored when compiling the application.
In this case, the Alert class in JewelJS.swc is referencing dialogPolyfill,
but the application doesn't use dialogPolyfill directly. As soon as I add a
reference to dialogPolyfill somewhere in the application, it starts working
correctly.

I changed to compiler to always output goog.require() calls for externs.
Previously, it was skipping externs completely when adding goog.require()
calls. I guess that this edge case must have been missed when testing that.

--
Josh Tynjala
Bowler Hat LLC <https://bowlerhat.dev>


On Mon, Jul 8, 2019 at 11:09 AM Carlos Rovira <[email protected]>
wrote:

> Hi,
>
> when I compile TDJ I can see not a problem in release (but not I debug) for
> jewel alert component.
>
> I think is a magnification problem for dialogPolyfill. I think Royale is
> changing method name in release mode for method "registerDialog"
> This was not happening before
>
> [Error] TypeError: dialogPolyfill.DH is not a function. (In
> 'dialogPolyfill.DH(a.Vi)', 'dialogPolyfill.DH' is undefined)
> IJ (App.js:1506:197)
> showModal (App.js:1507)
> cG (App.js:1506:439)
> L (App.js:1262)
> (función anónima)
> nx (App.js:91:245)
> Jx (App.js:110:262)
> fH (App.js:965:906)
> ix (App.js:93)
> (función anónima) (App.js:89)
>
> the class is this:
>
> package
> {
>     /**
>      * @externs
>      */
>     public class dialogPolyfill
>     {
>         COMPILE::JS
>         public static function registerDialog(dialog:Element):void {}
>     }
> }
>
> Someone knows what of the latest changes in compiler could be causing this
> problem?
>
> thanks
>
> --
> Carlos Rovira
> http://about.me/carlosrovira
>

Reply via email to