diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/project/TargetPlatformDetector.java b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/project/TargetPlatformDetector.java index 5c2c1836124..2d4680c44d9 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/project/TargetPlatformDetector.java +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/project/TargetPlatformDetector.java @@ -16,6 +16,7 @@ package org.jetbrains.kotlin.idea.project; +import com.intellij.openapi.application.ReadAction; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.module.Module; import com.intellij.openapi.project.Project; @@ -60,11 +61,10 @@ public class TargetPlatformDetector { return contextFile instanceof KtFile ? getPlatform((KtFile) contextFile) : JvmPlatforms.INSTANCE.getUnspecifiedJvmPlatform(); } - if (file.isScript()) { - ScriptDefinition scriptDefinition = DefinitionsKt.findScriptDefinition(file); - if (scriptDefinition != null) { - return getPlatform(file.getProject(), scriptDefinition); - } + final ScriptDefinition scriptDefinition = + ReadAction.compute(() -> file.isScript() ? DefinitionsKt.findScriptDefinition(file) : null); + if (scriptDefinition != null) { + return getPlatform(file.getProject(), scriptDefinition); } VirtualFile virtualFile = file.getOriginalFile().getVirtualFile();