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:apa...@teotigraphix.com] Sent: Friday, November 30, 2012 10:36 AM To: flex-dev@incubator.apache.org 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 <gosm...@adobe.com>: > MXML codegen uses a "class directive processor" but not a BURM. > > - Gordon > > > -----Original Message----- > From: Alex Harui [mailto:aha...@adobe.com] > Sent: Friday, November 30, 2012 10:08 AM > To: flex-dev@incubator.apache.org > Subject: Re: [FlaconJS] pseudo emitter algorithm > > > > > On 11/30/12 9:45 AM, "Michael Schmalle" <apa...@teotigraphix.com> 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