Return-Path: X-Original-To: apmail-incubator-flex-dev-archive@minotaur.apache.org Delivered-To: apmail-incubator-flex-dev-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id A2051E9C3 for ; Wed, 5 Dec 2012 21:27:03 +0000 (UTC) Received: (qmail 34437 invoked by uid 500); 5 Dec 2012 21:27:01 -0000 Delivered-To: apmail-incubator-flex-dev-archive@incubator.apache.org Received: (qmail 34398 invoked by uid 500); 5 Dec 2012 21:27:01 -0000 Mailing-List: contact flex-dev-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: flex-dev@incubator.apache.org Delivered-To: mailing list flex-dev@incubator.apache.org Received: (qmail 34359 invoked by uid 99); 5 Dec 2012 21:27:01 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 05 Dec 2012 21:27:01 +0000 X-ASF-Spam-Status: No, hits=2.6 required=5.0 tests=FRT_ADOBE2,SPF_PASS,SUBJ_ALL_CAPS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: local policy) Received: from [69.167.147.50] (HELO franklin.liquidweb.com) (69.167.147.50) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 05 Dec 2012 21:26:55 +0000 Received: from localhost ([127.0.0.1]:36740) by franklin.liquidweb.com with esmtpsa (TLSv1:DHE-RSA-AES256-SHA:256) (Exim 4.80) (envelope-from ) id 1TgMUA-0006Qy-3y for flex-dev@incubator.apache.org; Wed, 05 Dec 2012 16:26:31 -0500 Received: from 71.181.122.158 ([71.181.122.158]) by franklin.liquidweb.com (Horde Framework) with HTTP; Wed, 05 Dec 2012 16:26:29 -0500 Message-ID: <20121205162629.306365diol3uzax1@franklin.liquidweb.com> Date: Wed, 05 Dec 2012 16:26:29 -0500 From: Michael Schmalle To: flex-dev@incubator.apache.org Subject: RE: ABC -> JS References: <20121204164934.693874gty27rggry@franklin.liquidweb.com> <149F8129B58B2D418508E63117D9C5419B5B4D0212@nambx05.corp.adobe.com> <20121204175313.705820uyb6zu0dll@franklin.liquidweb.com> <149F8129B58B2D418508E63117D9C5419B5B4D0269@nambx05.corp.adobe.com> <149F8129B58B2D418508E63117D9C5419B5B4D0406@nambx05.corp.adobe.com> <20121205144104.414542c9k3jpk9qo@franklin.liquidweb.com> <149F8129B58B2D418508E63117D9C5419B5B4D0455@nambx05.corp.adobe.com> In-Reply-To: <149F8129B58B2D418508E63117D9C5419B5B4D0455@nambx05.corp.adobe.com> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; DelSp="Yes"; format="flowed" Content-Disposition: inline Content-Transfer-Encoding: 7bit User-Agent: Dynamic Internet Messaging Program (DIMP) H3 (1.1.8) X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - franklin.liquidweb.com X-AntiAbuse: Original Domain - incubator.apache.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - teotigraphix.com X-Get-Message-Sender-Via: franklin.liquidweb.com: authenticated_id: teotigra/from_h X-Source: X-Source-Args: X-Source-Dir: X-Virus-Checked: Checked by ClamAV on apache.org I didn't mean interface, I just meant API. I want to explore emitting Java as well in the future... Mike Quoting Gordon Smith : > 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 : > >> 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 : >> >>> 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 : >>> >>>> >>>> On 12/4/12 12:37 PM, "Gordon Smith" 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