From ec1d313ecb94cc7b79f1c579d24d8ce488284a66 Mon Sep 17 00:00:00 2001 From: Andrey Uskov Date: Mon, 20 May 2019 15:40:20 +0300 Subject: [PATCH] Fix ClassCastException during search of overriders #EA-115095 Fixed --- .../idea/search/declarationsSearch/overridersSearch.kt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/declarationsSearch/overridersSearch.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/declarationsSearch/overridersSearch.kt index 53128297c74..88781660d08 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/declarationsSearch/overridersSearch.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/declarationsSearch/overridersSearch.kt @@ -135,8 +135,9 @@ private fun forEachKotlinOverride( getTypeSubstitutor(baseClassDescriptor.defaultType, inheritorDescriptor.defaultType) ?: return@runReadAction true baseDescriptors.forEach { val superMember = it.source.getPsi()!! - val overridingDescriptor = - inheritorDescriptor.findCallableMemberBySignature(it.substitute(substitutor) as CallableMemberDescriptor) + val overridingDescriptor = (it.substitute(substitutor) as? CallableMemberDescriptor)?.let { memberDescriptor -> + inheritorDescriptor.findCallableMemberBySignature(memberDescriptor) + } val overridingMember = overridingDescriptor?.source?.getPsi() if (overridingMember != null) { if (!processor(superMember, overridingMember)) return@runReadAction false