You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@royale.apache.org by ah...@apache.org on 2019/11/19 23:12:34 UTC

[royale-compiler] branch develop updated: need to handle a read-only property being converted to readwrite in the subclass

This is an automated email from the ASF dual-hosted git repository.

aharui pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/royale-compiler.git


The following commit(s) were added to refs/heads/develop by this push:
     new ec3b53c  need to handle a read-only property being converted to readwrite in the subclass
ec3b53c is described below

commit ec3b53c9b55de0d35dd5813a83d0b806fc7454e2
Author: Alex Harui <ah...@apache.org>
AuthorDate: Tue Nov 19 15:12:10 2019 -0800

    need to handle a read-only property being converted to readwrite in the subclass
---
 .../compiler/internal/codegen/js/jx/AccessorEmitter.java    |  4 ++--
 .../internal/codegen/js/royale/TestRoyaleExpressions.java   | 13 +++++++------
 2 files changed, 9 insertions(+), 8 deletions(-)

diff --git a/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/jx/AccessorEmitter.java b/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/jx/AccessorEmitter.java
index cffa146..747032a 100644
--- a/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/jx/AccessorEmitter.java
+++ b/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/jx/AccessorEmitter.java
@@ -371,7 +371,7 @@ public class AccessorEmitter extends JSSubEmitter implements
                     }
                     wroteGetter = true;
                 }
-                else if (setterNode != null && setterNode.getDefinition().isOverride())
+                else if (setterNode != null /* && setterNode.getDefinition().isOverride()*/)
                 {
                 	// see if there is a getter on a base class.  If so, we have to 
                 	// generate a call to the super from this class because 
@@ -431,7 +431,7 @@ public class AccessorEmitter extends JSSubEmitter implements
                     	write(baseName);
                     }
                 }
-                else if (getterNode != null && getterNode.getDefinition().isOverride())
+                else if (getterNode != null/* && getterNode.getDefinition().isOverride()*/)
                 {
                 	// see if there is a getter on a base class.  If so, we have to 
                 	// generate a call to the super from this class because 
diff --git a/compiler-jx/src/test/java/org/apache/royale/compiler/internal/codegen/js/royale/TestRoyaleExpressions.java b/compiler-jx/src/test/java/org/apache/royale/compiler/internal/codegen/js/royale/TestRoyaleExpressions.java
index 9185cde..22c05ae 100644
--- a/compiler-jx/src/test/java/org/apache/royale/compiler/internal/codegen/js/royale/TestRoyaleExpressions.java
+++ b/compiler-jx/src/test/java/org/apache/royale/compiler/internal/codegen/js/royale/TestRoyaleExpressions.java
@@ -109,7 +109,7 @@ public class TestRoyaleExpressions extends TestGoogExpressions
         IClassNode node = (IClassNode)getNode("public function get defaultPrevented():Object " +
         		                       "{ return super.isDefaultPrevented(); }" + 
         		                       "override public function isDefaultPrevented():Object" +
-                                       "{ return defaultPrevented; }", IClassNode.class);
+                                       "{ return defaultPrevented; }", IClassNode.class, WRAP_LEVEL_CLASS);
         // getters and setters don't get output until the class is output so you can't just visit the accessorNode
         asBlockWalker.visitClass(node);
         assertOut("/**\n * @constructor\n */\n" + 
@@ -119,11 +119,12 @@ public class TestRoyaleExpressions extends TestGoogExpressions
         		  " * Prevent renaming of class. Needed for reflection.\n" +
         		  " */\n" +
         		  "goog.exportSymbol('RoyaleTest_A', RoyaleTest_A);\n\n\n" +
-        		  "RoyaleTest_A.prototype.royaleTest_a = function() {\n" +
-        		  "  var self = this;\n" +
-        		  "  ;\n" +
-        		  "  function isDefaultPrevented() {\n" +
-        		  "    return defaultPrevented;\n  };\n  \n" +
+        		  "/**\n" +
+        		  " * @export\n" +
+        		  " * @override\n" +
+        		  " */\n" +
+        		  "RoyaleTest_A.prototype.isDefaultPrevented = function() {\n" +
+        		  "  return this.defaultPrevented;\n" +
         		  "};\n\n\n" +
         		  "RoyaleTest_A.prototype.get__defaultPrevented = function() {\n" +
         		  "  return RoyaleTest_A.superClass_.isDefaultPrevented.apply(this);\n" +