From 78527abad959a87467ee0efbc8fcd73f471f5f64 Mon Sep 17 00:00:00 2001 From: Vladimir Dolzhenko Date: Tue, 15 Oct 2019 12:08:02 +0200 Subject: [PATCH] Fix readAccess in TargetPlatformDetector.java on checking is file a script #EA-211576 Fixed --- .../kotlin/idea/project/TargetPlatformDetector.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) 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();