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 19:41:04 GMT
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


Mime
View raw message