diff --git a/ChangeLog.md b/ChangeLog.md index baa6bf4d036..6e6db36cbb9 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -174,6 +174,7 @@ ###### Issues fixed - [`KT-9156`](https://youtrack.jetbrains.com/issue/KT-9156) Quote non-identifier names in Kotlin references - [`KT-9157`](https://youtrack.jetbrains.com/issue/KT-9157) Fixed in-place rename of Kotlin expression referring Java declaration +- [`KT-10713`](https://youtrack.jetbrains.com/issue/KT-10713) Skip read-only declarations when renaming parameters #### Java to Kotlin converter diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/RenameKotlinParameterProcessor.kt b/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/RenameKotlinParameterProcessor.kt index ffdfecd736e..1511dc06303 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/RenameKotlinParameterProcessor.kt +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/RenameKotlinParameterProcessor.kt @@ -20,10 +20,9 @@ import com.intellij.psi.PsiElement import com.intellij.psi.PsiMethod import com.intellij.psi.PsiNamedElement import com.intellij.psi.search.SearchScope -import com.intellij.refactoring.listeners.RefactoringElementListener -import com.intellij.usageView.UsageInfo import org.jetbrains.kotlin.descriptors.FunctionDescriptor import org.jetbrains.kotlin.idea.caches.resolve.resolveToDescriptor +import org.jetbrains.kotlin.idea.refactoring.canRefactor import org.jetbrains.kotlin.idea.refactoring.getAffectedCallables import org.jetbrains.kotlin.psi.KtCallableDeclaration import org.jetbrains.kotlin.psi.KtNamedFunction @@ -40,6 +39,7 @@ class RenameKotlinParameterProcessor : RenameKotlinPsiProcessor() { val originalDescriptor = function.resolveToDescriptor() as FunctionDescriptor val affectedCallables = getAffectedCallables(element.project, OverrideResolver.getDeepestSuperDeclarations(originalDescriptor)) for (callable in affectedCallables) { + if (!callable.canRefactor()) continue val parameter: PsiNamedElement? = when (callable) { is KtCallableDeclaration -> callable.valueParameters.firstOrNull { it.name == element.name } is PsiMethod -> callable.parameterList.parameters.firstOrNull { it.name == element.name }