You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by ah...@apache.org on 2014/12/23 08:41:35 UTC
[12/28] git commit: [flex-asjs] [refs/heads/develop] - add
getProperty/setProperty to EventDispatcher so more things can cross-compiler
add getProperty/setProperty to EventDispatcher so more things can cross-compiler
Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/aeb96f31
Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/aeb96f31
Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/aeb96f31
Branch: refs/heads/develop
Commit: aeb96f31333e7be93e75cf4049fb455374f8650a
Parents: c952d22
Author: Alex Harui <ah...@apache.org>
Authored: Mon Dec 22 09:58:22 2014 -0800
Committer: Alex Harui <ah...@apache.org>
Committed: Mon Dec 22 09:58:22 2014 -0800
----------------------------------------------------------------------
.../flex/core/StatesWithTransitionsImpl.as | 16 +++++-----
.../org/apache/flex/events/EventDispatcher.as | 32 +++++++++++++++++++-
2 files changed, 39 insertions(+), 9 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/aeb96f31/frameworks/as/projects/FlexJSJX/src/org/apache/flex/core/StatesWithTransitionsImpl.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSJX/src/org/apache/flex/core/StatesWithTransitionsImpl.as b/frameworks/as/projects/FlexJSJX/src/org/apache/flex/core/StatesWithTransitionsImpl.as
index bbc954b..c8aeb6f 100644
--- a/frameworks/as/projects/FlexJSJX/src/org/apache/flex/core/StatesWithTransitionsImpl.as
+++ b/frameworks/as/projects/FlexJSJX/src/org/apache/flex/core/StatesWithTransitionsImpl.as
@@ -201,16 +201,16 @@ package org.apache.flex.core
{
var sp:SetProperty = SetProperty(o);
if (sp.target != null)
- sp.document[sp.target][sp.name] = sp.previousValue;
+ setProperty(getProperty(sp.document, sp.target), sp.name, sp.previousValue);
else
- sp.document[sp.name] = sp.previousValue;
+ setProperty(sp.document, sp.name, sp.previousValue);
}
else if (o is SetEventHandler)
{
var seh:SetEventHandler = SetEventHandler(o);
if (seh.target != null)
{
- seh.document[seh.target].removeEventListener(seh.name, seh.handlerFunction);
+ getProperty(seh.document, seh.target).removeEventListener(seh.name, seh.handlerFunction);
}
else
{
@@ -267,13 +267,13 @@ package org.apache.flex.core
var sp:SetProperty = SetProperty(o);
if (sp.target != null)
{
- sp.previousValue = sp.document[sp.target][sp.name];
- sp.document[sp.target][sp.name] = sp.value;
+ sp.previousValue = getProperty(getProperty(sp.document, sp.target), sp.name);
+ setProperty(getProperty(sp.document, sp.target), sp.name, sp.value);
}
else
{
- sp.previousValue = sp.document[sp.name];
- sp.document[sp.name] = sp.value;
+ sp.previousValue = getProperty(sp.document, sp.name);
+ setProperty(sp.document, sp.name, sp.value);
}
}
else if (o is SetEventHandler)
@@ -281,7 +281,7 @@ package org.apache.flex.core
var seh:SetEventHandler = SetEventHandler(o);
if (seh.target != null)
{
- seh.document[seh.target].addEventListener(seh.name, seh.handlerFunction);
+ getProperty(seh.document, seh.target).addEventListener(seh.name, seh.handlerFunction);
}
else
{
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/aeb96f31/frameworks/as/projects/FlexJSUI/src/org/apache/flex/events/EventDispatcher.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/events/EventDispatcher.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/events/EventDispatcher.as
index 357689d..b5dbe2e 100644
--- a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/events/EventDispatcher.as
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/events/EventDispatcher.as
@@ -43,5 +43,35 @@ package org.apache.flex.events
{
super();
}
- }
+
+ /**
+ * Get a property from an object.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ protected function getProperty(obj:Object, propName:String):*
+ {
+ if (propName === 'this')
+ return obj;
+
+ return obj[propName];
+ }
+
+ /**
+ * Set a property on an object.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ protected function setProperty(obj:Object, propName:String, value:*):void
+ {
+ obj[propName] = value;
+ }
+
+ }
}
\ No newline at end of file