You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@royale.apache.org by gr...@apache.org on 2020/06/29 04:38:05 UTC
[royale-compiler] branch develop updated: Fix for an issue that was
observed only with IDE integration (false positive
DuplicateFunctionDefinition problem)
This is an automated email from the ASF dual-hosted git repository.
gregdove 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 454123f Fix for an issue that was observed only with IDE integration (false positive DuplicateFunctionDefinition problem)
454123f is described below
commit 454123fe3a74af8ed5a73be634d1000760a84ba3
Author: greg-dove <gr...@gmail.com>
AuthorDate: Mon Jun 29 16:36:27 2020 +1200
Fix for an issue that was observed only with IDE integration (false positive DuplicateFunctionDefinition problem)
---
.../compiler/internal/as/codegen/ClassDirectiveProcessor.java | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/compiler/src/main/java/org/apache/royale/compiler/internal/as/codegen/ClassDirectiveProcessor.java b/compiler/src/main/java/org/apache/royale/compiler/internal/as/codegen/ClassDirectiveProcessor.java
index 2f45c11..281a973 100644
--- a/compiler/src/main/java/org/apache/royale/compiler/internal/as/codegen/ClassDirectiveProcessor.java
+++ b/compiler/src/main/java/org/apache/royale/compiler/internal/as/codegen/ClassDirectiveProcessor.java
@@ -1006,6 +1006,13 @@ class ClassDirectiveProcessor extends DirectiveProcessor
for (int i=0;i< others.getSize(); i++) {
IDefinition other = others.getDefinition(i);
if (other == func) continue;
+ //ignore code-gen Bindable setters if we are checking against the original setter
+ if ((func instanceof SyntheticBindableSetterDefinition && other instanceof ISetterDefinition)
+ || (other instanceof SyntheticBindableSetterDefinition && func instanceof ISetterDefinition)
+ && (func.getNode().equals(other.getNode()))
+ ) {
+ continue;
+ }
if (other.getNamespaceReference().isLanguageNamespace()) {
if (!SemanticUtils.isGetterSetterPair(func, other, classScope.getProject())) {
boolean issueProblem = true;