[FlexJS] internal classes based on other classes

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

[FlexJS] internal classes based on other classes

Harbs
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
Reply | Threaded
Open this post in threaded view
|

Re: [FlexJS] internal classes based on other classes

Alex Harui
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" <[hidden email]> 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

Reply | Threaded
Open this post in threaded view
|

Re: [FlexJS] internal classes based on other classes

Harbs

> On Apr 9, 2017, at 12:46 AM, Alex Harui <[hidden email]> 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" <[hidden email]> 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
>

Reply | Threaded
Open this post in threaded view
|

Re: [FlexJS] internal classes based on other classes

Alex Harui
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" <[hidden email]> wrote:

>
>> On Apr 9, 2017, at 12:46 AM, Alex Harui <[hidden email]> 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" <[hidden email]> 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
>>
>