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 2016/05/05 05:28:01 UTC

git commit: [flex-falcon] [refs/heads/develop] - bindable vars with complex initializers were not being emitted

Repository: flex-falcon
Updated Branches:
  refs/heads/develop ffd49309b -> b921b9b5a


bindable vars with complex initializers were not being emitted


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

Branch: refs/heads/develop
Commit: b921b9b5afdd5268839231d492d0d96fa8b85f86
Parents: ffd4930
Author: Alex Harui <ah...@apache.org>
Authored: Wed May 4 22:27:39 2016 -0700
Committer: Alex Harui <ah...@apache.org>
Committed: Wed May 4 22:27:57 2016 -0700

----------------------------------------------------------------------
 .../internal/codegen/mxml/flexjs/MXMLFlexJSEmitter.java        | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/b921b9b5/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/mxml/flexjs/MXMLFlexJSEmitter.java
----------------------------------------------------------------------
diff --git a/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/mxml/flexjs/MXMLFlexJSEmitter.java b/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/mxml/flexjs/MXMLFlexJSEmitter.java
index 8beba40..a536f9b 100644
--- a/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/mxml/flexjs/MXMLFlexJSEmitter.java
+++ b/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/mxml/flexjs/MXMLFlexJSEmitter.java
@@ -2280,7 +2280,9 @@ public class MXMLFlexJSEmitter extends MXMLEmitter implements
     			for (int j = 0; j < m; j++)
     			{
     				IASNode schild = child.getChild(j);
-    				if (schild.getNodeID() == ASTNodeID.VariableID)
+    				ASTNodeID schildID = schild.getNodeID();
+    				if (schildID == ASTNodeID.VariableID ||
+    						schildID == ASTNodeID.BindableVariableID)
     				{
     					IVariableNode varnode = (IVariableNode)schild;
     			        IExpressionNode vnode = varnode.getAssignedValueNode();
@@ -2290,6 +2292,8 @@ public class MXMLFlexJSEmitter extends MXMLEmitter implements
     	                    write(ASEmitterTokens.THIS);
     	                    write(ASEmitterTokens.MEMBER_ACCESS);
     	                    write(varnode.getName());
+    	                    if (schildID == ASTNodeID.BindableVariableID)
+    	                    	write("_"); // use backing variable
     	                    write(ASEmitterTokens.SPACE);
     	                    writeToken(ASEmitterTokens.EQUAL);
     	                    JSFlexJSEmitter fjs = (JSFlexJSEmitter) ((IMXMLBlockWalker) getMXMLWalker())