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:28 UTC

[royale-compiler] branch develop updated (4284146 -> d34c348)

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

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


    from 4284146  smarter e4x filter output
     new f6c4c9d  check for static dependency
     new d34c348  handle XML conversion function

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../royale/compiler/internal/codegen/js/jx/FunctionCallEmitter.java | 6 ++++++
 .../royale/compiler/internal/codegen/js/royale/JSRoyaleEmitter.java | 2 ++
 .../internal/codegen/js/royale/TestRoyaleGlobalClasses.java         | 4 ++--
 .../internal/codegen/js/royale/TestRoyaleGlobalFunctions.java       | 2 +-
 4 files changed, 11 insertions(+), 3 deletions(-)


[royale-compiler] 01/02: check for static dependency

Posted by ah...@apache.org.
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 f6c4c9ddee63d915ca2ca8b4418cab2f6b56755b
Author: Alex Harui <ah...@apache.org>
AuthorDate: Sun Aug 5 20:27:30 2018 -0700

    check for static dependency
---
 .../royale/compiler/internal/codegen/js/royale/JSRoyaleEmitter.java     | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/royale/JSRoyaleEmitter.java b/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/royale/JSRoyaleEmitter.java
index ac328a8..0452f54 100644
--- a/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/royale/JSRoyaleEmitter.java
+++ b/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/royale/JSRoyaleEmitter.java
@@ -1321,6 +1321,8 @@ public class JSRoyaleEmitter extends JSGoogEmitter implements IJSRoyaleEmitter
     public void emitTypedExpression(ITypedExpressionNode node)
     {
         write(JSRoyaleEmitterTokens.VECTOR);
+        if (getModel().inStaticInitializer)
+        	staticUsedNames.add(JSRoyaleEmitterTokens.LANGUAGE_QNAME.getToken());
         if (project instanceof RoyaleJSProject)
         	((RoyaleJSProject)project).needLanguage = true;
         getModel().needLanguage = true;


[royale-compiler] 02/02: handle XML conversion function

Posted by ah...@apache.org.
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