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/09 04:15:31 UTC

[FlexJS] internal classes based on other classes

The current state of Falcon seems to be okay so far, but I just bumped into an interesting problem.

In TLF, there’s a class: FactoryComposer. FactoryComposer has an internal class called FactoryBackgroundManager which subclasses org.apache.flex.textLayout.elements.BackgroundManager.

Because FactoryBackgroundManager is an internal class, the normal dependency chain is not built and I’m getting an error on the following line:
goog.inherits(org.apache.flex.textLayout.compose.FactoryComposer.FactoryBackgroundManager, org.apache.flex.textLayout.elements.BackgroundManager);

This is because this code is running before  BackgroundManager is loaded.

The work-around is to move the internal class out into its own file, but I think this is something which should work.

Harbs

Re: [FlexJS] internal classes based on other classes

Posted by Alex Harui <ah...@adobe.com>.
For me, FactoryComposer.js in the TLF.swc has:

goog.provide('org.apache.flex.textLayout.compose.FactoryComposer');

goog.require('org.apache.flex.textLayout.compose.StandardFlowComposer');
goog.require('org.apache.flex.textLayout.compose.utils.FactoryHelper');
goog.require('org.apache.flex.textLayout.elements.BackgroundManager');
goog.require('org.apache.flex.textLayout.compose.IFactoryComposer');
goog.require('org.apache.flex.utils.Language');


Which looks right to me.  I'm wondering if your compiler is out of synch
with the flex-falcon repo.

-Alex

On 4/8/17, 10:05 PM, "Harbs" <ha...@gmail.com> wrote:

>
>> On Apr 9, 2017, at 12:46 AM, Alex Harui <ah...@adobe.com> wrote:
>> 
>> I'll look into it.  I thought I'd fixed that already.  I assume
>> BackgroundManager isn't one of the goog.requires in FactoryComposer.js?
>
>I don’t remember, and I already modified my state of TLF. If you need me
>to check, I can try and revert.
>
>> And I assume you cleaned out old JS files?
>
>Yes.
>
>> -Alex
>> 
>> On 4/8/17, 9:15 PM, "Harbs" <ha...@gmail.com> wrote:
>> 
>>> The current state of Falcon seems to be okay so far, but I just bumped
>>> into an interesting problem.
>>> 
>>> In TLF, there’s a class: FactoryComposer. FactoryComposer has an
>>>internal
>>> class called FactoryBackgroundManager which subclasses
>>> org.apache.flex.textLayout.elements.BackgroundManager.
>>> 
>>> Because FactoryBackgroundManager is an internal class, the normal
>>> dependency chain is not built and I’m getting an error on the following
>>> line:
>>> 
>>>goog.inherits(org.apache.flex.textLayout.compose.FactoryComposer.Factory
>>>Ba
>>> ckgroundManager,
>>>org.apache.flex.textLayout.elements.BackgroundManager);
>>> 
>>> This is because this code is running before  BackgroundManager is
>>>loaded.
>>> 
>>> The work-around is to move the internal class out into its own file,
>>>but
>>> I think this is something which should work.
>>> 
>>> Harbs
>> 
>


Re: [FlexJS] internal classes based on other classes

Posted by Harbs <ha...@gmail.com>.
> On Apr 9, 2017, at 12:46 AM, Alex Harui <ah...@adobe.com> wrote:
> 
> I'll look into it.  I thought I'd fixed that already.  I assume
> BackgroundManager isn't one of the goog.requires in FactoryComposer.js?

I don’t remember, and I already modified my state of TLF. If you need me to check, I can try and revert.

> And I assume you cleaned out old JS files?

Yes.

> -Alex
> 
> On 4/8/17, 9:15 PM, "Harbs" <ha...@gmail.com> wrote:
> 
>> The current state of Falcon seems to be okay so far, but I just bumped
>> into an interesting problem.
>> 
>> In TLF, there’s a class: FactoryComposer. FactoryComposer has an internal
>> class called FactoryBackgroundManager which subclasses
>> org.apache.flex.textLayout.elements.BackgroundManager.
>> 
>> Because FactoryBackgroundManager is an internal class, the normal
>> dependency chain is not built and I’m getting an error on the following
>> line:
>> goog.inherits(org.apache.flex.textLayout.compose.FactoryComposer.FactoryBa
>> ckgroundManager, org.apache.flex.textLayout.elements.BackgroundManager);
>> 
>> This is because this code is running before  BackgroundManager is loaded.
>> 
>> The work-around is to move the internal class out into its own file, but
>> I think this is something which should work.
>> 
>> Harbs
> 


Re: [FlexJS] internal classes based on other classes

Posted by Alex Harui <ah...@adobe.com>.
I'll look into it.  I thought I'd fixed that already.  I assume
BackgroundManager isn't one of the goog.requires in FactoryComposer.js?
And I assume you cleaned out old JS files?

-Alex

On 4/8/17, 9:15 PM, "Harbs" <ha...@gmail.com> wrote:

>The current state of Falcon seems to be okay so far, but I just bumped
>into an interesting problem.
>
>In TLF, there’s a class: FactoryComposer. FactoryComposer has an internal
>class called FactoryBackgroundManager which subclasses
>org.apache.flex.textLayout.elements.BackgroundManager.
>
>Because FactoryBackgroundManager is an internal class, the normal
>dependency chain is not built and I’m getting an error on the following
>line:
>goog.inherits(org.apache.flex.textLayout.compose.FactoryComposer.FactoryBa
>ckgroundManager, org.apache.flex.textLayout.elements.BackgroundManager);
>
>This is because this code is running before  BackgroundManager is loaded.
>
>The work-around is to move the internal class out into its own file, but
>I think this is something which should work.
>
>Harbs