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 2018/08/06 04:39:30 UTC
[royale-compiler] 02/02: handle XML conversion function
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
commit d34c3482fea3bcdff85d5e7488e6f2e5f7ab990d
Author: Alex Harui <ah...@apache.org>
AuthorDate: Sun Aug 5 21:39:20 2018 -0700
handle XML conversion function
---
.../royale/compiler/internal/codegen/js/jx/FunctionCallEmitter.java | 6 ++++++
.../internal/codegen/js/royale/TestRoyaleGlobalClasses.java | 4 ++--
.../internal/codegen/js/royale/TestRoyaleGlobalFunctions.java | 2 +-
3 files changed, 9 insertions(+), 3 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 d348f03..0dd6769 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
@@ -263,6 +263,12 @@ public class FunctionCallEmitter extends JSSubEmitter implements ISubEmitter<IFu
}
return;
}
+ else if (def.getBaseName().equals(IASLanguageConstants.XML))
+ {
+ write("XML.conversion");
+ getEmitter().emitArguments(node.getArgumentsNode());
+ return;
+ }
}
getWalker().walk(node.getNameNode());
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 aa516d9..85b3a15 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
@@ -523,7 +523,7 @@ public class TestRoyaleGlobalClasses extends TestGoogGlobalClasses
{
IUnaryOperatorNode node = getUnaryNode("var a:XML = new XML(\"<top attr1='cat'><child attr2='dog'><grandchild attr3='fish'>text</grandchild></child></top>\");var b:Object = { xml: a};delete XML(b.xml).child.grandchild;");
asBlockWalker.visitUnaryOperator(node);
- assertOut("XML(b.xml).child('child').removeChild('grandchild')");
+ assertOut("XML.conversion(b.xml).child('child').removeChild('grandchild')");
}
@Test
@@ -564,7 +564,7 @@ public class TestRoyaleGlobalClasses extends TestGoogGlobalClasses
{
IUnaryOperatorNode node = getUnaryNode("var a:XML = new XML(\"<top attr1='cat'><child attr2='dog'><grandchild attr3='fish'>text</grandchild></child></top>\");var b:Object = { xml: a};delete XML(b.xml).child.grandchild[0];");
asBlockWalker.visitUnaryOperator(node);
- assertOut("XML(b.xml).child('child').child('grandchild').removeChildAt(0)");
+ assertOut("XML.conversion(b.xml).child('child').child('grandchild').removeChildAt(0)");
}
@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 ddf5f53..2c6eaf7 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
@@ -217,7 +217,7 @@ public class TestRoyaleGlobalFunctions extends TestGoogGlobalFunctions
// (erikdebruin) E4X in Javascript is obsolete.
// Ref.: https://developer.mozilla.org/en-US/docs/E4X
- assertOut("var /** @type {XML} */ a = XML('@')");
+ assertOut("var /** @type {XML} */ a = XML.conversion('@')");
}
@Override