diff --git a/plugins/scripting/scripting-compiler-impl/build.gradle.kts b/plugins/scripting/scripting-compiler-impl/build.gradle.kts index 08663c26046..1558098acb7 100644 --- a/plugins/scripting/scripting-compiler-impl/build.gradle.kts +++ b/plugins/scripting/scripting-compiler-impl/build.gradle.kts @@ -20,6 +20,9 @@ dependencies { compileOnly(intellijCoreDep()) { includeJars("intellij-core") } compileOnly(intellijDep()) { includeJars("asm-all", rootProject = rootProject) } + // FIXME: drop after removing references to LocalFileSystem they don't exist in intellij-core + compileOnly(intellijDep()) { includeJars("platform-api") } + testCompile(project(":compiler:frontend")) testCompile(project(":compiler:plugin-api")) testCompile(project(":compiler:util")) diff --git a/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/definitions/definitions.kt b/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/definitions/definitions.kt index ae565dd1592..931a545d274 100644 --- a/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/definitions/definitions.kt +++ b/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/definitions/definitions.kt @@ -6,15 +6,20 @@ package org.jetbrains.kotlin.scripting.definitions import com.intellij.ide.highlighter.JavaClassFileType -import com.intellij.openapi.application.runReadAction +import com.intellij.openapi.application.ApplicationManager import com.intellij.openapi.fileTypes.FileTypeRegistry import com.intellij.openapi.project.Project +import com.intellij.openapi.util.Computable import com.intellij.openapi.vfs.VirtualFile import com.intellij.psi.PsiFile import com.intellij.psi.PsiManager import org.jetbrains.kotlin.idea.KotlinFileType import org.jetbrains.kotlin.psi.KtFile +inline fun runReadAction(crossinline runnable: () -> T): T { + return ApplicationManager.getApplication().runReadAction(Computable { runnable() }) +} + fun PsiFile.findScriptDefinition(): ScriptDefinition? { // Do not use psiFile.script, see comments in findScriptDefinition if (this !is KtFile/* || this.script == null*/) return null