From 61c7c2f1a1b53552ac7ed1604ae46708fbecb019 Mon Sep 17 00:00:00 2001 From: Andrey Breslav Date: Tue, 17 Jun 2014 16:05:43 +0400 Subject: [PATCH] Minor. Extract function --- .../jetbrains/jet/asJava/duplicateJvmSignatureUtil.kt | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) 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 6b02f3456c5..d4d6aad8852 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 @@ -74,8 +74,9 @@ public fun getJvmSignatureDiagnostics(element: PsiElement, otherDiagnostics: Dia } override fun forElement(psiElement: PsiElement): Collection { - val jvmDiagnostics = setOf(CONFLICTING_JVM_DECLARATIONS, ACCIDENTAL_OVERRIDE) - val (conflicting, other) = result.forElement(element).partition { it.getFactory() in jvmDiagnostics } + val jvmDiagnosticFactories = setOf(CONFLICTING_JVM_DECLARATIONS, ACCIDENTAL_OVERRIDE) + fun Diagnostic.data() = cast(this, jvmDiagnosticFactories).getA() + val (conflicting, other) = result.forElement(element).partition { it.getFactory() in jvmDiagnosticFactories } if (alreadyReported(psiElement)) { // CONFLICTING_OVERLOADS already reported, no need to duplicate it return other @@ -83,7 +84,7 @@ public fun getJvmSignatureDiagnostics(element: PsiElement, otherDiagnostics: Dia val filtered = arrayListOf() conflicting.groupBy { - cast(it, jvmDiagnostics).getA().signature.name + it.data().signature.name }.forEach { val diagnostics = it.getValue() if (diagnostics.size <= 1) { @@ -99,7 +100,7 @@ public fun getJvmSignatureDiagnostics(element: PsiElement, otherDiagnostics: Dia // in case of implementation copied from a super trait there will be both diagnostics on the same signature me.getFactory() == ACCIDENTAL_OVERRIDE && other.getFactory() == CONFLICTING_JVM_DECLARATIONS // there are paris of corresponding signatures that frequently clash simultaneously: package facade & part, trait and trait-impl - || cast(other, jvmDiagnostics).getA() higherThan cast(me, jvmDiagnostics).getA() + || other.data() higherThan me.data() ) } }