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

Reply via email to