FLEX-35137 fix/workaround for binding to private vars
Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/3784d294 Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/3784d294 Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/3784d294 Branch: refs/heads/feature-autobuild/maven-archetypes Commit: 3784d294a54b7cdb1fa27f716ab995eda942f1cd Parents: ea08079 Author: Alex Harui <[email protected]> Authored: Tue Oct 4 21:27:06 2016 -0700 Committer: Alex Harui <[email protected]> Committed: Tue Oct 4 21:27:06 2016 -0700 ---------------------------------------------------------------------- .../main/flex/org/apache/flex/binding/ApplicationDataBinding.as | 5 ++++- .../main/flex/org/apache/flex/binding/ContainerDataBinding.as | 5 ++++- .../flex/org/apache/flex/binding/MXMLBeadViewDataBinding.as | 5 ++++- .../src/main/flex/org/apache/flex/binding/ViewDataBinding.as | 5 ++++- 4 files changed, 16 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/3784d294/frameworks/projects/Binding/src/main/flex/org/apache/flex/binding/ApplicationDataBinding.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/Binding/src/main/flex/org/apache/flex/binding/ApplicationDataBinding.as b/frameworks/projects/Binding/src/main/flex/org/apache/flex/binding/ApplicationDataBinding.as index 94da494..c8a501f 100644 --- a/frameworks/projects/Binding/src/main/flex/org/apache/flex/binding/ApplicationDataBinding.as +++ b/frameworks/projects/Binding/src/main/flex/org/apache/flex/binding/ApplicationDataBinding.as @@ -212,6 +212,9 @@ package org.apache.flex.binding setupWatchers(gb, index, watchers.watchers, null); } + /** + * @flexjsignorecoercion Function + */ private function setupWatchers(gb:GenericBinding, index:int, watchers:Array, parentWatcher:WatcherBase):void { var foundWatcher:Boolean = false; @@ -235,7 +238,7 @@ package org.apache.flex.binding var pw:PropertyWatcher = new PropertyWatcher(this, watcher.propertyName, watcher.eventNames, - watcher.getterFunction); + (typeof(gb.source) === "function") ? gb.source as Function : watcher.getterFunction); watcher.watcher = pw; if (parentWatcher) pw.parentChanged(parentWatcher.value); http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/3784d294/frameworks/projects/Binding/src/main/flex/org/apache/flex/binding/ContainerDataBinding.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/Binding/src/main/flex/org/apache/flex/binding/ContainerDataBinding.as b/frameworks/projects/Binding/src/main/flex/org/apache/flex/binding/ContainerDataBinding.as index 156aa69..5deb680 100644 --- a/frameworks/projects/Binding/src/main/flex/org/apache/flex/binding/ContainerDataBinding.as +++ b/frameworks/projects/Binding/src/main/flex/org/apache/flex/binding/ContainerDataBinding.as @@ -258,6 +258,9 @@ package org.apache.flex.binding } } + /** + * @flexjsignorecoercion Function + */ private function setupWatchers(gb:GenericBinding, index:int, watchers:Array, parentWatcher:WatcherBase):void { var foundWatcher:Boolean = false; @@ -281,7 +284,7 @@ package org.apache.flex.binding var pw:PropertyWatcher = new PropertyWatcher(this, watcher.propertyName, watcher.eventNames, - watcher.getterFunction); + (typeof(gb.source) === "function") ? gb.source as Function : watcher.getterFunction); watcher.watcher = pw; if (parentWatcher) pw.parentChanged(parentWatcher.value); http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/3784d294/frameworks/projects/Binding/src/main/flex/org/apache/flex/binding/MXMLBeadViewDataBinding.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/Binding/src/main/flex/org/apache/flex/binding/MXMLBeadViewDataBinding.as b/frameworks/projects/Binding/src/main/flex/org/apache/flex/binding/MXMLBeadViewDataBinding.as index 54168d5..043e10f 100644 --- a/frameworks/projects/Binding/src/main/flex/org/apache/flex/binding/MXMLBeadViewDataBinding.as +++ b/frameworks/projects/Binding/src/main/flex/org/apache/flex/binding/MXMLBeadViewDataBinding.as @@ -207,6 +207,9 @@ package org.apache.flex.binding setupWatchers(gb, index, watchers.watchers, null); } + /** + * @flexjsignorecoercion Function + */ private function setupWatchers(gb:GenericBinding, index:int, watchers:Array, parentWatcher:WatcherBase):void { var foundWatcher:Boolean = false; @@ -230,7 +233,7 @@ package org.apache.flex.binding var pw:PropertyWatcher = new PropertyWatcher(this, watcher.propertyName, watcher.eventNames, - watcher.getterFunction); + (typeof(gb.source) === "function") ? gb.source as Function : watcher.getterFunction); watcher.watcher = pw; if (parentWatcher) pw.parentChanged(parentWatcher.value); http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/3784d294/frameworks/projects/Binding/src/main/flex/org/apache/flex/binding/ViewDataBinding.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/Binding/src/main/flex/org/apache/flex/binding/ViewDataBinding.as b/frameworks/projects/Binding/src/main/flex/org/apache/flex/binding/ViewDataBinding.as index 0612b1d..d9cdfd2 100644 --- a/frameworks/projects/Binding/src/main/flex/org/apache/flex/binding/ViewDataBinding.as +++ b/frameworks/projects/Binding/src/main/flex/org/apache/flex/binding/ViewDataBinding.as @@ -238,6 +238,9 @@ package org.apache.flex.binding setupWatchers(gb, index, watchers.watchers, null); } + /** + * @flexjsignorecoercion Function + */ private function setupWatchers(gb:GenericBinding, index:int, watchers:Array, parentWatcher:WatcherBase):void { var foundWatcher:Boolean = false; @@ -266,7 +269,7 @@ package org.apache.flex.binding var pw:PropertyWatcher = new PropertyWatcher(this, watcher.propertyName, watcher.eventNames, - watcher.getterFunction); + (typeof(gb.source) === "function") ? gb.source as Function : watcher.getterFunction); watcher.watcher = pw; if (parentWatcher) pw.parentChanged(parentWatcher.value);
