From 7ddf83f32de1fc6a8cd4c549b5a9e2d5669226af Mon Sep 17 00:00:00 2001 From: Alexey Subach Date: Mon, 27 Sep 2021 20:10:21 +0300 Subject: [PATCH] Add link to ScriptCompilationConfiguration into ScriptEvaluationConfiguration #KT-48758 fixed --- .../src/kotlin/script/experimental/api/scriptEvaluation.kt | 5 +++++ .../script/experimental/jvm/BasicJvmScriptEvaluator.kt | 4 +++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/libraries/scripting/common/src/kotlin/script/experimental/api/scriptEvaluation.kt b/libraries/scripting/common/src/kotlin/script/experimental/api/scriptEvaluation.kt index f03cff7b9b8..c9e0f826679 100644 --- a/libraries/scripting/common/src/kotlin/script/experimental/api/scriptEvaluation.kt +++ b/libraries/scripting/common/src/kotlin/script/experimental/api/scriptEvaluation.kt @@ -59,6 +59,11 @@ val ScriptEvaluationConfigurationKeys.implicitReceivers by PropertiesCollection. */ val ScriptEvaluationConfigurationKeys.providedProperties by PropertiesCollection.key>() // external variables +/** + * The link to the actual {@link ScriptCompilationConfiguration} object that contains properties used for compiling the script + */ +val ScriptEvaluationConfigurationKeys.compilationConfiguration by PropertiesCollection.key(isTransient = true) + /** * Constructor arguments, additional to implicit receivers and provided properties, according to the script base class constructor */ diff --git a/libraries/scripting/jvm/src/kotlin/script/experimental/jvm/BasicJvmScriptEvaluator.kt b/libraries/scripting/jvm/src/kotlin/script/experimental/jvm/BasicJvmScriptEvaluator.kt index aacf437517d..c6aed0ff243 100644 --- a/libraries/scripting/jvm/src/kotlin/script/experimental/jvm/BasicJvmScriptEvaluator.kt +++ b/libraries/scripting/jvm/src/kotlin/script/experimental/jvm/BasicJvmScriptEvaluator.kt @@ -28,7 +28,9 @@ open class BasicJvmScriptEvaluator : ScriptEvaluator { }.onSuccess { importedScriptsEvalResults -> val refinedEvalConfiguration = - sharedConfiguration.refineBeforeEvaluation(compiledScript).valueOr { + sharedConfiguration.with { + compilationConfiguration(compiledScript.compilationConfiguration) + }.refineBeforeEvaluation(compiledScript).valueOr { return@invoke ResultWithDiagnostics.Failure(it.reports) }