Generate equals or hash code: do not run in write action to avoid AWT events inside

This commit is contained in:
Mikhail Glukhikh
2017-01-31 21:26:57 +03:00
parent a204e57877
commit b839e522e9
@@ -16,7 +16,6 @@
package org.jetbrains.kotlin.idea.inspections
import com.intellij.codeInsight.CodeInsightUtilBase
import com.intellij.codeInsight.FileModificationService
import com.intellij.codeInspection.InspectionsBundle
import com.intellij.codeInspection.LocalQuickFix
@@ -36,7 +35,6 @@ import org.jetbrains.kotlin.psi.KtObjectDeclaration
import org.jetbrains.kotlin.psi.KtVisitorVoid
import org.jetbrains.kotlin.psi.psiUtil.getStrictParentOfType
import org.jetbrains.kotlin.resolve.source.getPsi
import org.jetbrains.kotlin.types.typeUtil.supertypes
object DeleteEqualsAndHashCodeFix : LocalQuickFix {
override fun getName() = "Delete equals()/hashCode()"
@@ -63,6 +61,8 @@ sealed class GenerateEqualsOrHashCodeFix : LocalQuickFix {
override fun getFamilyName() = name
override fun startInWriteAction() = false
override fun applyFix(project: Project, descriptor: ProblemDescriptor) {
if (!FileModificationService.getInstance().preparePsiElementForWrite(descriptor.psiElement)) return
KotlinGenerateEqualsAndHashcodeAction().doInvoke(project, null, descriptor.psiElement.parent as KtClass)