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)
