diff --git a/ChangeLog.md b/ChangeLog.md index 619b82da723..7386b5736f7 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -243,6 +243,7 @@ - [`KT-10713`](https://youtrack.jetbrains.com/issue/KT-10713) Skip read-only declarations when renaming parameters - [`KT-10687`](https://youtrack.jetbrains.com/issue/KT-10687) Qualify property references to avoid shadowing by parameters - [`KT-12543`](https://youtrack.jetbrains.com/issue/KT-12543) Qualify property references with 'this' to avoid renaming conflicts +- [`KT-12732`](https://youtrack.jetbrains.com/issue/KT-12732) Copy default parameter values to overriding function which is renamed by Java reference while its base function is unchanged #### Java to Kotlin converter diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/RenameKotlinFunctionProcessor.kt b/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/RenameKotlinFunctionProcessor.kt index 60e4ba74d75..9d2b1bac152 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/RenameKotlinFunctionProcessor.kt +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/RenameKotlinFunctionProcessor.kt @@ -85,6 +85,9 @@ class RenameKotlinFunctionProcessor : RenameKotlinPsiProcessor() { override fun prepareRenaming(element: PsiElement, newName: String?, allRenames: MutableMap, scope: SearchScope) { super.prepareRenaming(element, newName, allRenames, scope) + if (element is KtLightMethod && newName != null && getJvmName(element) == null) { + (element.kotlinOrigin as? KtNamedFunction)?.let { allRenames[it] = newName } + } val psiMethod = wrapPsiMethod(element) if (psiMethod?.containingClass != null) { javaMethodProcessorInstance.prepareRenaming(psiMethod, newName, allRenames, scope)