Repository: flex-falcon
Updated Branches:
  refs/heads/develop aac9a3864 -> f5d0e2aab


don't call toString() in number conversions


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

Branch: refs/heads/develop
Commit: f5d0e2aabae58a665a02bd0e69e322bf974b519a
Parents: aac9a38
Author: Alex Harui <[email protected]>
Authored: Fri Aug 5 14:33:58 2016 -0700
Committer: Alex Harui <[email protected]>
Committed: Fri Aug 5 14:33:58 2016 -0700

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


http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/f5d0e2aa/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 1ac5e37..35e1364 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
@@ -288,7 +288,7 @@ public class BinaryOperatorEmitter extends JSSubEmitter 
implements
                }
             }
             super_emitBinaryOperator(node, leftIsNumber, rightIsNumber);
-            if (leftDef != null && 
leftDef.getQualifiedName().equals(IASLanguageConstants.String) || (leftIsNumber 
&& !rightIsNumber))
+            if (leftDef != null && 
leftDef.getQualifiedName().equals(IASLanguageConstants.String))
             {
                if (rNode.getNodeID() != ASTNodeID.LiteralStringID &&
                                rNode.getNodeID() != ASTNodeID.LiteralNullID)

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/f5d0e2aa/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/jx/VarDeclarationEmitter.java
----------------------------------------------------------------------
diff --git 
a/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/jx/VarDeclarationEmitter.java
 
b/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/jx/VarDeclarationEmitter.java
index d1a3ed2..6beafcd 100644
--- 
a/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/jx/VarDeclarationEmitter.java
+++ 
b/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/jx/VarDeclarationEmitter.java
@@ -138,8 +138,7 @@ public class VarDeclarationEmitter extends JSSubEmitter 
implements
             if (variableTypeNode.getNodeID() == ASTNodeID.IdentifierID &&
                
((IdentifierNode)variableTypeNode).getName().equals(IASLanguageConstants.String)
 &&
                (avdef == null || 
(!avdef.getQualifiedName().equals(IASLanguageConstants.String) &&
-                                           
!avdef.getQualifiedName().equals(IASLanguageConstants.Null))) ||
-                                           (varIsNumber && !valIsNumber))
+                                           
!avdef.getQualifiedName().equals(IASLanguageConstants.Null))))
                write(".toString()");
             if (varIsNumber && !valIsNumber)
                write(")");

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/f5d0e2aa/compiler-jx/src/test/java/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSExpressions.java
----------------------------------------------------------------------
diff --git 
a/compiler-jx/src/test/java/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSExpressions.java
 
b/compiler-jx/src/test/java/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSExpressions.java
index 0bd3440..64b9cc2 100644
--- 
a/compiler-jx/src/test/java/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSExpressions.java
+++ 
b/compiler-jx/src/test/java/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSExpressions.java
@@ -923,7 +923,7 @@ public class TestFlexJSExpressions extends 
TestGoogExpressions
         IVariableNode node = (IVariableNode) getNode(
                 "var a = ((a + b) - (c + d)) * e;", IVariableNode.class);
         asBlockWalker.visitVariable(node);
-        assertOut("var /** @type {*} */ a = ((a + b) - (c + d)) * 
Number(e.toString())");
+        assertOut("var /** @type {*} */ a = ((a + b) - (c + d)) * Number(e)");
     }
 
     @Test

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/f5d0e2aa/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 c60768e..504674f 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
@@ -531,13 +531,14 @@ public class TestFlexJSGlobalClasses extends 
TestGoogGlobalClasses
         assertOut("b = a.attribute('attr1').toString()");
     }
     
+    @Test
     public void testXMLAttributeToNumber()
     {
         IVariableNode node = getVariable("var a:XML = new XML(\"<top 
attr1='cat'><child attr2='dog'><grandchild 
attr3='fish'>text</grandchild></child></top>\");var b:Number = a.@attr1;");
         IASNode parentNode = node.getParent();
         node = (IVariableNode) parentNode.getChild(1);
         asBlockWalker.visitVariable(node);
-        assertOut("var /** @type {number} */ b = 
Number(a.attribute('attr1').toString())");
+        assertOut("var /** @type {number} */ b = 
Number(a.attribute('attr1'))");
     }
     
     @Test
@@ -545,7 +546,7 @@ public class TestFlexJSGlobalClasses extends 
TestGoogGlobalClasses
     {
        IBinaryOperatorNode node = (IBinaryOperatorNode)getNode("var a:XML = 
new XML(\"<top attr1='cat'><child attr2='dog'><grandchild 
attr3='fish'>text</grandchild></child></top>\");var b:Number; b = a.@attr1;", 
IBinaryOperatorNode.class);
         asBlockWalker.visitBinaryOperator(node);
-        assertOut("b = Number(a.attribute('attr1').toString())");
+        assertOut("b = Number(a.attribute('attr1'))");
     }
     
     @Test

Reply via email to