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 <aha...@apache.org> Authored: Fri Apr 19 09:44:57 2013 -0700 Committer: Alex Harui <aha...@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