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 2014/11/15 07:28:30 UTC
[8/8] git commit: [flex-falcon] [refs/heads/develop] - only wrap ++
in parens in certain cases
only wrap ++ in parens in certain cases
Project: http://git-wip-us.apache.org/repos/asf/flex-falcon/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-falcon/commit/096bc855
Tree: http://git-wip-us.apache.org/repos/asf/flex-falcon/tree/096bc855
Diff: http://git-wip-us.apache.org/repos/asf/flex-falcon/diff/096bc855
Branch: refs/heads/develop
Commit: 096bc85587edf2062408cd86971d06941ed747dd
Parents: e7f31d1
Author: Alex Harui <ah...@apache.org>
Authored: Fri Nov 14 22:27:52 2014 -0800
Committer: Alex Harui <ah...@apache.org>
Committed: Fri Nov 14 22:27:52 2014 -0800
----------------------------------------------------------------------
.../internal/codegen/js/flexjs/JSFlexJSEmitter.java | 15 +++++++++++----
1 file changed, 11 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/096bc855/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/flexjs/JSFlexJSEmitter.java
----------------------------------------------------------------------
diff --git a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/flexjs/JSFlexJSEmitter.java b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/flexjs/JSFlexJSEmitter.java
index 5e4951b..52f5303 100644
--- a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/flexjs/JSFlexJSEmitter.java
+++ b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/flexjs/JSFlexJSEmitter.java
@@ -62,6 +62,7 @@ import org.apache.flex.compiler.internal.tree.as.ChainedVariableNode;
import org.apache.flex.compiler.internal.tree.as.ClassNode;
import org.apache.flex.compiler.internal.tree.as.FunctionCallNode;
import org.apache.flex.compiler.internal.tree.as.FunctionNode;
+import org.apache.flex.compiler.internal.tree.as.MemberAccessExpressionNode;
import org.apache.flex.compiler.internal.tree.as.ParameterNode;
import org.apache.flex.compiler.internal.tree.as.RegExpLiteralNode;
import org.apache.flex.compiler.internal.tree.as.UnaryOperatorAtNode;
@@ -1762,10 +1763,16 @@ public class JSFlexJSEmitter extends JSGoogEmitter implements IJSFlexJSEmitter
}
else
{
- write(ASEmitterTokens.PAREN_OPEN);
- super.emitUnaryOperator(node);
- write(ASEmitterTokens.PAREN_CLOSE);
- return;
+ IASNode parentNode = node.getParent();
+ if (parentNode.getNodeID() == ASTNodeID.MemberAccessExpressionID &&
+ ((MemberAccessExpressionNode)parentNode).getLeftOperandNode() == node)
+ {
+ // GCC wanted parens around foo++.toString(). As in (foo++).toString();
+ write(ASEmitterTokens.PAREN_OPEN);
+ super.emitUnaryOperator(node);
+ write(ASEmitterTokens.PAREN_CLOSE);
+ return;
+ }
}
}