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