From 00a85f03ca71395a3e3b6fb8571855ed7d43507d Mon Sep 17 00:00:00 2001 From: Ilya Kirillov Date: Wed, 15 Apr 2020 20:42:32 +0300 Subject: [PATCH] Do not search for non Kotlin/Java usages in KotlinChangeSignatureUsageProcessor It may break some other language plugins #KT-37637 fixed --- .../changeSignature/KotlinChangeSignatureUsageProcessor.kt | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/changeSignature/KotlinChangeSignatureUsageProcessor.kt b/idea/src/org/jetbrains/kotlin/idea/refactoring/changeSignature/KotlinChangeSignatureUsageProcessor.kt index 7d1c53193cf..3aff0e31f1e 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/changeSignature/KotlinChangeSignatureUsageProcessor.kt +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/changeSignature/KotlinChangeSignatureUsageProcessor.kt @@ -95,6 +95,8 @@ class KotlinChangeSignatureUsageProcessor : ChangeSignatureUsageProcessor { private var initializedOriginalDescriptor: Boolean = false override fun findUsages(info: ChangeInfo): Array { + if (!canHandle(info)) return UsageInfo.EMPTY_ARRAY + initializedOriginalDescriptor = false val result = HashSet() @@ -115,6 +117,11 @@ class KotlinChangeSignatureUsageProcessor : ChangeSignatureUsageProcessor { return result.toTypedArray() } + private fun canHandle(changeInfo: ChangeInfo) = + changeInfo is KotlinChangeInfo + || changeInfo is KotlinChangeInfoWrapper + || changeInfo is JavaChangeInfo + private fun findAllMethodUsages(changeInfo: KotlinChangeInfo, result: MutableSet) { loop@ for (functionUsageInfo in changeInfo.getAffectedCallables()) { when (functionUsageInfo) {