You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@flex.apache.org by Harbs <ha...@gmail.com> on 2017/04/21 21:04:03 UTC

[FlexJS] internal classes

Another dependency problem:

org.apache.flex.svg.GraphicContainer contains an internal class called GraphicGroup which extends ContainerBase

GraphicContainer has the following requires:

goog.provide('org.apache.flex.svg.GraphicContainer');

goog.require('org.apache.flex.core.UIBase');
goog.require('org.apache.flex.core.IContainer');
goog.require('org.apache.flex.core.ITransformHost');

It also generates the following which contains a reference to ContainerBase:
/* FlexJS Dependency List: org.apache.flex.core.ContainerBase,org.apache.flex.utils.Language*/

The problem with this is that org.apache.flex.core.ContainerBase is not guaranteed to load before org.apache.flex.svg.GraphicContainer. If it does not load first, there will be a runtime error on goog.inherits(org.apache.flex.svg.GraphicContainer.GraphicGroup, org.apache.flex.core.ContainerBase);

(I was just bitten by this problem.)

Thanks,
Harbs

Re: [FlexJS] internal classes

Posted by Harbs <ha...@gmail.com>.
Thanks.

I’ll give it a spin tomorrow.

Harbs

> On Apr 24, 2017, at 1:47 AM, Alex Harui <ah...@adobe.com> wrote:
> 
> OK, I pushed a fix for this.
> 
> -Alex
> 
> On 4/21/17, 2:04 PM, "Harbs" <ha...@gmail.com> wrote:
> 
>> Another dependency problem:
>> 
>> org.apache.flex.svg.GraphicContainer contains an internal class called
>> GraphicGroup which extends ContainerBase
>> 
>> GraphicContainer has the following requires:
>> 
>> goog.provide('org.apache.flex.svg.GraphicContainer');
>> 
>> goog.require('org.apache.flex.core.UIBase');
>> goog.require('org.apache.flex.core.IContainer');
>> goog.require('org.apache.flex.core.ITransformHost');
>> 
>> It also generates the following which contains a reference to
>> ContainerBase:
>> /* FlexJS Dependency List:
>> org.apache.flex.core.ContainerBase,org.apache.flex.utils.Language*/
>> 
>> The problem with this is that org.apache.flex.core.ContainerBase is not
>> guaranteed to load before org.apache.flex.svg.GraphicContainer. If it
>> does not load first, there will be a runtime error on
>> goog.inherits(org.apache.flex.svg.GraphicContainer.GraphicGroup,
>> org.apache.flex.core.ContainerBase);
>> 
>> (I was just bitten by this problem.)
>> 
>> Thanks,
>> Harbs
> 


Re: [FlexJS] internal classes

Posted by Alex Harui <ah...@adobe.com>.
OK, I pushed a fix for this.

-Alex

On 4/21/17, 2:04 PM, "Harbs" <ha...@gmail.com> wrote:

>Another dependency problem:
>
>org.apache.flex.svg.GraphicContainer contains an internal class called
>GraphicGroup which extends ContainerBase
>
>GraphicContainer has the following requires:
>
>goog.provide('org.apache.flex.svg.GraphicContainer');
>
>goog.require('org.apache.flex.core.UIBase');
>goog.require('org.apache.flex.core.IContainer');
>goog.require('org.apache.flex.core.ITransformHost');
>
>It also generates the following which contains a reference to
>ContainerBase:
>/* FlexJS Dependency List:
>org.apache.flex.core.ContainerBase,org.apache.flex.utils.Language*/
>
>The problem with this is that org.apache.flex.core.ContainerBase is not
>guaranteed to load before org.apache.flex.svg.GraphicContainer. If it
>does not load first, there will be a runtime error on
>goog.inherits(org.apache.flex.svg.GraphicContainer.GraphicGroup,
>org.apache.flex.core.ContainerBase);
>
>(I was just bitten by this problem.)
>
>Thanks,
>Harbs


Re: [FlexJS] internal classes

Posted by Alex Harui <ah...@adobe.com>.
After all of the munging of the requires lists, anything in the FlexJS
Dependency List should be in the requires unless it would introduce a
circularity.

I'll take a look.

-Alex

On 4/21/17, 2:04 PM, "Harbs" <ha...@gmail.com> wrote:

>Another dependency problem:
>
>org.apache.flex.svg.GraphicContainer contains an internal class called
>GraphicGroup which extends ContainerBase
>
>GraphicContainer has the following requires:
>
>goog.provide('org.apache.flex.svg.GraphicContainer');
>
>goog.require('org.apache.flex.core.UIBase');
>goog.require('org.apache.flex.core.IContainer');
>goog.require('org.apache.flex.core.ITransformHost');
>
>It also generates the following which contains a reference to
>ContainerBase:
>/* FlexJS Dependency List:
>org.apache.flex.core.ContainerBase,org.apache.flex.utils.Language*/
>
>The problem with this is that org.apache.flex.core.ContainerBase is not
>guaranteed to load before org.apache.flex.svg.GraphicContainer. If it
>does not load first, there will be a runtime error on
>goog.inherits(org.apache.flex.svg.GraphicContainer.GraphicGroup,
>org.apache.flex.core.ContainerBase);
>
>(I was just bitten by this problem.)
>
>Thanks,
>Harbs