From 1396b3e6821bdd4ad77386f71df3b6baf6929b41 Mon Sep 17 00:00:00 2001 From: Ilya Chernikov Date: Wed, 10 Jul 2019 10:25:05 +0200 Subject: [PATCH] Return default configuration when refinement failed on resolving script descriptor also fixes appropriate IDE tests --- .../kotlin/scripting/definitions/dynamicConfigurations.kt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/definitions/dynamicConfigurations.kt b/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/definitions/dynamicConfigurations.kt index 79649436065..587c3cd737b 100644 --- a/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/definitions/dynamicConfigurations.kt +++ b/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/definitions/dynamicConfigurations.kt @@ -13,6 +13,7 @@ import org.jetbrains.kotlin.scripting.resolve.ScriptCompilationConfigurationResu import kotlin.script.experimental.api.ScriptCompilationConfiguration import kotlin.script.experimental.api.ScriptDiagnostic import kotlin.script.experimental.api.valueOr +import kotlin.script.experimental.api.valueOrNull fun PsiFile.findScriptCompilationConfiguration(): ScriptCompilationConfiguration? { // Do not use psiFile.script, see comments in findScriptDefinition @@ -21,7 +22,8 @@ fun PsiFile.findScriptCompilationConfiguration(): ScriptCompilationConfiguration if (file.isNonScript()) return null val provider = ScriptDependenciesProvider.getInstance(project) - return provider?.getScriptConfigurationResult(this)?.valueOrError()?.configuration + // Ignoring the error here, assuming that it will be reported elsewhere anyway (this is important scenario in IDE) + return provider?.getScriptConfigurationResult(this)?.valueOrNull()?.configuration ?: findScriptDefinition()?.compilationConfiguration }