Repository: flex-falcon Updated Branches: refs/heads/develop fa2f16f5c -> 8bb203cfe
I think this should add support for XML equality, but I'm not sure. Alex, please double-check this... Project: http://git-wip-us.apache.org/repos/asf/flex-falcon/repo Commit: http://git-wip-us.apache.org/repos/asf/flex-falcon/commit/8bb203cf Tree: http://git-wip-us.apache.org/repos/asf/flex-falcon/tree/8bb203cf Diff: http://git-wip-us.apache.org/repos/asf/flex-falcon/diff/8bb203cf Branch: refs/heads/develop Commit: 8bb203cfe42883304ab6f24b5b063dc327029755 Parents: fa2f16f Author: Harbs <[email protected]> Authored: Fri Jan 1 12:28:07 2016 +0200 Committer: Harbs <[email protected]> Committed: Fri Jan 1 12:28:07 2016 +0200 ---------------------------------------------------------------------- .../internal/codegen/js/flexjs/TestFlexJSGlobalClasses.java | 9 +++++++++ .../internal/codegen/js/jx/BinaryOperatorEmitter.java | 8 ++++++++ 2 files changed, 17 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/8bb203cf/compiler.jx.tests/src/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSGlobalClasses.java ---------------------------------------------------------------------- diff --git a/compiler.jx.tests/src/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSGlobalClasses.java b/compiler.jx.tests/src/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSGlobalClasses.java index 3b130f5..c8a2993 100644 --- a/compiler.jx.tests/src/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSGlobalClasses.java +++ b/compiler.jx.tests/src/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSGlobalClasses.java @@ -382,6 +382,15 @@ public class TestFlexJSGlobalClasses extends TestGoogGlobalClasses 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"); } + + + @Test + public void testXMLEqualsXML() + { + IBinaryOperatorNode node = getBinaryNode("var a:XML = new XML(\"<top attr1='cat'><child attr2='dog'><grandchild attr3='fish'>text</grandchild></child></top>\");a == a"); + asBlockWalker.visitBinaryOperator(node); + assertOut("a.equals(a)"); + } @Ignore public void testNamespaceNoArg() http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/8bb203cf/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/BinaryOperatorEmitter.java ---------------------------------------------------------------------- diff --git a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/BinaryOperatorEmitter.java b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/BinaryOperatorEmitter.java index 38935e2..e1e6bcd 100644 --- a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/BinaryOperatorEmitter.java +++ b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/BinaryOperatorEmitter.java @@ -172,6 +172,14 @@ public class BinaryOperatorEmitter extends JSSubEmitter implements write(ASEmitterTokens.PAREN_CLOSE); return; } + else if (node.getNodeID() == ASTNodeID.Op_EqualID) + { + getWalker().walk(xmlNode); + write(".equals("); + getWalker().walk(node.getRightOperandNode()); + write(ASEmitterTokens.PAREN_CLOSE); + return; + } } }
