New J2K: do not commit document after each inspection in post-processing

Related to #KT-31848
This commit is contained in:
Ilya Kirillov
2019-06-10 09:48:24 +03:00
parent 110611d690
commit 0fc0f99acb
3 changed files with 17 additions and 23 deletions
@@ -18,7 +18,6 @@ import org.jetbrains.kotlin.diagnostics.DiagnosticFactory
import org.jetbrains.kotlin.idea.caches.resolve.getResolutionFacade
import org.jetbrains.kotlin.idea.core.util.EDT
import org.jetbrains.kotlin.idea.core.util.range
import org.jetbrains.kotlin.idea.formatter.commitAndUnblockDocument
import org.jetbrains.kotlin.idea.inspections.AbstractApplicabilityBasedInspection
import org.jetbrains.kotlin.idea.inspections.AbstractKotlinInspection
import org.jetbrains.kotlin.idea.intentions.SelfTargetingIntention
@@ -60,10 +59,10 @@ class InspectionLikeProcessingGroup(val inspectionLikeProcessings: List<Inspecti
if (element.isValid) {
if (writeActionNeeded) {
runWriteAction {
runAction(action, element)
action()
}
} else {
runAction(action, element)
action()
}
} else {
modificationStamp = null
@@ -81,11 +80,6 @@ class InspectionLikeProcessingGroup(val inspectionLikeProcessings: List<Inspecti
PROCESS
}
private inline fun runAction(action: () -> Unit, element: PsiElement) {
val file = element.containingFile //element can be deleted after action performed
action()
runWriteAction { file.commitAndUnblockDocument() }
}
private data class ActionData(val element: PsiElement, val action: () -> Unit, val priority: Int, val writeActionNeeded: Boolean)