Refactor definition keys
This commit is contained in:
+2
-1
@@ -253,7 +253,8 @@ internal class BridgeScriptDefinition(
|
||||
) {
|
||||
override val acceptedAnnotations = run {
|
||||
val cl = this::class.java.classLoader
|
||||
getMergedFromChainOrNull(ScriptDefinition.refineConfigurationOnAnnotations, scriptDefinition, additionalCompilationConfiguration)
|
||||
getFirstFromChainOrNull(ScriptDefinition.refineConfigurationOnAnnotations, scriptDefinition, additionalCompilationConfiguration)
|
||||
?.annotations
|
||||
?.map { (cl.loadClass(it.typeName) as Class<out Annotation>).kotlin }
|
||||
?: emptyList()
|
||||
}
|
||||
|
||||
+5
-12
@@ -40,20 +40,13 @@ open class JvmScriptCompiler(
|
||||
scriptDefinition: ScriptDefinition,
|
||||
additionalConfiguration: ScriptCompileConfiguration?
|
||||
): ResultWithDiagnostics<CompiledScript<*>> {
|
||||
val refineConfigurationFn = scriptDefinition[ScriptDefinition.refineConfigurationHandler]
|
||||
val refineConfigurationFn = scriptDefinition[ScriptDefinition.refineConfigurationBeforeParsing]
|
||||
val refinedConfiguration =
|
||||
if (scriptDefinition[ScriptDefinition.refineConfigurationBeforeParsing] == true) {
|
||||
if (refineConfigurationFn == null) {
|
||||
return ResultWithDiagnostics.Failure("Non-null configurator expected".asErrorDiagnostics())
|
||||
refineConfigurationFn?.invoke(ScriptDataFacade(script, scriptDefinition, additionalConfiguration))?.let {
|
||||
when (it) {
|
||||
is ResultWithDiagnostics.Failure -> return it
|
||||
is ResultWithDiagnostics.Success -> it.value
|
||||
}
|
||||
refineConfigurationFn(script, scriptDefinition, additionalConfiguration).let {
|
||||
when (it) {
|
||||
is ResultWithDiagnostics.Failure -> return it
|
||||
is ResultWithDiagnostics.Success -> it.value
|
||||
}
|
||||
}
|
||||
} else {
|
||||
null
|
||||
}
|
||||
val actualConfiguration = mergeConfigurations(additionalConfiguration, refinedConfiguration)
|
||||
val cached = cache.get(script, scriptDefinition, actualConfiguration)
|
||||
|
||||
Reference in New Issue
Block a user