Fix script filename extension discovery from asm-readed class

and improve diagnostics on definition loading failure
This commit is contained in:
Ilya Chernikov
2018-12-14 17:58:51 +01:00
parent 7c7c11e916
commit a3217982f7

View File

@@ -58,7 +58,7 @@ class LazyScriptDefinitionFromDiscoveredClass internal constructor(
} catch (ex: Exception) {
messageCollector.report(
CompilerMessageSeverity.ERROR,
"Error processing script definition class $className: ${ex.message}"
"Error processing script definition class $className: ${ex.message}\nclasspath:\n${classpath.joinToString("\n", " ")}"
)
InvalidScriptDefinition
}
@@ -66,7 +66,7 @@ class LazyScriptDefinitionFromDiscoveredClass internal constructor(
override val fileExtension: String by lazy(LazyThreadSafetyMode.PUBLICATION) {
annotationsFromAsm.find { it.name == KotlinScript::class.simpleName }?.args
?.find { it.name == "extension" }?.value
?.find { it.name == "fileExtension" }?.value
?: scriptCompilationConfiguration.let {
it[ScriptCompilationConfiguration.fileExtension] ?: super.fileExtension
}