Thanks. I forgot about that. (And thanks for all that work!!!)

We should probably capture the contents of those emails in our docs.

Harbs

> On Nov 9, 2021, at 7:21 PM, Josh Tynjala <joshtynj...@bowlerhat.dev> wrote:
> 
> Unlike previously, these days, looser code is much more likely to work with
> the default compiler options. That was a nice side effect of my efforts to
> do the opposite. Harbs wanted me to get the compiler to rename/minify even
> more than it was able to before, which I achieved after many months of
> work. In the process, I fixed a ton of issues that helped get loose typing
> working better.
> 
> As you all probably recall, I added a bunch of compiler options to control
> the compiler's behavior in regards to exporting and renaming in release
> builds compiled with Closure compiler. These new compiler options allow
> people to go back to the old behavior, where you were required to almost
> always use strict types, and they allow more things to be renamed/minified
> than we ever allowed previously (assuming that you write your code
> carefully enough). Details in my old threads with the title "Compiler
> options for reducing release build size of Royale projects" (and "Part 2").
> 
> --
> Josh Tynjala
> Bowler Hat LLC <https://bowlerhat.dev>
> 
> 
> On Tue, Nov 9, 2021 at 4:15 AM Yishay Weiss <yishayj...@hotmail.com> wrote:
> 
>> I was playing around with it, trying to demonstrate the advantages of
>> typed objects, expecting Object to mess up function calls. The demo glitch
>> was that GCC was fine with a looser version.
>> 
>> From: Harbs<mailto:harbs.li...@gmail.com>
>> Sent: Tuesday, November 9, 2021 2:13 PM
>> To: dev@royale.apache.org<mailto:dev@royale.apache.org>
>> Subject: Re: Why Does GCC Not Rename This?
>> 
>> Why is it Object and not “Editor”?
>> 
>>    private var editor:Editor;
>> 
>> 
>>> On Nov 9, 2021, at 2:03 PM, Harbs <harbs.li...@gmail.com> wrote:
>>> 
>>> Oh. I misread what you wrote. I thought you were asking about “theme”.
>>> 
>>> -js-dynamic-access-unknown-members=true is probably effecting that. What
>> compiler option is being used?
>>> 
>>>> On Nov 9, 2021, at 1:59 PM, Harbs <harbs.li...@gmail.com> wrote:
>>>> 
>>>> @nocollapse is what prevents renaming.
>>>> 
>>>> Why it’s writing @nocollapse is another question...
>>>> 
>>>>> On Nov 9, 2021, at 1:36 PM, Yishay Weiss <yishayj...@hotmail.com>
>> wrote:
>>>>> 
>>>>> 
>>>>> An application that uses this class [1] minifies to this [2]. In
>>>>> 
>>>>> org.apache.royale.ace.ACEEditor.prototype.set__theme = function(value)
>> {
>>>>> this.org_apache_royale_ace_ACEEditor__theme = value;
>>>>> var /** @type {Object} */ obj = this.editor;
>>>>> obj.setTheme(value);
>>>>> };
>>>>> 
>>>>> I expected the closure compiler to rename setTheme(), but instead it
>> retained it. How did it know to do that? Is it because it’s an Object type?
>>>>> 
>>>>> 
>>>>> [1] Apache Paste Bucket<https://paste.apache.org/gg0dy>
>>>>> [2] Apache Paste Bucket<https://paste.apache.org/4c5f0>
>>>> 
>>> 
>> 
>> 

Reply via email to