I didn't mean interface, I just meant API.

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

Mike

Quoting Gordon Smith <gosm...@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: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



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

Reply via email to