You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@royale.apache.org by gr...@apache.org on 2021/11/18 09:05:56 UTC
[royale-compiler] branch develop updated: Fixes #197. Similar to #196
This is an automated email from the ASF dual-hosted git repository.
gregdove 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 54c322b Fixes #197. Similar to #196
54c322b is described below
commit 54c322b5be5203756b201875747dc93a9eef8e24
Author: greg-dove <gr...@gmail.com>
AuthorDate: Thu Nov 18 22:05:22 2021 +1300
Fixes #197. Similar to #196
---
.../compiler/internal/codegen/mxml/royale/MXMLRoyaleEmitter.java | 6 ++++--
1 file changed, 4 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 7744ebc..ff78da9 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
@@ -3113,7 +3113,8 @@ public class MXMLRoyaleEmitter extends MXMLEmitter implements
if (!makingSimpleArray)
{
MXMLDescriptorSpecifier ps = getCurrentDescriptor("ps");
- if (ps.hasObject || ps.parent == null) //('ps.parent == null' was added to allow a top level fx:Object definition, they were not being output without that)
+ //GD - hasArray below allows a dataProvider with <fx:Object's>
+ if (ps.hasObject || ps.hasArray || ps.parent == null) //('ps.parent == null' was added to allow a top level fx:Object definition, they were not being output without that)
{
emitInstance(node);
return;
@@ -3156,7 +3157,8 @@ public class MXMLRoyaleEmitter extends MXMLEmitter implements
{
final IASNode child = node.getChild(i);
ASTNodeID nodeID = child.getNodeID();
- if (nodeID == ASTNodeID.MXMLArrayID || nodeID == ASTNodeID.MXMLInstanceID || nodeID == ASTNodeID.MXMLStateID)
+ //a single <fx:Object> inside an array also makes it non-simple (@todo test mixed simple and non-simple)
+ if (nodeID == ASTNodeID.MXMLArrayID || nodeID == ASTNodeID.MXMLInstanceID || nodeID == ASTNodeID.MXMLObjectID || nodeID == ASTNodeID.MXMLStateID)
{
isSimple = false;
break;