This is an automated email from the ASF dual-hosted git repository. joshtynjala pushed a commit to branch develop in repository https://gitbox.apache.org/repos/asf/royale-compiler.git
commit 8049d70b3050bc88a9b987038c456cf19dc0d91c Author: Josh Tynjala <[email protected]> AuthorDate: Tue May 25 14:57:30 2021 -0700 BindingInfo: fixed that destination string was missing this. when binding directly to MXML primitives like Array/String/Number --- .../internal/codegen/databinding/BindingInfo.java | 26 ++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/compiler/src/main/java/org/apache/royale/compiler/internal/codegen/databinding/BindingInfo.java b/compiler/src/main/java/org/apache/royale/compiler/internal/codegen/databinding/BindingInfo.java index d312941..fc907de 100644 --- a/compiler/src/main/java/org/apache/royale/compiler/internal/codegen/databinding/BindingInfo.java +++ b/compiler/src/main/java/org/apache/royale/compiler/internal/codegen/databinding/BindingInfo.java @@ -303,14 +303,36 @@ public class BindingInfo implements Comparable<BindingInfo> // We are an MXML primitive (like sf:String), so the dest string is just our ID String id = ((IMXMLExpressionNode)parent).getEffectiveID(); assert id != null; - destString = id; + + IMXMLClassReferenceNode propertyParent = (IMXMLClassReferenceNode) + parent.getAncestorOfType(IMXMLClassReferenceNode.class); + assert propertyParent != null; + if (propertyParent instanceof IMXMLClassDefinitionNode) + { + destString = "this." + id; + } + else + { + destString = id; + } } else if (parent instanceof IMXMLArrayNode) { // We are an MXML primitive, so the dest string is just our ID String id = ((IMXMLArrayNode)parent).getEffectiveID(); assert id != null; - destString = id; + + IMXMLClassReferenceNode propertyParent = (IMXMLClassReferenceNode) + parent.getAncestorOfType(IMXMLClassReferenceNode.class); + assert propertyParent != null; + if (propertyParent instanceof IMXMLClassDefinitionNode) + { + destString = "this." + id; + } + else + { + destString = id; + } } else if (parent instanceof IMXMLModelPropertyNode) {
