Repository: flex-falcon
Updated Branches:
  refs/heads/develop 72b5a328d -> aacc73f88


Use index access in for each loops for XML


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

Branch: refs/heads/develop
Commit: aacc73f889ee707397fd0e32b1ac13c1e67a9737
Parents: 72b5a32
Author: Harbs <ha...@in-tools.com>
Authored: Mon Jul 17 21:57:41 2017 +0300
Committer: Harbs <ha...@in-tools.com>
Committed: Mon Jul 17 21:57:41 2017 +0300

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


http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/aacc73f8/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/jx/ForEachEmitter.java
----------------------------------------------------------------------
diff --git 
a/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/jx/ForEachEmitter.java
 
b/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/jx/ForEachEmitter.java
index f3651f7..58ac2f3 100644
--- 
a/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/jx/ForEachEmitter.java
+++ 
b/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/jx/ForEachEmitter.java
@@ -181,9 +181,9 @@ public class ForEachEmitter extends JSSubEmitter implements
         write(targetName);
         if (isXML)
         {
-               write(".child(");
+               write("[");
                write(iterName);
-               write(")");
+               write("]");
         }
         else if (isProxy)
         {

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/aacc73f8/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 263cc05..a5438f5 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
@@ -787,7 +787,7 @@ public class TestFlexJSGlobalClasses extends 
TestGoogGlobalClasses
     {
        IForLoopNode node = getForLoopNode("var a:XML = new XML(\"<top 
attr1='cat'><child attr2='dog'><grandchild 
attr3='fish'>text</grandchild></child></top>\");for each (var p:XMLList in a) 
var i:int = p.length();");
         asBlockWalker.visitForLoop(node);
-        assertOut("var foreachiter0_target = a;\nfor (var foreachiter0 in 
foreachiter0_target.elementNames()) \n{\nvar p = 
foreachiter0_target.child(foreachiter0);\n\n  var /** @type {number} */ i = 
p.length();}\n");
+        assertOut("var foreachiter0_target = a;\nfor (var foreachiter0 in 
foreachiter0_target.elementNames()) \n{\nvar p = 
foreachiter0_target[foreachiter0];\n\n  var /** @type {number} */ i = 
p.length();}\n");
     }
     
     @Test
@@ -795,7 +795,7 @@ public class TestFlexJSGlobalClasses extends 
TestGoogGlobalClasses
     {
        IForLoopNode node = getForLoopNode("var a:*;for each (var p:XML in (a 
as XMLList)) var i:int = p.length();");
         asBlockWalker.visitForLoop(node);
-        assertOut("var foreachiter0_target = 
org.apache.flex.utils.Language.as(a, XMLList);\nfor (var foreachiter0 in 
foreachiter0_target.elementNames()) \n{\nvar p = 
foreachiter0_target.child(foreachiter0);\n\n  var /** @type {number} */ i = 
p.length();}\n");
+        assertOut("var foreachiter0_target = 
org.apache.flex.utils.Language.as(a, XMLList);\nfor (var foreachiter0 in 
foreachiter0_target.elementNames()) \n{\nvar p = 
foreachiter0_target[foreachiter0];\n\n  var /** @type {number} */ i = 
p.length();}\n");
     }
     
     @Test
@@ -803,7 +803,7 @@ public class TestFlexJSGlobalClasses 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.child(foreachiter0);\n\n  var /** @type {number} */ i = 
p.length();}\n");
+        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();}\n");
     }
     
     @Test

Reply via email to