flex-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Harbs (JIRA)" <j...@apache.org>
Subject [jira] [Created] (FLEX-35345) incorrect output for super call in getter
Date Wed, 26 Jul 2017 11:24:02 GMT
Harbs created FLEX-35345:
----------------------------

             Summary: incorrect output for super call in getter
                 Key: FLEX-35345
                 URL: https://issues.apache.org/jira/browse/FLEX-35345
             Project: Apache Flex
          Issue Type: Bug
          Components: FalconJX
    Affects Versions: Apache FalconJX 0.8.0
            Reporter: Harbs


        COMPILE::JS
		public function get defaultPrevented():Boolean
		{
			return wrappedEvent ? wrappedEvent.defaultPrevented : super.isDefaultPrevented();
		}

        COMPILE::JS
		override public function isDefaultPrevented():Boolean
		{
			return defaultPrevented;
		}

compiles to:

org.apache.flex.events.KeyboardEvent.prototype.get__defaultPrevented = function() {
  return this.wrappedEvent ? this.wrappedEvent.defaultPrevented : org.apache.flex.events.KeyboardEvent.superClass_.get__defaultPrevented.apply(this);
};
org.apache.flex.events.KeyboardEvent.prototype.isDefaultPrevented = function() {
  return this.defaultPrevented;
};

In case the problem was not obvious, the first function should have looked like this:
return this.wrappedEvent ? this.wrappedEvent.defaultPrevented : org.apache.flex.events.KeyboardEvent.superClass_.isDefaultPrevented.apply(this);

instead of using (the non-existent) get__defaultPrevented function.

Reversing the functions to use super in the normal function behaves as I’d expect:
        COMPILE::JS
		public function get defaultPrevented():Boolean
		{
            return isDefaultPrevented();
		}

        COMPILE::JS
		override public function isDefaultPrevented():Boolean
		{
			return wrappedEvent ? wrappedEvent.defaultPrevented : super.isDefaultPrevented();
		}

Compiles to:

org.apache.flex.events.KeyboardEvent.prototype.get__defaultPrevented = function() {
  return this.isDefaultPrevented();
};
org.apache.flex.events.KeyboardEvent.prototype.isDefaultPrevented = function() {
  return this.wrappedEvent ? this.wrappedEvent.defaultPrevented : org.apache.flex.events.KeyboardEvent.superClass_.isDefaultPrevented.apply(this);
};




--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Mime
View raw message