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

gregdove 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 9b6df79  XMLList global function was not working (because 'this' was 
referencing window). Use the same approach as XML here...
9b6df79 is described below

commit 9b6df7931cf0b507736a836ed341babd4972fbbe
Author: greg-dove <[email protected]>
AuthorDate: Mon Jun 24 15:19:14 2019 +1200

    XMLList global function was not working (because 'this' was referencing 
window). Use the same approach as XML here...
---
 .../royale/compiler/internal/codegen/js/jx/FunctionCallEmitter.java | 6 ++++++
 .../internal/codegen/js/royale/TestRoyaleGlobalClasses.java         | 2 +-
 .../internal/codegen/js/royale/TestRoyaleGlobalFunctions.java       | 2 +-
 3 files changed, 8 insertions(+), 2 deletions(-)

diff --git 
a/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/jx/FunctionCallEmitter.java
 
b/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/jx/FunctionCallEmitter.java
index 855dd76..0a57fd1 100644
--- 
a/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/jx/FunctionCallEmitter.java
+++ 
b/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/jx/FunctionCallEmitter.java
@@ -515,6 +515,12 @@ public class FunctionCallEmitter extends JSSubEmitter 
implements ISubEmitter<IFu
                         getEmitter().emitArguments(node.getArgumentsNode());
                        return;
                     }
+                    else if 
(def.getBaseName().equals(IASLanguageConstants.XMLList))
+                    {
+                        write("XMLList.conversion");
+                        getEmitter().emitArguments(node.getArgumentsNode());
+                        return;
+                    }
                     else if 
(def.getQualifiedName().equals(IASLanguageConstants.Object)) {
                         //'resolveUncertain' always output here
                         //unless a) there are no arguments
diff --git 
a/compiler-jx/src/test/java/org/apache/royale/compiler/internal/codegen/js/royale/TestRoyaleGlobalClasses.java
 
b/compiler-jx/src/test/java/org/apache/royale/compiler/internal/codegen/js/royale/TestRoyaleGlobalClasses.java
index 15b8dd6..74dd36a 100644
--- 
a/compiler-jx/src/test/java/org/apache/royale/compiler/internal/codegen/js/royale/TestRoyaleGlobalClasses.java
+++ 
b/compiler-jx/src/test/java/org/apache/royale/compiler/internal/codegen/js/royale/TestRoyaleGlobalClasses.java
@@ -1346,7 +1346,7 @@ public class TestRoyaleGlobalClasses extends 
TestGoogGlobalClasses
     {
        IForLoopNode node = getForLoopNode("var a:*;for each (var p:XML in 
XMLList(a)) var i:int = p.length();");
         asBlockWalker.visitForLoop(node);
-        assertOut("var foreachiter0_target = XMLList(a);\nfor (var 
foreachiter0 in foreachiter0_target.elementNames()) \n{\nvar p = 
foreachiter0_target[foreachiter0];\n\n  var /** @type {number} */ i = 
(p.length()) >> 0;}\n");
+        assertOut("var foreachiter0_target = XMLList.conversion(a);\nfor (var 
foreachiter0 in foreachiter0_target.elementNames()) \n{\nvar p = 
foreachiter0_target[foreachiter0];\n\n  var /** @type {number} */ i = 
(p.length()) >> 0;}\n");
     }
     
     @Test
diff --git 
a/compiler-jx/src/test/java/org/apache/royale/compiler/internal/codegen/js/royale/TestRoyaleGlobalFunctions.java
 
b/compiler-jx/src/test/java/org/apache/royale/compiler/internal/codegen/js/royale/TestRoyaleGlobalFunctions.java
index 5f8b6b2..a06bfa0 100644
--- 
a/compiler-jx/src/test/java/org/apache/royale/compiler/internal/codegen/js/royale/TestRoyaleGlobalFunctions.java
+++ 
b/compiler-jx/src/test/java/org/apache/royale/compiler/internal/codegen/js/royale/TestRoyaleGlobalFunctions.java
@@ -282,7 +282,7 @@ public class TestRoyaleGlobalFunctions extends 
TestGoogGlobalFunctions
         // (erikdebruin) E4X in Javascript is obsolete.
         //               Ref.: https://developer.mozilla.org/en-US/docs/E4X
         
-        assertOut("var /** @type {XMLList} */ a = XMLList('<!-- comment 
-->')");
+        assertOut("var /** @type {XMLList} */ a = XMLList.conversion('<!-- 
comment -->')");
     }
 
     @Test

Reply via email to