GitHub user greg-dove opened a pull request: https://github.com/apache/flex-falcon/pull/8
Binding improvements Various binding improvements as per discussions on mailing list with Alex. I have added [NEEDS REVIEW] or [REVIEW REQUESTED] to commits that I think may need extra scrutiny. Please ask if you need any clarifications You can merge this pull request into a Git repository by running: $ git pull https://github.com/greg-dove/flex-falcon Binding_Improvements Alternatively you can review and apply these changes as the patch at: https://github.com/apache/flex-falcon/pull/8.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #8 ---- commit cf9d0f20c1873db2d23f59095d1d08db63774084 Author: greg-dove <greg.d...@gmail.com> Date: 2016-08-17T23:00:06Z [BUGFIX] Fix for member access token incorrectly prepended to classes without package in _bindings commit 10486cc7194fa222d51b5a1221c621b6e06f8463 Author: greg-dove <greg.d...@gmail.com> Date: 2016-08-23T01:24:44Z [BUGFIX] [REVIEW REQUESTED] Fix for inconsistent (and erroneous) implementation of classes marked as Bindable. This needs review. This was causing some implementations to extend EventDispatcher. It was also incorrectly applying the implementation to classes with only static bindables. The assumption is that ClassDirectiveProcessor handles the bindable implementation as a single authoritative source. The inconsistent implementation here was commented out, other code that appears unrelated to Binding support was left as is. Please review whether the above assumption is correct and/or whether this should be re-implemented with consistency. commit 74f426d9609336a8459bbd331054fc94ff9fb791 Author: greg-dove <greg.d...@gmail.com> Date: 2016-08-25T01:49:09Z Cumulative Binding support fixes/improvements across Falcon and Falcon-JX Falcon -added needsEventDispatcher and needsStaticEventDispatcher to IClassDefinition -fixed needsEventDispatcher to check recursively, so only earliest base class that needs it returns true This fixes "BindableSubClass extends BindableBaseClass" where neither implements IEventDispatcher (implementation in both classes causes runtime error in swf) -added additional respect for binding-related compiler configuration options in some parts of code - BindableHelper statics as authoritative reference. Falcon-JX -fixed output of static Bindables to class level accessors instead of instance level accessors -avoid unnecessary null appended to _bindings [MINOR] -implemented compiler generated bindable support code for both static and IEventDispatcher implementations where needed commit dbd3487d83b708027eaa9ef04e1625752a7f4a31 Author: greg-dove <greg.d...@gmail.com> Date: 2016-08-25T04:59:54Z Merge branch 'develop' into Binding_Improvements commit 687c654a2c7c8ccaf83e5221d1defbef3ce4dbd3 Author: greg-dove <greg.d...@gmail.com> Date: 2016-08-26T04:29:26Z [FIX] Reverted to more traditional implementation of IEventDispatcher in JS to one error at runtime. commit 53071a7da91f66f9bb0cdb6b38636c32c513d455 Author: greg-dove <greg.d...@gmail.com> Date: 2016-08-26T04:44:51Z [IMPROVEMENT] Add static public variables to 'simple' bindings, and also add instance and static public constants commit 503f72118975de7f832ffcf7bbfc2613b678c51c Author: greg-dove <greg.d...@gmail.com> Date: 2016-08-26T04:46:33Z [IMRPOVEMENT] Fixes private bindings. Make use of isSourceSimplePublicProperty on BindingInfo, to generate simple string sources, otherwise generate getter functions for private vars/consts also, removes an annotation error from bindable implementations in BindableEmitter commit 7842b1e0bb0dae502fabbdd0307155d0dfce31ce Author: greg-dove <greg.d...@gmail.com> Date: 2016-08-28T23:46:43Z [IMPROVEMENT] [NEEDS REVIEW] Removed the ASCompilationUnit 'extends' EventDispatcher implementation (which had some bugs) for binding support, and reimplemented this in falcon ClassDirectiveProcessor, and also in various jx emitters for JS. Falcon implementation is relatively straightforward, jx is a bit more fragmented because of the need to alter output in several different emitter classes. commit 26cd027c595f5fc852277fda886f1d608ba35412 Author: greg-dove <greg.d...@gmail.com> Date: 2016-08-29T01:29:03Z [IMPROVEMENT] More robust ancestry check for needsEventDispatcher commit ab5c6f49c5035befb635935bc170d9ffd54f8695 Author: greg-dove <greg.d...@gmail.com> Date: 2016-08-29T04:56:41Z [BUGFIX] Extra check to cover potential case where generateBindableImpl is run against Object.as native class ---- --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---