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;
+            	}
             }
 
         }