I don't see the need for an interface that's sharable between ABC and JS. They're apples and oranges.
- Gordon -----Original Message----- From: Michael Schmalle [mailto:apa...@teotigraphix.com] Sent: Wednesday, December 05, 2012 11:41 AM To: flex-dev@incubator.apache.org Subject: RE: ABC -> JS YES! I knew it. Sorry for the expletives but, last night mulling over the code again I came to this exact conclusion. I figured that he used the already existing model and thus had to use ABC specific properties to actually be able to use that model. So as a side effect we create a model interface that could be used for more than one implementation. I guess I will think about this some more. Mike Quoting Gordon Smith <gosm...@adobe.com>: > I didn't understand why JSEmitter uses lots of ABC classes. I got the > answer from Bernd P. > > Falcon's BURM handles generating instructions-or-JS-code for method > bodies, but it doesn't generating higher-level constructs like > classes, fields, etc. Bernd needed some data structures that could > hold information about these higher-level constructs, until he was > ready to spit them out as JS code. Rather than roll his own, he just > re-used the ABC classes which represent these constructs. My opinion > is that this is reasonable and expedient, especially for a prototype, > but confusing to newcomers. I'd recommend making new structures to > represent the higher-level JS constructs. > > - Gordon > > -----Original Message----- > From: Gordon Smith [mailto:gosm...@adobe.com] > Sent: Tuesday, December 04, 2012 3:31 PM > To: flex-dev@incubator.apache.org > Subject: RE: ABC -> JS > > I'm trying to stay out of FalconJS, but I will ask Bernd P about this. > > - Gordon > > -----Original Message----- > From: Michael Schmalle [mailto:apa...@teotigraphix.com] > Sent: Tuesday, December 04, 2012 2:53 PM > To: flex-dev@incubator.apache.org > Subject: RE: ABC -> JS > > The JSEmitter is littered with the whole; > > import org.apache.flex.abc.graph.IBasicBlock; > import org.apache.flex.abc.semantics.ClassInfo; > import org.apache.flex.abc.semantics.ExceptionInfo; > import org.apache.flex.abc.semantics.InstanceInfo; > import org.apache.flex.abc.semantics.Instruction; > import org.apache.flex.abc.semantics.Label; > import org.apache.flex.abc.semantics.Metadata; > import org.apache.flex.abc.semantics.MethodBodyInfo; > import org.apache.flex.abc.semantics.MethodInfo; > import org.apache.flex.abc.semantics.Name; > import org.apache.flex.abc.semantics.Namespace; > import org.apache.flex.abc.semantics.Nsset; > import org.apache.flex.abc.semantics.PooledValue; > import org.apache.flex.abc.semantics.ScriptInfo; > import org.apache.flex.abc.semantics.Trait; > import org.apache.flex.abc.semantics.Traits; > import org.apache.flex.abc.instructionlist.InstructionList; > > He used the IABCVisitor which is all ABC as well. > > Looking at this again, Alex put it well, it may be generating Strings > but the WHOLE API of the class is abc.semantics. If you don't know abc > semantics, there is nothing you can do other than learn it all. > > Mike > > > Quoting Gordon Smith <gosm...@adobe.com>: > >> Interesting. I don't understand why it is doing anything with Traits. >> Alex, you might want to ask Bernd P. >> >> - Gordon >> >> -----Original Message----- >> From: Michael Schmalle [mailto:apa...@teotigraphix.com] >> Sent: Tuesday, December 04, 2012 1:50 PM >> To: flex-dev@incubator.apache.org >> Subject: Re: ABC -> JS >> >> Quoting Alex Harui <aha...@adobe.com>: >> >>> >>> On 12/4/12 12:37 PM, "Gordon Smith" <gosm...@adobe.com> wrote: >>> >>>>> SO I will say to anybody, in the current state of the FalconJS >>>>> compiler, you NEED to know opcdes to be able to fix anything. >>>> >>>> I don't know much about FalconJS but I would be very surprised if >>>> this is true. Can you show me one method of FalconJS that actually >>>> writes out an ABC opcode? >>> It isn't writing out ABC per-se, but the code in JSEmitter seems to >>> require knowledge about the ABC block in the SWF. Its API is in >>> terms of traits. I was surprised to see that when I first started >>> poking at the code. >> >> Gordon, this is what I meant (what Alex said), sorry for getting >> terminology mixed up here but the fact I am having trouble >> understanding it is because of the ABC block stuff. I just don't know >> enough to grasp the mechanics of the traversals. >> >> I just want to understand what is going on and it's the >> addInstruction() stuff etc that seems to require some knowledge of ABC. >> >> Mike >> >> >>> >>> -- >>> 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 >> >> > > -- > Michael Schmalle - Teoti Graphix, LLC > http://www.teotigraphix.com > http://blog.teotigraphix.com > > -- Michael Schmalle - Teoti Graphix, LLC http://www.teotigraphix.com http://blog.teotigraphix.com