Grand refactoring of the scripting DSL + many minor usability refactorings around it
This commit is contained in:
+2
-2
@@ -31,8 +31,8 @@ abstract class BasicScriptingHost(
|
||||
|
||||
open fun eval(
|
||||
script: ScriptSource,
|
||||
compileConfiguration: ScriptCompileConfiguration,
|
||||
environment: ScriptEvaluationEnvironment
|
||||
compileConfiguration: ScriptCompileConfiguration?,
|
||||
environment: ScriptEvaluationEnvironment?
|
||||
): ResultWithDiagnostics<EvaluationResult> =
|
||||
runInCoroutineContext {
|
||||
compiler(script, scriptDefinition, compileConfiguration).onSuccess {
|
||||
|
||||
@@ -7,7 +7,11 @@ package kotlin.script.experimental.host
|
||||
|
||||
import java.io.File
|
||||
import java.net.URL
|
||||
import kotlin.script.experimental.api.*
|
||||
import kotlin.script.experimental.api.ScriptCompileConfiguration
|
||||
import kotlin.script.experimental.api.ScriptSource
|
||||
import kotlin.script.experimental.api.ScriptSourceNamedFragment
|
||||
import kotlin.script.experimental.api.sourceFragments
|
||||
import kotlin.script.experimental.util.getOrNull
|
||||
|
||||
fun ScriptSource.getScriptText(): String = when {
|
||||
text != null -> text!!
|
||||
@@ -16,9 +20,9 @@ fun ScriptSource.getScriptText(): String = when {
|
||||
else -> throw RuntimeException("unable to get text from null script")
|
||||
}
|
||||
|
||||
fun getMergedScriptText(script: ScriptSource, configuration: ScriptCompileConfiguration): String {
|
||||
fun getMergedScriptText(script: ScriptSource, configuration: ScriptCompileConfiguration?): String {
|
||||
val originalScriptText = script.getScriptText()
|
||||
val sourceFragments = configuration.getOrNull(ScriptCompileConfigurationProperties.sourceFragments)
|
||||
val sourceFragments = configuration?.getOrNull(ScriptCompileConfiguration.sourceFragments)
|
||||
return if (sourceFragments == null || sourceFragments.isEmpty()) {
|
||||
originalScriptText
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user