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 : <arg value="-compiler.binding-event-handler-interface=org.apache.flex.events.IEventDispatcher" /> <arg value="-compiler.binding-event-handler-class=org.apache.flex.events.EventDispatcher" /> <arg value="-compiler.binding-event-handler-event=org.apache.flex.events.Event" /> 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 <aha...@adobe.com> 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" <greg.d...@gmail.com> 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 <aha...@adobe.com> 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" <greg.d...@gmail.com> 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 <aha...@adobe.com> 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 > >> >> > >> >> > >> > >> > >