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
The following commit(s) were added to refs/heads/develop by this push:
new 7d583da57 MXMLRoyaleEmitter: don't assign property in factory method
if it uses data binding
7d583da57 is described below
commit 7d583da57d8667c2e67435c0aafb3292478e7ccd
Author: Josh Tynjala <[email protected]>
AuthorDate: Tue Mar 17 13:55:09 2026 -0700
MXMLRoyaleEmitter: don't assign property in factory method if it uses data
binding
It was emitting nothing, resulting in a JS syntax error.
---
.../compiler/internal/codegen/mxml/royale/MXMLRoyaleEmitter.java | 7 +++++--
1 file changed, 5 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 a4683dfcd..480ede2ee 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
@@ -5117,6 +5117,11 @@ public class MXMLRoyaleEmitter extends MXMLEmitter
implements
{
for (IMXMLPropertySpecifierNode pnode : pnodes)
{
+ IMXMLInstanceNode valueNode = (IMXMLInstanceNode)
pnode.getChild(0);
+ if (valueNode instanceof IMXMLDataBindingNode)
+ {
+ continue;
+ }
if (pnode instanceof IMXMLStyleSpecifierNode)
{
write(varName);
@@ -5129,7 +5134,6 @@ public class MXMLRoyaleEmitter extends MXMLEmitter
implements
writeToken(ASEmitterTokens.COMMA);
write(ASEmitterTokens.THIS);
write(ASEmitterTokens.MEMBER_ACCESS);
- IMXMLInstanceNode valueNode = (IMXMLInstanceNode)
pnode.getChild(0);
emitValueOrFactoryMethodCall(valueNode);
write(ASEmitterTokens.PAREN_CLOSE);
write(ASEmitterTokens.SEMICOLON);
@@ -5142,7 +5146,6 @@ public class MXMLRoyaleEmitter extends MXMLEmitter
implements
write(pnode.getName());
write(ASEmitterTokens.SPACE);
writeToken(ASEmitterTokens.EQUAL);
- IMXMLInstanceNode valueNode = (IMXMLInstanceNode)
pnode.getChild(0);
emitValueOrFactoryMethodCall(valueNode);
write(ASEmitterTokens.SEMICOLON);
writeNewline();