Part of what you said concerns me. If I want to create a Label() at runtime
in JS will I have to use var label = new org_apache_flex_html_Label()? How
will I know the full path name?

Can you do a performance test and see how much difference there is between
calling org.apache.flex.html.Label() and org_apache_flex_html_Label()?

On Fri, Jan 23, 2015 at 3:40 PM, Alex Harui <aha...@adobe.com> wrote:

> Hi,
>
> Right now, if you compile the FlexJSStore example, you’ll get some 600
> warnings from the Google Closure Compiler that say:
>
>   WARNING - incomplete alias created for namespace org.apache.flex
>
> From my understanding, these 600 warnings can show up because the
> “namespace” really is an object tree (an object called ‘org’ with a child
> object called ‘apache’).  The optimizer will reduce org.apache.flex to,
> for example, a simple variable called ‘Mc’ and any code that relies on
> their being an object tree can fail.
>
> AFAICT, we don’t rely on the object tree.  Further, the original FalconJS
> engineer pointed out to me that if you don’t optimize away the object
> tree, then when you do:
>
>   new org.apache.flex.html.Label();
>
> the runtime actually fetches an object called ‘org', then an object from
> it called ‘apache’, etc, so it affects the performance of debuggable code
> (which is why the optimizer does away with it).
>
> So, I’m going to modify FalconJX to output the class as
> org_apache_flex_html_Label and refer to it as such.  Let me know if you
> can think of a reason not to do this.
>
> Thanks,
>
> -Alex
>
>

Reply via email to