You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@royale.apache.org by ah...@apache.org on 2020/02/06 19:06:15 UTC
[royale-compiler] branch develop updated: handle children of
toptags that are instances but the top tag doesn't have a default property.
Such as Cairngorm's ServiceLocator
This is an automated email from the ASF dual-hosted git repository.
aharui pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/royale-compiler.git
The following commit(s) were added to refs/heads/develop by this push:
new f8d73d2 handle children of toptags that are instances but the top tag doesn't have a default property. Such as Cairngorm's ServiceLocator
f8d73d2 is described below
commit f8d73d2ba15aa824626cea94116e5bf82288d7ff
Author: Alex Harui <ah...@apache.org>
AuthorDate: Thu Feb 6 10:59:26 2020 -0800
handle children of toptags that are instances but the top tag doesn't have a default property. Such as Cairngorm's ServiceLocator
---
.../internal/codegen/mxml/royale/MXMLRoyaleEmitter.java | 16 ++++++++++++++--
1 file changed, 14 insertions(+), 2 deletions(-)
diff --git a/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/mxml/royale/MXMLRoyaleEmitter.java b/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/mxml/royale/MXMLRoyaleEmitter.java
index 9d1fa86..b89850d 100644
--- a/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/mxml/royale/MXMLRoyaleEmitter.java
+++ b/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/mxml/royale/MXMLRoyaleEmitter.java
@@ -2342,8 +2342,20 @@ public class MXMLRoyaleEmitter extends MXMLEmitter implements
descriptorTree.add(currentInstance);
else
{
- currentInstance.parent = propertiesTree;
- propertiesTree.propertySpecifiers.add(currentInstance);
+ // we get here if a instance is a child of a top-level tag
+ // and there is no default property. If there are other
+ // ways to get here, then the code will need adjusting.
+
+ // this code assumes that the children will have an id
+ // and will just create properties with the children's id
+ // on the class.
+ MXMLDescriptorSpecifier prop = new MXMLDescriptorSpecifier();
+ prop.isProperty = true;
+ prop.name = id;
+ prop.parent = propertiesTree;
+ propertiesTree.propertySpecifiers.add(prop);
+ currentInstance.parent = prop;
+ prop.propertySpecifiers.add(currentInstance);
}
addInstanceIfNeeded(instances, currentInstance);