[kotlin] RenameModToRemFix: generate preview

IJ-CR-139617
^KTIJ-29628

GitOrigin-RevId: 0ad0db21fd0d374d308d9052c6a2bb43d6a98d1b
This commit is contained in:
Andrey Cherkasov
2024-07-12 20:57:28 +04:00
committed by intellij-monorepo-bot
parent 699206d38d
commit 81cc21054f

View File

@@ -1,8 +1,11 @@
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package org.jetbrains.kotlin.idea.quickfix
import com.intellij.codeInsight.intention.preview.IntentionPreviewInfo
import com.intellij.openapi.editor.Editor
import com.intellij.openapi.project.Project
import com.intellij.psi.PsiFile
import com.intellij.psi.util.PsiTreeUtil
import com.intellij.refactoring.rename.RenameProcessor
import org.jetbrains.kotlin.idea.base.resources.KotlinBundle
import org.jetbrains.kotlin.idea.codeinsight.api.classic.quickfixes.KotlinQuickFixAction
@@ -17,6 +20,11 @@ class RenameModToRemFix(element: KtNamedFunction, val newName: Name) : KotlinQui
override fun startInWriteAction(): Boolean = false
override fun generatePreview(project: Project, editor: Editor, file: PsiFile): IntentionPreviewInfo {
PsiTreeUtil.findSameElementInCopy(element, file)?.setName(newName.asString())
return IntentionPreviewInfo.DIFF
}
override fun invoke(project: Project, editor: Editor?, file: KtFile) {
RenameProcessor(project, element ?: return, newName.asString(), false, false).run()
}