From bd50454a73bd32ab7f2da8327f18a2f6946e5261 Mon Sep 17 00:00:00 2001 From: Ilya Chernikov Date: Thu, 11 Jul 2019 14:57:16 +0200 Subject: [PATCH] Change default for script displayName parameter to empty, generate name from base class in definition --- .../script/experimental/annotations/scriptAnnotations.kt | 4 ++-- .../src/kotlin/script/experimental/api/scriptCompilation.kt | 2 +- .../kotlin/scripting/definitions/ScriptDefinition.kt | 5 ++++- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/libraries/scripting/common/src/kotlin/script/experimental/annotations/scriptAnnotations.kt b/libraries/scripting/common/src/kotlin/script/experimental/annotations/scriptAnnotations.kt index 1aa22ae171b..d3f2eedc5ab 100644 --- a/libraries/scripting/common/src/kotlin/script/experimental/annotations/scriptAnnotations.kt +++ b/libraries/scripting/common/src/kotlin/script/experimental/annotations/scriptAnnotations.kt @@ -21,7 +21,7 @@ import kotlin.script.experimental.api.ScriptEvaluationConfiguration * optimal discovery and definitions loading performance. * * @param displayName script definition display name, stored as {@link ScriptCompilationConfigurationKeys#displayName}, - * default - "Kotlin script" + * default - empty - use annotated class name * @param fileExtension distinct filename extension for the script type being defined, stored in the configuration * as {@link ScriptCompilationConfigurationKeys#fileExtension}, * default - "kts" @@ -48,7 +48,7 @@ import kotlin.script.experimental.api.ScriptEvaluationConfiguration @Target(AnnotationTarget.CLASS) @Retention(AnnotationRetention.RUNTIME) annotation class KotlinScript( - val displayName: String = "Kotlin script", + val displayName: String = "", val fileExtension: String = "kts", val filePathPattern: String = "", val compilationConfiguration: KClass = ScriptCompilationConfiguration.Default::class, diff --git a/libraries/scripting/common/src/kotlin/script/experimental/api/scriptCompilation.kt b/libraries/scripting/common/src/kotlin/script/experimental/api/scriptCompilation.kt index e8e0599b33d..0fe613b7ba8 100644 --- a/libraries/scripting/common/src/kotlin/script/experimental/api/scriptCompilation.kt +++ b/libraries/scripting/common/src/kotlin/script/experimental/api/scriptCompilation.kt @@ -55,7 +55,7 @@ fun ScriptCompilationConfiguration?.with(body: ScriptCompilationConfiguration.Bu /** * The script type display name */ -val ScriptCompilationConfigurationKeys.displayName by PropertiesCollection.key("Kotlin script") +val ScriptCompilationConfigurationKeys.displayName by PropertiesCollection.key() /** * The script filename extension diff --git a/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/definitions/ScriptDefinition.kt b/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/definitions/ScriptDefinition.kt index 20182efabc3..090112abb43 100644 --- a/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/definitions/ScriptDefinition.kt +++ b/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/definitions/ScriptDefinition.kt @@ -132,7 +132,10 @@ abstract class ScriptDefinition : UserDataHolderBase() { override val fileExtension: String get() = compilationConfiguration[ScriptCompilationConfiguration.fileExtension]!! - override val name: String get() = compilationConfiguration[ScriptCompilationConfiguration.displayName]!! + override val name: String + get() = + compilationConfiguration[ScriptCompilationConfiguration.displayName]?.takeIf { it.isNotBlank() } + ?: compilationConfiguration[ScriptCompilationConfiguration.baseClass]!!.typeName.substringAfterLast('.') override val definitionId: String get() = compilationConfiguration[ScriptCompilationConfiguration.baseClass]!!.typeName