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 a5f549f577eb3e20b229c56995fb275cc18f5918 Author: Josh Tynjala <[email protected]> AuthorDate: Fri Jun 5 16:34:31 2026 -0700 MemberAccessEmitter: don't include closure() around package-level functions (just non-static members) --- .../royale/compiler/internal/codegen/js/jx/MemberAccessEmitter.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/jx/MemberAccessEmitter.java b/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/jx/MemberAccessEmitter.java index 20e285532..5191a587a 100644 --- a/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/jx/MemberAccessEmitter.java +++ b/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/jx/MemberAccessEmitter.java @@ -26,6 +26,7 @@ import org.apache.royale.compiler.constants.IASKeywordConstants; import org.apache.royale.compiler.constants.IASLanguageConstants; import org.apache.royale.compiler.constants.INamespaceConstants; import org.apache.royale.compiler.definitions.*; +import org.apache.royale.compiler.definitions.IFunctionDefinition.FunctionClassification; import org.apache.royale.compiler.internal.codegen.as.ASEmitterTokens; import org.apache.royale.compiler.internal.codegen.js.JSEmitterTokens; import org.apache.royale.compiler.internal.codegen.js.JSSubEmitter; @@ -189,6 +190,7 @@ public class MemberAccessEmitter extends JSSubEmitter implements // we need a closure if this MAE is the top-level in a chain // of MAE and not in a function call. needClosure = !isStatic && parentNodeId != ASTNodeID.FunctionCallID && + ((IFunctionDefinition) def).getFunctionClassification() == FunctionClassification.CLASS_MEMBER && parentNodeId != ASTNodeID.MemberAccessExpressionID && parentNodeId != ASTNodeID.ArrayIndexExpressionID;
