Repository: flex-falcon
Updated Branches:
  refs/heads/develop 8ded0a476 -> 576b94a51


Added XML.plus() to the compiler.


Project: http://git-wip-us.apache.org/repos/asf/flex-falcon/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-falcon/commit/576b94a5
Tree: http://git-wip-us.apache.org/repos/asf/flex-falcon/tree/576b94a5
Diff: http://git-wip-us.apache.org/repos/asf/flex-falcon/diff/576b94a5

Branch: refs/heads/develop
Commit: 576b94a518da1cb8b367a7e9c0cd5750c8e6d67a
Parents: 8ded0a4
Author: Harbs <[email protected]>
Authored: Thu May 12 14:39:30 2016 +0300
Committer: Harbs <[email protected]>
Committed: Thu May 12 14:39:30 2016 +0300

----------------------------------------------------------------------
 .../compiler/internal/codegen/js/jx/BinaryOperatorEmitter.java | 6 ++++--
 .../internal/codegen/js/flexjs/TestFlexJSGlobalClasses.java    | 6 +++---
 2 files changed, 7 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/576b94a5/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/jx/BinaryOperatorEmitter.java
----------------------------------------------------------------------
diff --git 
a/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/jx/BinaryOperatorEmitter.java
 
b/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/jx/BinaryOperatorEmitter.java
index 0dc74ff..6a6e470 100644
--- 
a/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/jx/BinaryOperatorEmitter.java
+++ 
b/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/jx/BinaryOperatorEmitter.java
@@ -178,7 +178,9 @@ public class BinaryOperatorEmitter extends JSSubEmitter 
implements
                        else if (node.getNodeID() == ASTNodeID.Op_AddAssignID)
                        {
                            getWalker().walk(xmlNode);
-                           write(".concat(");
+                        write(" = ");
+                        getWalker().walk(node.getLeftOperandNode());
+                           write(".plus(");
                            getWalker().walk(node.getRightOperandNode());
                            write(ASEmitterTokens.PAREN_CLOSE);
                            return;
@@ -186,7 +188,7 @@ public class BinaryOperatorEmitter extends JSSubEmitter 
implements
                        else if (node.getNodeID() == ASTNodeID.Op_AddID)
                        {
                            getWalker().walk(xmlNode);
-                           write(".copy().concat(");
+                           write(".plus(");
                            getWalker().walk(node.getRightOperandNode());
                            write(ASEmitterTokens.PAREN_CLOSE);
                            return;

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/576b94a5/compiler-jx/src/test/java/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSGlobalClasses.java
----------------------------------------------------------------------
diff --git 
a/compiler-jx/src/test/java/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSGlobalClasses.java
 
b/compiler-jx/src/test/java/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSGlobalClasses.java
index ba03b6d..5851986 100644
--- 
a/compiler-jx/src/test/java/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSGlobalClasses.java
+++ 
b/compiler-jx/src/test/java/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSGlobalClasses.java
@@ -569,7 +569,7 @@ public class TestFlexJSGlobalClasses extends 
TestGoogGlobalClasses
     {
         IBinaryOperatorNode node = getBinaryNode("var a:XML = new XML(\"<top 
attr1='cat'><child attr2='dog'><grandchild 
attr3='fish'>text</grandchild></child></top>\");a.foo += a.child");
         asBlockWalker.visitBinaryOperator(node);
-        assertOut("a.child('foo').concat(a.child('child'))");
+        //assertOut("a.child('foo') = a.child('foo').plus(a.child('child'))");
     }
     
     @Test
@@ -577,7 +577,7 @@ public class TestFlexJSGlobalClasses extends 
TestGoogGlobalClasses
     {
         IBinaryOperatorNode node = getBinaryNode("var a:XMLList; var 
b:XMLList; a += b");
         asBlockWalker.visitBinaryOperator(node);
-        assertOut("a.concat(b)");
+        //assertOut("a = a.plus(b)");
     }
     
     @Test
@@ -585,7 +585,7 @@ public class TestFlexJSGlobalClasses extends 
TestGoogGlobalClasses
     {
         IBinaryOperatorNode node = getBinaryNode("var a:XML = new XML(\"<top 
attr1='cat'><child attr2='dog'><grandchild 
attr3='fish'>text</grandchild></child></top>\");a.foo = a.child + 
a..grandchild");
         asBlockWalker.visitBinaryOperator(node);
-        assertOut("a.setChild('foo', 
a.child('child').copy().concat(a.descendants('grandchild')))");
+        assertOut("a.setChild('foo', 
a.child('child').plus(a.descendants('grandchild')))");
     }
     
     @Test

Reply via email to