Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id DC07D200B76 for ; Tue, 30 Aug 2016 22:12:43 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id DA67E160ABA; Tue, 30 Aug 2016 20:12:43 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 051AF160AAF for ; Tue, 30 Aug 2016 22:12:42 +0200 (CEST) Received: (qmail 18346 invoked by uid 500); 30 Aug 2016 20:12:41 -0000 Mailing-List: contact dev-help@flex.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@flex.apache.org Delivered-To: mailing list dev@flex.apache.org Received: (qmail 18334 invoked by uid 99); 30 Aug 2016 20:12:41 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd1-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 30 Aug 2016 20:12:41 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd1-us-west.apache.org (ASF Mail Server at spamd1-us-west.apache.org) with ESMTP id 3832EC0D3F for ; Tue, 30 Aug 2016 20:12:41 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 1.179 X-Spam-Level: * X-Spam-Status: No, score=1.179 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=2, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001] autolearn=disabled Authentication-Results: spamd1-us-west.apache.org (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com Received: from mx1-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024) with ESMTP id ZiaGhxj7Zm41 for ; Tue, 30 Aug 2016 20:12:39 +0000 (UTC) Received: from mail-oi0-f54.google.com (mail-oi0-f54.google.com [209.85.218.54]) by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with ESMTPS id B59A55F240 for ; Tue, 30 Aug 2016 20:12:38 +0000 (UTC) Received: by mail-oi0-f54.google.com with SMTP id p186so7131514oia.2 for ; Tue, 30 Aug 2016 13:12:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to; bh=BVbKs7knaQPetaanoQBO8iAn7OmasU5y75fW3nRC++o=; b=iI6ZSH7eMp2dLlblQD3aetLEQwbU65b3fpLZcgPm8Wbx+fJOfqDtjPctYIO+TV3kge lqQscKPMXJDr0bS1SNuBbfzoYQRfplI69MoglvJF06B5fcCI+Y5vU0xhZxvI22v9BHny vkok5IPN3ur/z2r13+FRMs1Jq4et/z0djzDOx7BkrDDEKs04fgi1ybceUr3T6ji6cKo6 FtaLAy+RI6webZZTsBfppqL/vFmCcoS9WMDEqKgY3wxA6oY84T6N8Qj1KMd+wvLkMjqi zCyyw1QNv7Xm/dfEEp1gj3pBkF/WOGvAC/YXurs016sFKoge2jQnvBtkfi4DN8JARGZ8 1+uA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to; bh=BVbKs7knaQPetaanoQBO8iAn7OmasU5y75fW3nRC++o=; b=e+Af4hyA128GaEX7lu4Y6HJsOTQfW+UsFQczm6GwRNDhZkU1GysQbZ7axQReT5dssp oOAivOyU14i4+YnYcrQbmVm0ATPssAkm0dGNNhKW1fovMdF2a2CyQ7Ougyhz2MHfAH/2 bdbXkcNG/n/BkJwirHmRnVNXdyhkVwmuhlC8iv3heEPR8WUykrFKKTaO/DPdIGeCjCT7 KYaE8Uk6TdAcQRpBOncYswMwRnARC6a105AeF66Hff0gzS87KBCauEjn79riOjgelROn i5KVvVskn1yCaTWXt3bzib+DUHvGZevwHe4JB99W7eu8BnVWGPszWOyeB9GQhTmcnnBn RdSQ== X-Gm-Message-State: AE9vXwOTEjXrydZL2kCuOUZ2pBNqWzECoVB6Mf1xFxAccZ43ZAWZ1gjNnurVAuNlPgNjGy2Q6yXfl21awfs6vQ== X-Received: by 10.202.225.213 with SMTP id y204mr5808174oig.73.1472587957372; Tue, 30 Aug 2016 13:12:37 -0700 (PDT) MIME-Version: 1.0 Received: by 10.202.73.133 with HTTP; Tue, 30 Aug 2016 13:12:36 -0700 (PDT) In-Reply-To: References: From: Greg Dove Date: Wed, 31 Aug 2016 08:12:36 +1200 Message-ID: Subject: Re: [FlexJX][Falcon] Binding support fixes/improvements To: dev@flex.apache.org Content-Type: multipart/alternative; boundary=001a113d4bc019a0bd053b4f9a83 archived-at: Tue, 30 Aug 2016 20:12:44 -0000 --001a113d4bc019a0bd053b4f9a83 Content-Type: text/plain; charset=UTF-8 Thanks for the feedback Alex. I had also received encouragement from Justin a long time ago to contribute, I'm happy that I finally got a chance to do so. tbh I had not even looked inside manual tests folder yet (there's a lot in there!), but that definitely sounds like a better place for that example, it really is a 'manual test'. it might require the addition of : to the build_example ant file targets, if you didn't already add it In terms of my sleeves, I hope to find something more up there within the next couple of weeks. My regular client work is in a bit of a lull, so I am making use of the time to get familiar with FlexJS. I actually already started work on updates in reflection, and only ended up in bindings because I saw some issues. I will go back to reflection again next, with a goal of getting identical results in swf and js. Some of the stuff I added to the JSSessionModel will help with what I needed to do there anyhow. I will definitely add to or update any relevant existing unit-tests on this next work. cheers, Greg On Tue, Aug 30, 2016 at 7:34 PM, Alex Harui wrote: > Hi Greg, > > OK, I looked through your patches and applied them to the develop branch. > I couldn't see anything obviously wrong with it, so great job and thanks > for contributing! I hope you have more up your sleeve. > > FWIW, it would be nice to unit tests in flex-falcon and maybe flex-asjs. > I'm going to move your example to the manual tests folder in a minute here > as I think it belongs there. > > Thanks again, > -Alex > > On 8/28/16, 10:10 PM, "Greg Dove" wrote: > > >Hey Alex, sorry I wasn't clear. > > > >"Without a test case to step through the code, I have to say that it is a > >bit surprising that you fixed the jx output by fiddling with > >ASCompilationUnit and ClassDirectiveProcessor instead of the emitters." > > > >I meant specifically emitters outside of jx js emitters, and VF2JS was an > >example of one I did not touch. AMD is another. I definitely made changes > >in the FlexJSEmitter stuff. > > > >The ClassDIrectiveProcessor change was just for falcon/swf - I made > >similar > >changes for the js emitters, and implemented the IEventDispatcher > >variation > >as well as it was not currently implemented in jx. > > > >I will be submitting PRs within the next 15 mins. I won't add a lot of > >text > >with the PR - so please ask if you have any questions as to why I did > >things the way I did. Some of it may be a little 'clumsy' perhaps. > > > >cheers > >Greg > > > >On Mon, Aug 29, 2016 at 5:04 PM, Alex Harui wrote: > > > >> Hi Greg, > >> > >> Without a test case to step through the code, I have to say that it is a > >> bit surprising that you fixed the jx output by fiddling with > >> ASCompilationUnit and ClassDirectiveProcessor instead of the emitters. > >> > >> I guess I'll wait to see the PR. Maybe it will make more sense then. I > >> guess maybe you needed to make that change to affect the AST? > >> > >> Fundamentally, the compiler creates an AST, then Falcon (the SWF > >>compiler) > >> uses Reducers to reduce the AST to ABC code. FalconJX uses BlockWalkers > >> and Emitters. There are different emitters for different output > >>formats. > >> The vf2js emitters were an attempt to do a straight cross-compile of the > >> existing Flex SDK code. It is not being used by FlexJS. > >> > >> Looking forward to it, > >> -Alex > >> > >> On 8/28/16, 8:51 PM, "Greg Dove" wrote: > >> > >> >Thanks Alex, > >> > > >> >There are definitely bugs, and I have addressed those that I found in > >>the > >> >testbed example I already made a PR for. The others should beWhether I > >> >have > >> >addressed them appropriately or not I can't say, but if the way I have > >> >done > >> >things is not consistent with the compiler architecture or any general > >> >java > >> >coding standards, then at the very least it should provide clues for > >>you > >> >or > >> >someone else for what needs to be done in a more appropriate way. And > >>if > >> >it > >> >is unclear why I did anything in particular please ask. > >> > > >> >One of the things I ended up doing was to move the 'extends > >> >EventDispatcher' implementation from ASCompilationUnit to > >> >ClassDIrectiveProcessor for falcon and to provide a corresponding > >> >implementation in jx. There seemed to be times when that original > >> >implementation was not being applied when it ought to have been, and it > >> >also seemed like ClassDirectiveProcessor was a more natural home for > >>it, > >> >alongside the other 'implements IEventDispatcher' implementation for > >> >binding support. > >> > > >> > > >> >In terms of your suggestion about asking questions... I appreciate your > >> >intent here, I think most people prefer not to ask stupid questions > >>(even > >> >if there is a culture of 'no such thing as a stupid question'), and I > >> >needed to get my head around the compiler a bit first before asking too > >> >many questions, otherwise most of the questions would probably be > >>stupid > >> >ones about how it works! > >> >I used this exercise to help me understand the basics, and I personally > >> >find this approach is much better for for me to learn anything new over > >> >asking lots of questions (it may not be the most efficient to arrive at > >> >the > >> >knowledge, but it helps me get to a deeper understanding faster I > >>think). > >> >Also, although all you guys are great at responding quickly here, I am > >> >used > >> >to the immediacy of some form of chat, otherwise I am usually already > >> >trying to answer my questions myself, particularly if I am already > >>focused > >> >on it. IRC is a good option here that some OS teams use, because it is > >> >possible to set up some logging (and therefore can be made searchable, > >>if > >> >required). But some people find IRC a bit 'old school' :). > >> > > >> >I will likely ask more questions in the future, but I do have a more > >> >general question now: > >> > > >> >Also, in terms of changing emitter support in jx for js output, I have > >>not > >> >touched anything outside of js emitters - is that usually ok? I don't > >>even > >> >know what vf2js or some of the others are for.... but I do see that > >>some > >> >of > >> >the various emitter classes have duplicated or similar code in parts of > >> >them. I did wonder about whether I was supposed to do anything > >>elsewhere > >> >as > >> >well, but as I did not really understand it, I chose to stop > >>wondering. :) > >> > > >> >cheers, > >> >Greg > >> > > >> > > >> > > >> > > >> >On Sat, Aug 27, 2016 at 5:40 PM, Alex Harui wrote: > >> > > >> >> Sounds great! Looking forward to it. > >> >> > >> >> It might be better in the future if you ask more questions as you go > >> >> along. I think the compiler already does IEventDispatcher although I > >> >> wouldn't be surprised if the current code has bugs, so discussing > >>early > >> >> can help make sure you are spending your cycles appropriately. > >> >> > >> >> Thanks, > >> >> -Alex > >> >> > >> >> > >> > >> > > --001a113d4bc019a0bd053b4f9a83--