diff --git a/libraries/scripting/common/src/kotlin/script/experimental/util/propertiesCollection.kt b/libraries/scripting/common/src/kotlin/script/experimental/util/propertiesCollection.kt index 2a45c7b1158..0941fc25750 100644 --- a/libraries/scripting/common/src/kotlin/script/experimental/util/propertiesCollection.kt +++ b/libraries/scripting/common/src/kotlin/script/experimental/util/propertiesCollection.kt @@ -83,6 +83,31 @@ open class PropertiesCollection(private val properties: Map, Any?> = empt data[this] = v } + fun PropertiesCollection.Key.putIfNotNull(v: T?) { + if (v != null) { + data[this] = v + } + } + + fun PropertiesCollection.Key>.putIfAny(vals: Iterable?) { + if (vals?.any() == true) { + data[this] = if (vals is List) vals else vals.toList() + } + } + + @JvmName("putIfAny_map") + fun PropertiesCollection.Key>.putIfAny(vals: Iterable>?) { + if (vals?.any() == true) { + data[this] = vals.toMap() + } + } + + fun PropertiesCollection.Key>.putIfAny(vals: Map?) { + if (vals?.isNotEmpty() == true) { + data[this] = vals + } + } + // generic for lists operator fun PropertiesCollection.Key>.invoke(vararg vals: T) { diff --git a/libraries/scripting/jvm/src/kotlin/script/experimental/jvm/compat/diagnosticsUtil.kt b/libraries/scripting/jvm/src/kotlin/script/experimental/jvm/compat/diagnosticsUtil.kt index f8bba5d1a30..ce549cf8510 100644 --- a/libraries/scripting/jvm/src/kotlin/script/experimental/jvm/compat/diagnosticsUtil.kt +++ b/libraries/scripting/jvm/src/kotlin/script/experimental/jvm/compat/diagnosticsUtil.kt @@ -20,6 +20,14 @@ fun mapLegacyDiagnosticSeverity(severity: ScriptDependenciesResolver.ReportSever ScriptDependenciesResolver.ReportSeverity.DEBUG -> ScriptDiagnostic.Severity.DEBUG } +fun mapLegacyDiagnosticSeverity(severity: ScriptReport.Severity): ScriptDiagnostic.Severity = when (severity) { + ScriptReport.Severity.FATAL -> ScriptDiagnostic.Severity.FATAL + ScriptReport.Severity.ERROR -> ScriptDiagnostic.Severity.ERROR + ScriptReport.Severity.WARNING -> ScriptDiagnostic.Severity.WARNING + ScriptReport.Severity.INFO -> ScriptDiagnostic.Severity.INFO + ScriptReport.Severity.DEBUG -> ScriptDiagnostic.Severity.DEBUG +} + fun mapToLegacyScriptReportSeverity(severity: ScriptDiagnostic.Severity): ScriptReport.Severity = when (severity) { ScriptDiagnostic.Severity.FATAL -> ScriptReport.Severity.FATAL ScriptDiagnostic.Severity.ERROR -> ScriptReport.Severity.ERROR diff --git a/libraries/scripting/jvm/src/kotlin/script/experimental/jvm/compat/expectedLocationUtil.kt b/libraries/scripting/jvm/src/kotlin/script/experimental/jvm/compat/expectedLocationUtil.kt new file mode 100644 index 00000000000..d473b77b62f --- /dev/null +++ b/libraries/scripting/jvm/src/kotlin/script/experimental/jvm/compat/expectedLocationUtil.kt @@ -0,0 +1,31 @@ +/* + * Copyright 2010-2019 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +package kotlin.script.experimental.jvm.compat + +import kotlin.script.experimental.api.ScriptAcceptedLocation +import kotlin.script.experimental.location.ScriptExpectedLocation + +@Suppress("DEPRECATION") +fun List.mapToLegacyExpectedLocations(): List = map { + when (it) { + ScriptAcceptedLocation.Sources -> ScriptExpectedLocation.SourcesOnly + ScriptAcceptedLocation.Tests -> ScriptExpectedLocation.TestsOnly + ScriptAcceptedLocation.Libraries -> ScriptExpectedLocation.Libraries + ScriptAcceptedLocation.Project -> ScriptExpectedLocation.Project + ScriptAcceptedLocation.Everywhere -> ScriptExpectedLocation.Everywhere + } +} + +@Suppress("DEPRECATION") +fun List.mapLegacyExpectedLocations(): List = map { + when (it) { + ScriptExpectedLocation.SourcesOnly -> ScriptAcceptedLocation.Sources + ScriptExpectedLocation.TestsOnly -> ScriptAcceptedLocation.Tests + ScriptExpectedLocation.Libraries -> ScriptAcceptedLocation.Libraries + ScriptExpectedLocation.Project -> ScriptAcceptedLocation.Project + ScriptExpectedLocation.Everywhere -> ScriptAcceptedLocation.Everywhere + } +}