You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by ah...@apache.org on 2013/04/20 02:18:14 UTC

[3/6] git commit: [flex-falcon] - Handle 'not ternary'

Handle 'not ternary'


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

Branch: refs/heads/develop
Commit: 32186ca1bca69ea57d1be56c19199701a6164344
Parents: c30116a
Author: Alex Harui <ah...@apache.org>
Authored: Fri Apr 19 09:44:57 2013 -0700
Committer: Alex Harui <ah...@apache.org>
Committed: Fri Apr 19 10:37:01 2013 -0700

----------------------------------------------------------------------
 .../compiler/internal/codegen/as/ASEmitter.java    |   14 +++++++++++++-
 1 files changed, 13 insertions(+), 1 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/32186ca1/compiler.jx/src/org/apache/flex/compiler/internal/codegen/as/ASEmitter.java
----------------------------------------------------------------------
diff --git a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/as/ASEmitter.java b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/as/ASEmitter.java
index 19955e3..621105e 100644
--- a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/as/ASEmitter.java
+++ b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/as/ASEmitter.java
@@ -42,6 +42,8 @@ import org.apache.flex.compiler.internal.tree.as.ChainedVariableNode;
 import org.apache.flex.compiler.internal.tree.as.ContainerNode;
 import org.apache.flex.compiler.internal.tree.as.FunctionNode;
 import org.apache.flex.compiler.internal.tree.as.LabeledStatementNode;
+import org.apache.flex.compiler.internal.tree.as.NamespaceAccessExpressionNode;
+import org.apache.flex.compiler.internal.tree.as.TernaryOperatorNode;
 import org.apache.flex.compiler.problems.ICompilerProblem;
 import org.apache.flex.compiler.tree.ASTNodeID;
 import org.apache.flex.compiler.tree.as.IASNode;
@@ -1379,7 +1381,17 @@ public class ASEmitter implements IASEmitter, IEmitter
                 || node.getNodeID() == ASTNodeID.Op_AddID)
         {
             write(node.getOperator().getOperatorText());
-            getWalker().walk(node.getOperandNode());
+            IExpressionNode opNode = node.getOperandNode();
+            if (opNode instanceof TernaryOperatorNode)
+            {
+                write(ASEmitterTokens.PAREN_OPEN);
+                getWalker().walk(node.getOperandNode());
+                write(ASEmitterTokens.PAREN_CLOSE);
+            }
+            else
+            {
+                getWalker().walk(node.getOperandNode());            
+            }
         }
 
         else if (node.getNodeID() == ASTNodeID.Op_PostIncrID