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:
Nikolay Krasko
2016-07-25 19:42:32 +03:00
parent 6ea5171f60
commit a0226f3fd8
@@ -43,7 +43,6 @@ import org.jetbrains.kotlin.asJava.LightClassUtil
import org.jetbrains.kotlin.asJava.toLightClass
import org.jetbrains.kotlin.asJava.toLightMethods
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.resolveToDescriptorIfAny
import org.jetbrains.kotlin.idea.findUsages.KotlinFindUsagesHandlerFactory
@@ -314,6 +313,8 @@ class SafeDeleteFix(val declaration: KtDeclaration) : LocalQuickFix {
override fun getFamilyName() = "Safe delete"
fun startInWriteAction(): Boolean = false
override fun applyFix(project: Project, descriptor: ProblemDescriptor) {
if (!FileModificationService.getInstance().prepareFileForWrite(declaration.containingFile)) return
SafeDeleteHandler.invoke(project, arrayOf(declaration), false)