ClosureUtils: fix bindable variables not being detected as accessors
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 1ae51eb..fdf611c 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
@@ -115,8 +115,10 @@
boolean isMethod = localDef instanceof IFunctionDefinition
&& !(localDef instanceof IAccessorDefinition);
boolean isVar = localDef instanceof IVariableDefinition
- && !(localDef instanceof IAccessorDefinition);
- boolean isAccessor = localDef instanceof IAccessorDefinition;
+ && !(localDef instanceof IAccessorDefinition)
+ && !localDef.isBindable();
+ boolean isAccessor = localDef instanceof IAccessorDefinition
+ || (localDef instanceof IVariableDefinition && localDef.isBindable());
if(localDef.isPublic() || isCustomNS)
{
if(!preventRenamePublicSymbols)
@@ -317,8 +319,10 @@
boolean isMethod = localDef instanceof IFunctionDefinition
&& !(localDef instanceof IAccessorDefinition);
boolean isVar = localDef instanceof IVariableDefinition
- && !(localDef instanceof IAccessorDefinition);
- boolean isAccessor = localDef instanceof IAccessorDefinition;
+ && !(localDef instanceof IAccessorDefinition)
+ && !localDef.isBindable();
+ boolean isAccessor = localDef instanceof IAccessorDefinition
+ || (localDef instanceof IVariableDefinition && localDef.isBindable());
if (isMethod || isVar || isAccessor)
{
INamespaceReference nsRef = localDef.getNamespaceReference();