Likely fixed EA-70294 - Uncommited document on applying intention

#EA-70294 Fixed
This commit is contained in:
Valentin Kipyatkov
2015-08-14 15:36:25 +03:00
parent a7d4f600b7
commit 93619ddc00
2 changed files with 5 additions and 1 deletions
@@ -25,6 +25,7 @@ import com.intellij.openapi.editor.Editor
import com.intellij.openapi.editor.EditorFactory import com.intellij.openapi.editor.EditorFactory
import com.intellij.openapi.fileEditor.FileDocumentManager import com.intellij.openapi.fileEditor.FileDocumentManager
import com.intellij.openapi.project.Project import com.intellij.openapi.project.Project
import com.intellij.psi.PsiDocumentManager
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import com.intellij.psi.PsiElementVisitor import com.intellij.psi.PsiElementVisitor
import com.intellij.psi.PsiFile import com.intellij.psi.PsiFile
@@ -103,6 +104,7 @@ public abstract class IntentionBasedInspection<TElement : JetElement>(
} }
override fun invoke(project: Project, editor: Editor?, file: PsiFile?) { override fun invoke(project: Project, editor: Editor?, file: PsiFile?) {
PsiDocumentManager.getInstance(project).commitAllDocuments()
applyFix() applyFix()
} }
@@ -24,6 +24,7 @@ import com.intellij.openapi.extensions.Extensions
import com.intellij.openapi.project.Project import com.intellij.openapi.project.Project
import com.intellij.openapi.util.TextRange import com.intellij.openapi.util.TextRange
import com.intellij.profile.codeInspection.InspectionProjectProfileManager import com.intellij.profile.codeInspection.InspectionProjectProfileManager
import com.intellij.psi.PsiDocumentManager
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import com.intellij.psi.PsiFile import com.intellij.psi.PsiFile
import com.intellij.psi.util.PsiTreeUtil import com.intellij.psi.util.PsiTreeUtil
@@ -96,7 +97,8 @@ public abstract class JetSelfTargetingIntention<TElement : JetElement>(
} }
final override fun invoke(project: Project, editor: Editor, file: PsiFile): Unit { final override fun invoke(project: Project, editor: Editor, file: PsiFile): Unit {
val target = getTarget(editor, file) ?: error("Intention is not applicable") PsiDocumentManager.getInstance(project).commitAllDocuments()
val target = getTarget(editor, file) ?: return
applyTo(target, editor) applyTo(target, editor)
} }