incubator-flex-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michael Schmalle <apa...@teotigraphix.com>
Subject RE: ABC -> JS
Date Wed, 05 Dec 2012 21:26:29 GMT
I didn't mean interface, I just meant API.

I want to explore emitting Java as well in the future...

Mike

Quoting Gordon Smith <gosmith@adobe.com>:

> 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:apache@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 <gosmith@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:gosmith@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:apache@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 <gosmith@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:apache@teotigraphix.com]
>>> Sent: Tuesday, December 04, 2012 1:50 PM
>>> To: flex-dev@incubator.apache.org
>>> Subject: Re: ABC -> JS
>>>
>>> Quoting Alex Harui <aharui@adobe.com>:
>>>
>>>>
>>>> On 12/4/12 12:37 PM, "Gordon Smith" <gosmith@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
>
>

-- 
Michael Schmalle - Teoti Graphix, LLC
http://www.teotigraphix.com
http://blog.teotigraphix.com


Mime
View raw message