From 6291cfee49c5fefdad73f1a8f6e19e17be13f266 Mon Sep 17 00:00:00 2001 From: Natalia Selezneva Date: Wed, 5 Dec 2018 09:36:01 +0300 Subject: [PATCH] Fix 'read action required' exception in scratch --- .../org/jetbrains/kotlin/idea/scratch/ScratchFile.kt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/idea/idea-jvm/src/org/jetbrains/kotlin/idea/scratch/ScratchFile.kt b/idea/idea-jvm/src/org/jetbrains/kotlin/idea/scratch/ScratchFile.kt index 5a6616dc2c7..f667b5a2257 100644 --- a/idea/idea-jvm/src/org/jetbrains/kotlin/idea/scratch/ScratchFile.kt +++ b/idea/idea-jvm/src/org/jetbrains/kotlin/idea/scratch/ScratchFile.kt @@ -16,6 +16,7 @@ package org.jetbrains.kotlin.idea.scratch +import com.intellij.openapi.application.runReadAction import com.intellij.openapi.fileEditor.TextEditor import com.intellij.openapi.module.Module import com.intellij.openapi.project.Project @@ -24,13 +25,12 @@ import com.intellij.psi.PsiElement import com.intellij.psi.PsiFile abstract class ScratchFile(val project: Project, val editor: TextEditor) { - fun getExpressions(): List { - val psiFile = getPsiFile() ?: return emptyList() - return getExpressions(psiFile) + fun getExpressions(): List = runReadAction { + getPsiFile()?.let { getExpressions(it) } ?: emptyList() } - fun getPsiFile(): PsiFile? { - return PsiDocumentManager.getInstance(project).getPsiFile(editor.editor.document) + fun getPsiFile(): PsiFile? = runReadAction { + PsiDocumentManager.getInstance(project).getPsiFile(editor.editor.document) } fun getModule(): Module? {