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