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
The following commit(s) were added to refs/heads/develop by this push:
new 9235fbc ClosureUtils: fix bindable variables not being detected as
accessors
9235fbc is described below
commit 9235fbce7c604052eace4c3ed083b9965a0c1f86
Author: Josh Tynjala <[email protected]>
AuthorDate: Thu Dec 17 14:48:39 2020 -0800
ClosureUtils: fix bindable variables not being detected as accessors
---
.../java/org/apache/royale/compiler/utils/ClosureUtils.java | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
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 @@ public class ClosureUtils
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 @@ public class ClosureUtils
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();