ClosureUtils: some forward-looking tweaks to detecting symbols to export (but behavior currently remains the same)
diff --git a/compiler-jx/src/main/java/org/apache/royale/compiler/utils/ClosureUtils.java b/compiler-jx/src/main/java/org/apache/royale/compiler/utils/ClosureUtils.java
index 78c2ea7..819af3c 100644
--- a/compiler-jx/src/main/java/org/apache/royale/compiler/utils/ClosureUtils.java
+++ b/compiler-jx/src/main/java/org/apache/royale/compiler/utils/ClosureUtils.java
@@ -173,18 +173,22 @@
boolean isPublic = nsRef instanceof INamespaceDefinition.IPublicNamespaceDefinition;
boolean isProtected = nsRef instanceof INamespaceDefinition.IProtectedNamespaceDefinition
|| nsRef instanceof INamespaceDefinition.IStaticProtectedNamespaceDefinition;
- if (localDef instanceof IFunctionDefinition && !(localDef instanceof IVariableDefinition)
- && localDef.isStatic() && isPublic)
+ if (localDef instanceof IFunctionDefinition
+ && !(localDef instanceof IAccessorDefinition)
+ // the next two conditions are temporary
+ // and more symbols will be exported in the future
+ && localDef.isStatic()
+ && isPublic)
{
if ((isPublic && exportPublic) || (isProtected && exportProtected))
{
if (isFilePrivate)
{
- filePrivateNames.add(qualifiedName + "." + localDef.getBaseName());
+ filePrivateNames.add(qualifiedName + (localDef.isStatic() ? "." : ".prototype.") + localDef.getBaseName());
}
else
{
- symbolsResult.add(qualifiedName + "." + localDef.getBaseName());
+ symbolsResult.add(qualifiedName + (localDef.isStatic() ? "." : ".prototype.") + localDef.getBaseName());
}
}
}