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 be64aa70d3d876c1816db8ac3faee4697e300507
Author: Josh Tynjala <[email protected]>
AuthorDate: Wed Mar 5 12:39:53 2025 -0800

    compiler-jx: some places were missing needLanguage = true
---
 .../compiler/internal/codegen/js/jx/BinaryOperatorEmitter.java    | 5 +++++
 .../royale/compiler/internal/codegen/js/jx/IdentifierEmitter.java | 4 ++++
 .../compiler/internal/codegen/js/jx/UnaryOperatorEmitter.java     | 7 ++++++-
 .../compiler/internal/codegen/mxml/royale/MXMLRoyaleEmitter.java  | 8 ++++++++
 4 files changed, 23 insertions(+), 1 deletion(-)

diff --git 
a/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/jx/BinaryOperatorEmitter.java
 
b/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/jx/BinaryOperatorEmitter.java
index b5b3b37ba..507d4765c 100644
--- 
a/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/jx/BinaryOperatorEmitter.java
+++ 
b/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/jx/BinaryOperatorEmitter.java
@@ -731,6 +731,11 @@ public class BinaryOperatorEmitter extends JSSubEmitter 
implements
                                write(ASEmitterTokens.SQUARE_CLOSE);
                                write(ASEmitterTokens.MEMBER_ACCESS);
                                getWalker().walk(((MemberAccessExpressionNode) 
node.getLeftOperandNode()).getRightOperandNode());
+                               if (getProject() instanceof RoyaleJSProject)
+                               {
+                                       
((RoyaleJSProject)getProject()).needLanguage = true;
+                               }
+                               getModel().needLanguage = true;
                        }
                        else if (isAssignment && node.getLeftOperandNode() 
instanceof NamespaceAccessExpressionNode)
                        {
diff --git 
a/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/jx/IdentifierEmitter.java
 
b/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/jx/IdentifierEmitter.java
index 0bd622e27..83a3ea1f0 100644
--- 
a/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/jx/IdentifierEmitter.java
+++ 
b/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/jx/IdentifierEmitter.java
@@ -295,6 +295,10 @@ public class IdentifierEmitter extends JSSubEmitter 
implements
                 {
                     if (NativeUtils.isSyntheticJSType(qname) && !(parentNode 
instanceof IFunctionCallNode))
                     {
+                        if (project instanceof RoyaleJSProject)
+                        {
+                            ((RoyaleJSProject)project).needLanguage = true;
+                        }
                         getEmitter().getModel().needLanguage = true;
                         write(JSRoyaleEmitterTokens.SYNTH_TYPE);
                         write(ASEmitterTokens.PAREN_OPEN);
diff --git 
a/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/jx/UnaryOperatorEmitter.java
 
b/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/jx/UnaryOperatorEmitter.java
index bc040e7c1..6f9a990e5 100644
--- 
a/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/jx/UnaryOperatorEmitter.java
+++ 
b/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/jx/UnaryOperatorEmitter.java
@@ -25,6 +25,7 @@ import 
org.apache.royale.compiler.internal.codegen.as.ASEmitterTokens;
 import org.apache.royale.compiler.internal.codegen.js.JSSubEmitter;
 import 
org.apache.royale.compiler.internal.codegen.js.royale.JSRoyaleEmitterTokens;
 import org.apache.royale.compiler.internal.definitions.AppliedVectorDefinition;
+import org.apache.royale.compiler.internal.projects.RoyaleJSProject;
 import org.apache.royale.compiler.internal.tree.as.*;
 import org.apache.royale.compiler.tree.ASTNodeID;
 import org.apache.royale.compiler.tree.as.IExpressionNode;
@@ -58,7 +59,11 @@ public class UnaryOperatorEmitter extends JSSubEmitter 
implements
         ) {
             //support for output of alternate length setter, example: 
vectorInst.length++ as vectorInst['_synthType'].length++
             //likewise for pre/post increment/decrement
-            
+            if (getProject() instanceof RoyaleJSProject)
+            {
+                ((RoyaleJSProject)getProject()).needLanguage = true;
+            }
+            getModel().needLanguage = true;
             String synthTagName = 
JSRoyaleEmitterTokens.LANGUAGE_QNAME.getToken() + 
ASEmitterTokens.MEMBER_ACCESS.getToken() + 
JSRoyaleEmitterTokens.ROYALE_SYNTH_TAG_FIELD_NAME.getToken();
             LiteralNode synthType = new 
LiteralNode(ILiteralNode.LiteralType.STRING, synthTagName);
             synthType.setSynthetic(true);
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 e357fb74a..f97e80f45 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
@@ -2829,6 +2829,14 @@ public class MXMLRoyaleEmitter extends MXMLEmitter 
implements
                                eventHandler + 
ASEmitterTokens.SINGLE_QUOTE.getToken() +
                        ASEmitterTokens.PAREN_CLOSE.getToken();
         setEvent.propertySpecifiers.add(handler);
+
+        JSRoyaleEmitter fjs = (JSRoyaleEmitter) ((IMXMLBlockWalker) 
getMXMLWalker())
+                .getASEmitter();
+        fjs.getModel().needLanguage = true;
+        if (project instanceof RoyaleJSProject)
+        {
+            ((RoyaleJSProject)project).needLanguage = true;
+        }
     }
 
     public void emitInstanceOverride(IMXMLInstanceNode instanceNode, 
IMXMLStateNode state)

Reply via email to