New J2K: commit file after each post-processing

#KT-31809 fixed
This commit is contained in:
Ilya Kirillov
2019-06-05 12:35:04 +03:00
parent 0623fa4349
commit f51e28ea68
@@ -7,17 +7,20 @@ package org.jetbrains.kotlin.nj2k.postProcessing
import com.intellij.openapi.application.ApplicationManager
import com.intellij.openapi.application.ModalityState
import com.intellij.openapi.command.CommandProcessor
import com.intellij.openapi.editor.RangeMarker
import com.intellij.psi.PsiElement
import com.intellij.psi.search.LocalSearchScope
import com.intellij.psi.search.searches.ReferencesSearch
import kotlinx.coroutines.runBlocking
import kotlinx.coroutines.withContext
import org.jetbrains.kotlin.diagnostics.Diagnostic
import org.jetbrains.kotlin.diagnostics.DiagnosticWithParameters2
import org.jetbrains.kotlin.diagnostics.Errors
import org.jetbrains.kotlin.idea.caches.resolve.analyze
import org.jetbrains.kotlin.idea.caches.resolve.resolveImportReference
import org.jetbrains.kotlin.idea.core.util.EDT
import org.jetbrains.kotlin.idea.formatter.commitAndUnblockDocument
import org.jetbrains.kotlin.idea.inspections.*
import org.jetbrains.kotlin.idea.inspections.branchedTransformations.IfThenToSafeAccessInspection
import org.jetbrains.kotlin.idea.inspections.conventionNameCalls.ReplaceGetOrSetInspection
@@ -59,6 +62,17 @@ class NewJ2kPostProcessor : PostProcessor {
runBlocking(EDT.ModalityStateElement(ModalityState.defaultModalityState())) {
for (processing in processings) {
processing.runProcessing(file, rangeMarker, converterContext as NewJ2kConverterContext)
commitFile(file)
}
}
}
private suspend fun commitFile(file: KtFile) {
withContext(EDT) {
CommandProcessor.getInstance().runUndoTransparentAction {
runWriteAction {
file.commitAndUnblockDocument()
}
}
}
}