From fe662fcb2e622e39fb7954c7933e07d2c133d441 Mon Sep 17 00:00:00 2001 From: Natalia Selezneva Date: Wed, 17 Jul 2019 11:23:51 +0300 Subject: [PATCH] Provide a mesaage for NPE in scratch tests --- .../idea/scratch/output/ToolWindowScratchOutputHandler.kt | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/idea/idea-jvm/src/org/jetbrains/kotlin/idea/scratch/output/ToolWindowScratchOutputHandler.kt b/idea/idea-jvm/src/org/jetbrains/kotlin/idea/scratch/output/ToolWindowScratchOutputHandler.kt index 20a1a9f46b9..bdbde2385dd 100644 --- a/idea/idea-jvm/src/org/jetbrains/kotlin/idea/scratch/output/ToolWindowScratchOutputHandler.kt +++ b/idea/idea-jvm/src/org/jetbrains/kotlin/idea/scratch/output/ToolWindowScratchOutputHandler.kt @@ -182,7 +182,13 @@ private object TestOutputHandler : ScratchOutputHandlerAdapter() { override fun onFinish(file: ScratchFile) { ApplicationManager.getApplication().invokeLater { if (inlays.isNotEmpty()) { - val psiFile = file.getPsiFile()!! + val psiFile = file.getPsiFile() + ?: error( + "PsiFile cannot be found for scratch to render inlays in tests:\n" + + "project.isDisposed = ${file.project.isDisposed}\n" + + "inlays = ${inlays.joinToString { it.second }}\n" + + "errors = ${errors.joinToString()}" + ) testPrint(file, inlays.map { (expression, text) -> "/** ${getLineInfo(psiFile, expression)} $text */" })