From 44d10672bee8262a4d4b281c3d4172da6e43ca6c Mon Sep 17 00:00:00 2001 From: Mikhail Glukhikh Date: Fri, 21 Oct 2016 16:23:18 +0300 Subject: [PATCH] KT-7929 related: KtDestructuringDeclarationEntry is not resolved to descriptor in OverridingDeprecatedMemberInspection --- .../inspections/OverridingDeprecatedMemberInspection.kt | 6 ++---- .../testData/inspections/overridingDeprecatedMember/test.kt | 6 ++++++ 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/idea/src/org/jetbrains/kotlin/idea/inspections/OverridingDeprecatedMemberInspection.kt b/idea/src/org/jetbrains/kotlin/idea/inspections/OverridingDeprecatedMemberInspection.kt index 5390b7a946c..4c4ee94e329 100644 --- a/idea/src/org/jetbrains/kotlin/idea/inspections/OverridingDeprecatedMemberInspection.kt +++ b/idea/src/org/jetbrains/kotlin/idea/inspections/OverridingDeprecatedMemberInspection.kt @@ -22,10 +22,7 @@ import com.intellij.psi.PsiElement import com.intellij.psi.PsiElementVisitor import org.jetbrains.kotlin.descriptors.CallableMemberDescriptor import org.jetbrains.kotlin.idea.caches.resolve.resolveToDescriptor -import org.jetbrains.kotlin.psi.KtDeclaration -import org.jetbrains.kotlin.psi.KtNamedDeclaration -import org.jetbrains.kotlin.psi.KtPropertyAccessor -import org.jetbrains.kotlin.psi.KtVisitorVoid +import org.jetbrains.kotlin.psi.* import org.jetbrains.kotlin.resolve.deprecatedByOverriddenMessage import org.jetbrains.kotlin.resolve.getDeprecation @@ -41,6 +38,7 @@ class OverridingDeprecatedMemberInspection : AbstractKotlinInspection() { } private fun registerProblemIfNeeded(declaration: KtDeclaration, targetForProblem: PsiElement) { + if (declaration is KtDestructuringDeclarationEntry) return val accessorDescriptor = declaration.resolveToDescriptor() as? CallableMemberDescriptor ?: return val message = accessorDescriptor.getDeprecation()?.deprecatedByOverriddenMessage() ?: return diff --git a/idea/testData/inspections/overridingDeprecatedMember/test.kt b/idea/testData/inspections/overridingDeprecatedMember/test.kt index ff2fa6ebc9e..e2cebfd5e12 100644 --- a/idea/testData/inspections/overridingDeprecatedMember/test.kt +++ b/idea/testData/inspections/overridingDeprecatedMember/test.kt @@ -44,4 +44,10 @@ interface Explicit : I { @Deprecated("a") override fun f(): Int { } +} + +data class Pair(x: Int, y: Int) + +class Exc { + val (a, b) = Pair(1, 2) } \ No newline at end of file