Hi,

I'm busy building support for the "is" and "as" operators into FlexJS.
Now, first I thought I'd try to compile the FlexJSTest_again example.
To my suprise, I get an error:

CSS codegen problem. Reason: 'Unable to find compilation unit for
Embed(source="Assets.swf",symbol="mx.skins.cursor.BusyCursor")'

The error seems to originate from FalconJx, it is thrown in
JSCSSCompilationSession.java... Now, my sources are fresh, I've
rebuild the SDK (super-clean main), all compiler projects (wipe main)
and the FlexUI.swc. Am I missing something (command line arg) or is
there some source not yet committed or something more obvious I'm
overlooking?

These are my arguments:

+env.PLAYERGLOBAL_HOME=/Users/erik/Documents/ApacheFlex/dependencies/PlayerGlobal/player
+playerglobal.version=11.1
-load-config="/Applications/Adobe Flash Builder
4.7/sdks/4.10.0/frameworks/flex-config.xml"
-library-path+=/Users/erik/Documents/ApacheFlex/git/flex-asjs/frameworks/as/libs/FlexJSUI.swc
-js-output-type=FLEXJS
-closure-lib=/Users/erik/Documents/ApacheFlex/dependencies/GoogleClosure/library
-sdk-js-lib=/Users/erik/Documents/ApacheFlex/git/flex-asjs/frameworks/js/FlexJS/src
/Users/erik/Documents/ApacheFlex/git/flex-asjs/examples/FlexJSTest_again/src/FlexJSTest_again.mxml

EdB


On Thu, Oct 31, 2013 at 6:37 AM, Erik de Bruin <e...@ixsoftware.nl> wrote:
> I'll have a look at it today.
>
> EdB
>
>
>
> On Wednesday, October 30, 2013, Peter Ent wrote:
>>
>> Thanks, Erik. Interesting read. FlexJS uses a lot of interfaces so we'll
>> have to find a reasonable solution for this. We've managed to avoid the
>> situation in JavaScript but it is coming up quickly.
>>
>> --peter
>>
>> On 10/30/13 3:10 PM, "Erik de Bruin" <e...@ixsoftware.nl> wrote:
>>
>> >Some guidance can be found here [1] and here [2].
>> >
>> >EdB
>> >
>> >1:
>>
>> > >http://blogs.adobe.com/bparadie/2011/11/26/classes-inheritance-interfaces-
>> >packages-and-namespaces/
>> >2:
>>
>> > >https://cwiki.apache.org/confluence/display/FLEX/Simulating+AS3+language+f
>> >eatures+in+JavaScript+using+AMD+and+ES5
>> >
>> >
>> >
>> >On Wed, Oct 30, 2013 at 8:07 PM, Erik de Bruin <e...@ixsoftware.nl>
>> > wrote:
>> >> "instanceof" doesn't check if an interface is implemented, neither in
>> >> Flex nor using Closure inheritance in JavaScript. What we need for
>> >> runtime checking of interface implementation is an global "is"
>> >> function... I think I taught FalconJx to translate "ClassA is ClassB"
>> >> as "is(ClassA, ClassB)". All we need to do now is to implement a
>> >> global "is()" function and somehow teach the compiler to keep track of
>> >> which classes implement which interfaces - all the way up the chain
>> >> and sideways (interfaces can implement interfaces).
>> >>
>> >> EdB
>> >>
>> >>
>> >>
>> >> On Wed, Oct 30, 2013 at 6:34 PM, Alex Harui <aha...@adobe.com> wrote:
>> >>> Reviving this thread...
>> >>>
>> >>> Peter says he wants to test to see if an object implements an
>> >>>interface at
>> >>> runtime.  What mechanism do we want to use?
>> >>>
>> >>> I don't think we need to make instanceof work, just have some test to
>> >>>call.
>> >>>
>> >>> -Alex
>> >>>
>> >>> On 7/30/13 12:46 AM, "Erik de Bruin" <e...@ixsoftware.nl> wrote:
>> >>>
>> >>>>When using interfaces for type checking, there are two 'kinds': at
>> >>>>compilation and at runtime.
>> >>>>
>> >>>>The @interface and @implements annotations are for compile time
>> >>>>checking.
>> >>>>
>> >>>>For runtime checking comes in two flavours: 'instanceof' and 'is'.
>> >>>>
>> >>>>Our method of setting up inheritance (goog.inherits) maintains the
>> >>>>inheritance chain, so 'instanceof' works out of the box.
>> >>>>
>> >>>>The work starts with 'is'. We want to story the 'extends' and
>> >>>>'implements' metadata from AS in the JS classes and create a method to
>> >>>>test against that metadata set. I have a pretty good idea on how to
>> >>>>implement such a beast, but it will require some (ha!) tinkering with
>> >>>>the FlexJS JS framework and FalconJx. That will take some time...
>> >>>>
>> >>>>EdB
>> >>>>
>> >>>>
>> >>>>
>> >>>>On Mon, Jul 29, 2013 at 9:17 PM, OmPrakash Muppirala
>> >>>><bigosma...@gmail.com> wrote:
>> >>>>> On Mon, Jul 29, 2013 at 11:20 AM, Alex Harui <aha...@adobe.com>
>> >>>>>wrote:
>> >>>>>
>> >>>>>> I think FalconJS was going to generate something like:
>> >>>>>>
>> >>>>>>         if (child != undefined &&
>> >>>>>> child.$implements["org.apache.flex.core.IChrome"])
>> >>>>>>
>> >>>>>> Not sure what it was going to do for classes, maybe chase the
>> >>>>>>prototype
>> >>>>>> chain?
>> >>>>>>
>> >>>>>> The other thing that occurred to me about $implements or
>> >>>>>>child.is(IChrome)
>> >>>>>> is that all objects must then have these properties or functions
>> >>>>>>where
>> >>>>>>the
>> >>>>>> global function
>
>
>
> --
> Ix Multimedia Software
>
> Jan Luykenstraat 27
> 3521 VB Utrecht
>
> T. 06-51952295
> I. www.ixsoftware.nl



-- 
Ix Multimedia Software

Jan Luykenstraat 27
3521 VB Utrecht

T. 06-51952295
I. www.ixsoftware.nl

Reply via email to