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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
Date: 2016-08-25T04:59:54Z
Merge branch 'develop' into Binding_Improvements
commit 687c654a2c7c8ccaf83e5221d1defbef3ce4dbd3
Author: greg-dove <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
Date: 2016-08-29T01:29:03Z
[IMPROVEMENT] More robust ancestry check for needsEventDispatcher
commit ab5c6f49c5035befb635935bc170d9ffd54f8695
Author: greg-dove <[email protected]>
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 [email protected] or file a JIRA ticket
with INFRA.
---