Look at MXMLClassDirectiveProcessor. You would just make methods like
processMXMLInstanceNode() spit out JS source code instead of generating ABC
instructions. After all,
<Button label="OK" color="0xFF0000"/>
is just shorthand for
b = new Button();
b.label = "OK";
b.setStyle("color", 0xFF0000);
- Gordon
-----Original Message-----
From: Michael Schmalle [mailto:[email protected]]
Sent: Friday, November 30, 2012 10:36 AM
To: [email protected]
Subject: RE: [FlaconJS] pseudo emitter algorithm
Gordon, can you give me a couple class references to look at?
Can these class directives be overriden for other output type? Is this
something that could be applied to the as -> js generation?
Mike
Quoting Gordon Smith <[email protected]>:
> MXML codegen uses a "class directive processor" but not a BURM.
>
> - Gordon
>
>
> -----Original Message-----
> From: Alex Harui [mailto:[email protected]]
> Sent: Friday, November 30, 2012 10:08 AM
> To: [email protected]
> Subject: Re: [FlaconJS] pseudo emitter algorithm
>
>
>
>
> On 11/30/12 9:45 AM, "Michael Schmalle" <[email protected]> wrote:
>> A note about MXML, since the parse DOES create and AST during parsing
>> of an MXML file, and MXML uses the IDefinition API, we can catch MXML
>> code at the same intersection we are getting the AS code at, the AST
>> definition stage.
> OK, I wasn't sure where the dividing line is around AST. Yes MXML
> nodes are in the parse tree, but appears to be a different set of
> nodes than what AS generates.
>>
>>>>
>>>> Using the IDefinition API, with loaded SWCs gives you member and
>>>> class resolotuion so I might actually start with that higher level
>>>> and not strictly IASNode parser nodes.
>>> It occurred to me that I think MXML does not go to AS or AST, it
>>> goes straight to ABC, so we'll be customizing that code in some way as well.
>>
>>
>>
>> I doesn't got to straight ABC, it does go to AST then ABC. Everything
>> has to be AST first to then go to JBurg ABC reducer.
> You could be right, but I've been in
> org.apache.flex.compiler.internal.as.codegen.MXMLClassDirectiveProcess
> or. I don't see it using reducers/emitters/JBurg, I see it setting
> instructions directly. But I might be missing something.
>
> --
> Alex Harui
> Flex SDK Team
> Adobe Systems, Inc.
> http://blogs.adobe.com/aharui
>
>
--
Michael Schmalle - Teoti Graphix, LLC
http://www.teotigraphix.com
http://blog.teotigraphix.com