Fix 'read action required' exception in scratch
This commit is contained in:
@@ -16,6 +16,7 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.idea.scratch
|
package org.jetbrains.kotlin.idea.scratch
|
||||||
|
|
||||||
|
import com.intellij.openapi.application.runReadAction
|
||||||
import com.intellij.openapi.fileEditor.TextEditor
|
import com.intellij.openapi.fileEditor.TextEditor
|
||||||
import com.intellij.openapi.module.Module
|
import com.intellij.openapi.module.Module
|
||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
@@ -24,13 +25,12 @@ import com.intellij.psi.PsiElement
|
|||||||
import com.intellij.psi.PsiFile
|
import com.intellij.psi.PsiFile
|
||||||
|
|
||||||
abstract class ScratchFile(val project: Project, val editor: TextEditor) {
|
abstract class ScratchFile(val project: Project, val editor: TextEditor) {
|
||||||
fun getExpressions(): List<ScratchExpression> {
|
fun getExpressions(): List<ScratchExpression> = runReadAction {
|
||||||
val psiFile = getPsiFile() ?: return emptyList()
|
getPsiFile()?.let { getExpressions(it) } ?: emptyList()
|
||||||
return getExpressions(psiFile)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fun getPsiFile(): PsiFile? {
|
fun getPsiFile(): PsiFile? = runReadAction {
|
||||||
return PsiDocumentManager.getInstance(project).getPsiFile(editor.editor.document)
|
PsiDocumentManager.getInstance(project).getPsiFile(editor.editor.document)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun getModule(): Module? {
|
fun getModule(): Module? {
|
||||||
|
|||||||
Reference in New Issue
Block a user