diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/changeSignature/KotlinChangeSignatureData.kt b/idea/src/org/jetbrains/kotlin/idea/refactoring/changeSignature/KotlinChangeSignatureData.kt index 559277172b7..b7843adaaea 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/changeSignature/KotlinChangeSignatureData.kt +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/changeSignature/KotlinChangeSignatureData.kt @@ -30,11 +30,12 @@ import org.jetbrains.kotlin.idea.caches.resolve.resolveToDescriptor import org.jetbrains.kotlin.idea.codeInsight.DescriptorToSourceUtilsIde import org.jetbrains.kotlin.idea.highlighter.markers.headerImplementations import org.jetbrains.kotlin.idea.highlighter.markers.isHeaderOrHeaderClassMember -import org.jetbrains.kotlin.idea.highlighter.markers.liftToHeader import org.jetbrains.kotlin.idea.refactoring.changeSignature.usages.KotlinCallableDefinitionUsage import org.jetbrains.kotlin.idea.util.IdeDescriptorRenderers -import org.jetbrains.kotlin.lexer.KtTokens -import org.jetbrains.kotlin.psi.* +import org.jetbrains.kotlin.psi.KtCallableDeclaration +import org.jetbrains.kotlin.psi.KtClass +import org.jetbrains.kotlin.psi.KtFunction +import org.jetbrains.kotlin.psi.KtNamedDeclaration import org.jetbrains.kotlin.resolve.DescriptorUtils import java.util.* @@ -86,9 +87,7 @@ class KotlinChangeSignatureData( override val primaryCallables: Collection> by lazy { descriptorsForSignatureChange.map { - val declaration = DescriptorToSourceUtilsIde.getAnyDeclaration(baseDeclaration.project, it)?.let { - (it as? KtDeclaration)?.liftToHeader() ?: it - } + val declaration = DescriptorToSourceUtilsIde.getAnyDeclaration(baseDeclaration.project, it) assert(declaration != null) { "No declaration found for " + baseDescriptor } KotlinCallableDefinitionUsage(declaration!!, it, null, null) } diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/changeSignature/KotlinChangeSignatureHandler.kt b/idea/src/org/jetbrains/kotlin/idea/refactoring/changeSignature/KotlinChangeSignatureHandler.kt index 0612a7df100..bc030d32413 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/changeSignature/KotlinChangeSignatureHandler.kt +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/changeSignature/KotlinChangeSignatureHandler.kt @@ -37,6 +37,7 @@ import org.jetbrains.kotlin.descriptors.CallableMemberDescriptor.Kind.SYNTHESIZE import org.jetbrains.kotlin.idea.caches.resolve.analyze import org.jetbrains.kotlin.idea.codeInsight.CodeInsightUtils import org.jetbrains.kotlin.idea.codeInsight.DescriptorToSourceUtilsIde +import org.jetbrains.kotlin.idea.highlighter.markers.headerDescriptor import org.jetbrains.kotlin.idea.refactoring.KotlinRefactoringBundle import org.jetbrains.kotlin.load.java.descriptors.JavaCallableMemberDescriptor import org.jetbrains.kotlin.psi.* @@ -164,6 +165,9 @@ class KotlinChangeSignatureHandler : ChangeSignatureHandler { if (!CommonRefactoringUtil.checkReadOnlyStatus(project, element)) return null var descriptor = getDescriptor(bindingContext, element) + if (descriptor is MemberDescriptor && descriptor.isImpl) { + descriptor = descriptor.headerDescriptor() ?: descriptor + } return when (descriptor) { is FunctionDescriptor -> {