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