Tests, refactoring: replace invokeLater with TransactionGuard to avoid situations that project isDisposed during inlays printing
This commit is contained in:
+3
-2
@@ -23,6 +23,7 @@ import com.intellij.execution.ui.ConsoleViewContentType
|
|||||||
import com.intellij.ide.scratch.ScratchFileType
|
import com.intellij.ide.scratch.ScratchFileType
|
||||||
import com.intellij.openapi.Disposable
|
import com.intellij.openapi.Disposable
|
||||||
import com.intellij.openapi.application.ApplicationManager
|
import com.intellij.openapi.application.ApplicationManager
|
||||||
|
import com.intellij.openapi.application.TransactionGuard
|
||||||
import com.intellij.openapi.command.WriteCommandAction
|
import com.intellij.openapi.command.WriteCommandAction
|
||||||
import com.intellij.openapi.editor.ex.EditorEx
|
import com.intellij.openapi.editor.ex.EditorEx
|
||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
@@ -180,7 +181,7 @@ private object TestOutputHandler : ScratchOutputHandlerAdapter() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun onFinish(file: ScratchFile) {
|
override fun onFinish(file: ScratchFile) {
|
||||||
ApplicationManager.getApplication().invokeLater {
|
TransactionGuard.submitTransaction(file.project, Runnable {
|
||||||
val psiFile = file.getPsiFile()
|
val psiFile = file.getPsiFile()
|
||||||
?: error(
|
?: error(
|
||||||
"PsiFile cannot be found for scratch to render inlays in tests:\n" +
|
"PsiFile cannot be found for scratch to render inlays in tests:\n" +
|
||||||
@@ -200,7 +201,7 @@ private object TestOutputHandler : ScratchOutputHandlerAdapter() {
|
|||||||
testPrint(psiFile, listOf(errors.joinToString(prefix = "/** ", postfix = " */")))
|
testPrint(psiFile, listOf(errors.joinToString(prefix = "/** ", postfix = " */")))
|
||||||
errors.clear()
|
errors.clear()
|
||||||
}
|
}
|
||||||
}
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun testPrint(file: PsiFile, comments: List<String>) {
|
private fun testPrint(file: PsiFile, comments: List<String>) {
|
||||||
|
|||||||
Reference in New Issue
Block a user