From 86e8a1d4105970588c022a8a9aac08d4f8402589 Mon Sep 17 00:00:00 2001 From: Andrey Breslav Date: Thu, 19 Jun 2014 14:03:06 +0400 Subject: [PATCH] Do not report declaration clashes on MANY_IMPL_MEMBER_NOT_IMPLEMENTED --- .../src/org/jetbrains/jet/asJava/duplicateJvmSignatureUtil.kt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/compiler/jet.as.java.psi/src/org/jetbrains/jet/asJava/duplicateJvmSignatureUtil.kt b/compiler/jet.as.java.psi/src/org/jetbrains/jet/asJava/duplicateJvmSignatureUtil.kt index 5f07845271a..823f2241eba 100644 --- a/compiler/jet.as.java.psi/src/org/jetbrains/jet/asJava/duplicateJvmSignatureUtil.kt +++ b/compiler/jet.as.java.psi/src/org/jetbrains/jet/asJava/duplicateJvmSignatureUtil.kt @@ -73,7 +73,9 @@ public fun getJvmSignatureDiagnostics(element: PsiElement, otherDiagnostics: Dia class FilteredJvmDiagnostics(val jvmDiagnostics: Diagnostics, val otherDiagnostics: Diagnostics) : Diagnostics by jvmDiagnostics { private fun alreadyReported(psiElement: PsiElement): Boolean { - return otherDiagnostics.forElement(psiElement).any { it.getFactory() in setOf>(CONFLICTING_OVERLOADS, REDECLARATION, NOTHING_TO_OVERRIDE) } + val higherPriority = setOf>( + CONFLICTING_OVERLOADS, REDECLARATION, NOTHING_TO_OVERRIDE, MANY_IMPL_MEMBER_NOT_IMPLEMENTED) + return otherDiagnostics.forElement(psiElement).any { it.getFactory() in higherPriority } || psiElement is JetPropertyAccessor && alreadyReported(psiElement.getParent()!!) }