superGetter & superSetter
Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/f7f0f20e Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/f7f0f20e Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/f7f0f20e Branch: refs/heads/develop Commit: f7f0f20ef0e4644efbf67fd01786a1744cff261b Parents: 31e50c8 Author: Alex Harui <[email protected]> Authored: Tue Feb 17 14:54:34 2015 -0800 Committer: Alex Harui <[email protected]> Committed: Tue Feb 17 14:54:34 2015 -0800 ---------------------------------------------------------------------- .../src/org/apache/flex/utils/Language.js | 31 ++++++++++++++++++++ 1 file changed, 31 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f7f0f20e/frameworks/js/FlexJS/src/org/apache/flex/utils/Language.js ---------------------------------------------------------------------- diff --git a/frameworks/js/FlexJS/src/org/apache/flex/utils/Language.js b/frameworks/js/FlexJS/src/org/apache/flex/utils/Language.js index fb3e893..6558657 100644 --- a/frameworks/js/FlexJS/src/org/apache/flex/utils/Language.js +++ b/frameworks/js/FlexJS/src/org/apache/flex/utils/Language.js @@ -247,3 +247,34 @@ org_apache_flex_utils_Language.postdecrement = function(obj, prop) { obj[prop] = value + 1; return value; }; + + +/** + * superGetter calls the getter on the given class' superclass. + * + * @expose + * @param {Object} clazz The class. + * @param {Object} pThis The this pointer. + * @param {string} prop The name of the getter. + * @return {number} + */ +org_apache_flex_utils_Language.superGetter = function(clazz, pthis, prop) { + var superdesc = Object.getOwnPropertyDescriptor(clazz.superClass_, prop); + return superdesc.get.call(pthis); +}; + + +/** + * superSetter calls the setter on the given class' superclass. + * + * @expose + * @param {Object} clazz The class. + * @param {Object} pThis The this pointer. + * @param {string} prop The name of the getter. + * @param {Object} value The value. + * @return {number} + */ +org_apache_flex_utils_Language.superSetter = function(clazz, pthis, prop, value) { + var superdesc = Object.getOwnPropertyDescriptor(clazz.superClass_, prop); + return superdesc.set.apply(pthis, [value]); +};
