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 2018/09/28 03:34:59 UTC
[royale-compiler] 03/03: handle cases where we skip generating the
defineProps structure
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
commit eb6ea11a31bd3cd34544bf8455eb62a1fb0da118
Author: Alex Harui <ah...@apache.org>
AuthorDate: Thu Sep 27 20:34:11 2018 -0700
handle cases where we skip generating the defineProps structure
---
.../compiler/internal/codegen/mxml/royale/MXMLRoyaleEmitter.java | 8 ++++++--
1 file changed, 6 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 75de94d..fcf3194 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
@@ -1695,7 +1695,8 @@ public class MXMLRoyaleEmitter extends MXMLEmitter implements
}
//--------------------------------------------------------------------------
-
+ private boolean skippedDefineProps;
+
protected void emitPropertyGetterSetters(String cname)
{
int n = 0;
@@ -1708,7 +1709,10 @@ public class MXMLRoyaleEmitter extends MXMLEmitter implements
}
if (n == 0 && (descriptorTree.size() == 0 ||
descriptorTree.size() == 1 && descriptorTree.get(0).propertySpecifiers.size() == 0))
+ {
+ skippedDefineProps = true;
return;
+ }
String formattedCName = formatQualifiedName(cname);
@@ -1767,7 +1771,7 @@ public class MXMLRoyaleEmitter extends MXMLEmitter implements
RoyaleJSProject project = (RoyaleJSProject) getMXMLWalker().getProject();
project.needLanguage = true;
MXMLDescriptorSpecifier root = descriptorTree.get(0);
- if (root.propertySpecifiers.size() == 0)
+ if (root.propertySpecifiers.size() == 0 && skippedDefineProps)
return; // all declarations were primitives
root.isTopNode = false;