Introduce GetScriptingClassByClassLoader interface

It is needed to override default JVM behaviour
This commit is contained in:
Ilya Muradyan
2020-11-27 13:55:24 +03:00
committed by Ilya Chernikov
parent 65ce7cd0c2
commit 89bba93615
3 changed files with 160 additions and 4 deletions
@@ -352,8 +352,8 @@ fun getScriptCollectedData(
val hostConfiguration =
compilationConfiguration[ScriptCompilationConfiguration.hostConfiguration] ?: defaultJvmScriptingHostConfiguration
val getScriptingClass = hostConfiguration[ScriptingHostConfiguration.getScriptingClass]
val jvmGetScriptingClass = (getScriptingClass as? JvmGetScriptingClass)
?: throw IllegalArgumentException("Expecting JvmGetScriptingClass in the hostConfiguration[getScriptingClass], got $getScriptingClass")
val jvmGetScriptingClass = (getScriptingClass as? GetScriptingClassByClassLoader)
?: throw IllegalArgumentException("Expecting class implementing GetScriptingClassByClassLoader in the hostConfiguration[getScriptingClass], got $getScriptingClass")
val acceptedAnnotations =
compilationConfiguration[ScriptCompilationConfiguration.refineConfigurationOnAnnotations]?.flatMap {
it.annotations.mapNotNull { ann ->