Run SafeDeleteFix without run action to avoid "Refactorings should not be started inside write action" (KT-13207)
#KT-13207 Fixed
This commit is contained in:
@@ -43,7 +43,6 @@ import org.jetbrains.kotlin.asJava.LightClassUtil
|
|||||||
import org.jetbrains.kotlin.asJava.toLightClass
|
import org.jetbrains.kotlin.asJava.toLightClass
|
||||||
import org.jetbrains.kotlin.asJava.toLightMethods
|
import org.jetbrains.kotlin.asJava.toLightMethods
|
||||||
import org.jetbrains.kotlin.descriptors.annotations.Annotated
|
import org.jetbrains.kotlin.descriptors.annotations.Annotated
|
||||||
import org.jetbrains.kotlin.idea.KotlinBundle
|
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.analyze
|
import org.jetbrains.kotlin.idea.caches.resolve.analyze
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.resolveToDescriptorIfAny
|
import org.jetbrains.kotlin.idea.caches.resolve.resolveToDescriptorIfAny
|
||||||
import org.jetbrains.kotlin.idea.findUsages.KotlinFindUsagesHandlerFactory
|
import org.jetbrains.kotlin.idea.findUsages.KotlinFindUsagesHandlerFactory
|
||||||
@@ -314,6 +313,8 @@ class SafeDeleteFix(val declaration: KtDeclaration) : LocalQuickFix {
|
|||||||
|
|
||||||
override fun getFamilyName() = "Safe delete"
|
override fun getFamilyName() = "Safe delete"
|
||||||
|
|
||||||
|
fun startInWriteAction(): Boolean = false
|
||||||
|
|
||||||
override fun applyFix(project: Project, descriptor: ProblemDescriptor) {
|
override fun applyFix(project: Project, descriptor: ProblemDescriptor) {
|
||||||
if (!FileModificationService.getInstance().prepareFileForWrite(declaration.containingFile)) return
|
if (!FileModificationService.getInstance().prepareFileForWrite(declaration.containingFile)) return
|
||||||
SafeDeleteHandler.invoke(project, arrayOf(declaration), false)
|
SafeDeleteHandler.invoke(project, arrayOf(declaration), false)
|
||||||
|
|||||||
Reference in New Issue
Block a user