Export filename extension from KotlinScriptDefinition, register...
extensions after loading definitions
This commit is contained in:
+4
-6
@@ -29,8 +29,6 @@ abstract class KotlinScriptDefinitionAdapterFromNewAPIBase : KotlinScriptDefinit
|
||||
|
||||
protected abstract val hostConfiguration: ScriptingHostConfiguration
|
||||
|
||||
abstract val scriptFileExtensionWithDot: String
|
||||
|
||||
open val baseClass: KClass<*> by lazy(LazyThreadSafetyMode.PUBLICATION) {
|
||||
getScriptingClass(scriptCompilationConfiguration.getOrError(ScriptCompilationConfiguration.baseClass))
|
||||
}
|
||||
@@ -43,11 +41,11 @@ abstract class KotlinScriptDefinitionAdapterFromNewAPIBase : KotlinScriptDefinit
|
||||
override val fileType: LanguageFileType = KotlinFileType.INSTANCE
|
||||
|
||||
override fun isScript(fileName: String): Boolean =
|
||||
fileName.endsWith(scriptFileExtensionWithDot)
|
||||
fileName.endsWith(".$fileExtension")
|
||||
|
||||
override fun getScriptName(script: KtScript): Name {
|
||||
val fileBasedName = NameUtils.getScriptNameForFile(script.containingKtFile.name)
|
||||
return Name.identifier(fileBasedName.identifier.removeSuffix(scriptFileExtensionWithDot))
|
||||
return Name.identifier(fileBasedName.identifier.removeSuffix(".$fileExtension"))
|
||||
}
|
||||
|
||||
override val annotationsForSamWithReceivers: List<String>
|
||||
@@ -105,6 +103,6 @@ class KotlinScriptDefinitionAdapterFromNewAPI(
|
||||
|
||||
override val name: String get() = scriptCompilationConfiguration[ScriptCompilationConfiguration.displayName] ?: super.name
|
||||
|
||||
override val scriptFileExtensionWithDot =
|
||||
"." + (scriptCompilationConfiguration[ScriptCompilationConfiguration.fileExtension] ?: "kts")
|
||||
override val fileExtension: String
|
||||
get() = scriptCompilationConfiguration[ScriptCompilationConfiguration.fileExtension] ?: super.fileExtension
|
||||
}
|
||||
|
||||
+3
-5
@@ -64,14 +64,12 @@ class LazyScriptDefinitionFromDiscoveredClass internal constructor(
|
||||
}
|
||||
}
|
||||
|
||||
override val scriptFileExtensionWithDot: String by lazy(LazyThreadSafetyMode.PUBLICATION) {
|
||||
val extFromAnn = annotationsFromAsm.find { it.name == KotlinScript::class.simpleName }?.args
|
||||
override val fileExtension: String by lazy(LazyThreadSafetyMode.PUBLICATION) {
|
||||
annotationsFromAsm.find { it.name == KotlinScript::class.simpleName }?.args
|
||||
?.find { it.name == "extension" }?.value
|
||||
val ext = extFromAnn
|
||||
?: scriptCompilationConfiguration.let {
|
||||
it[ScriptCompilationConfiguration.fileExtension] ?: "kts"
|
||||
it[ScriptCompilationConfiguration.fileExtension] ?: super.fileExtension
|
||||
}
|
||||
".$ext"
|
||||
}
|
||||
|
||||
override val name: String by lazy(LazyThreadSafetyMode.PUBLICATION) {
|
||||
|
||||
Reference in New Issue
Block a user