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 4d89065f01b..c3ea3517858 100644 --- a/libraries/scripting/common/src/kotlin/script/experimental/api/scriptCompilation.kt +++ b/libraries/scripting/common/src/kotlin/script/experimental/api/scriptCompilation.kt @@ -317,13 +317,13 @@ interface ScriptCompiler { suspend operator fun invoke( script: SourceCode, scriptCompilationConfiguration: ScriptCompilationConfiguration - ): ResultWithDiagnostics> + ): ResultWithDiagnostics } /** * The interface to the compiled script */ -interface CompiledScript { +interface CompiledScript { /** * The location identifier for the script source, taken from SourceCode.locationId @@ -346,7 +346,7 @@ interface CompiledScript { /** * The scripts compiled along with this one in one module, imported or otherwise included into compilation */ - val otherScripts: List> + val otherScripts: List get() = emptyList() /** diff --git a/libraries/scripting/common/src/kotlin/script/experimental/api/scriptData.kt b/libraries/scripting/common/src/kotlin/script/experimental/api/scriptData.kt index a1b9a68cc4f..b4a15bbf96a 100644 --- a/libraries/scripting/common/src/kotlin/script/experimental/api/scriptData.kt +++ b/libraries/scripting/common/src/kotlin/script/experimental/api/scriptData.kt @@ -147,7 +147,7 @@ val ScriptEvaluationContextDataKeys.commandLineArgs by PropertiesCollection.key< * The facade to the script data for evaluation configuration refinement callbacks */ data class ScriptEvaluationConfigurationRefinementContext( - val compiledScript: CompiledScript<*>, + val compiledScript: CompiledScript, val evaluationConfiguration: ScriptEvaluationConfiguration, val contextData: ScriptEvaluationContextData? = null ) diff --git a/libraries/scripting/common/src/kotlin/script/experimental/api/scriptEvaluation.kt b/libraries/scripting/common/src/kotlin/script/experimental/api/scriptEvaluation.kt index 8a90984bb9e..f03cff7b9b8 100644 --- a/libraries/scripting/common/src/kotlin/script/experimental/api/scriptEvaluation.kt +++ b/libraries/scripting/common/src/kotlin/script/experimental/api/scriptEvaluation.kt @@ -120,7 +120,7 @@ data class RefineEvaluationConfigurationData( } fun ScriptEvaluationConfiguration.refineBeforeEvaluation( - script: CompiledScript<*>, + script: CompiledScript, contextData: ScriptEvaluationContextData? = null ): ResultWithDiagnostics { val hostConfiguration = get(ScriptEvaluationConfiguration.hostConfiguration) @@ -191,7 +191,7 @@ interface ScriptEvaluator { * @param scriptEvaluationConfiguration evaluation configuration */ suspend operator fun invoke( - compiledScript: CompiledScript<*>, + compiledScript: CompiledScript, scriptEvaluationConfiguration: ScriptEvaluationConfiguration = ScriptEvaluationConfiguration.Default ): ResultWithDiagnostics } diff --git a/libraries/scripting/js/src/org/jetbrains/kotlin/scripting/repl/js/JsReplUtils.kt b/libraries/scripting/js/src/org/jetbrains/kotlin/scripting/repl/js/JsReplUtils.kt index b4386cbe65c..d0c35af5172 100644 --- a/libraries/scripting/js/src/org/jetbrains/kotlin/scripting/repl/js/JsReplUtils.kt +++ b/libraries/scripting/js/src/org/jetbrains/kotlin/scripting/repl/js/JsReplUtils.kt @@ -40,7 +40,7 @@ class JsEvaluationState(lock: ReentrantReadWriteLock, val engine: ScriptEngine) class JsCompiledScript( val jsCode: String, override val compilationConfiguration: ScriptCompilationConfiguration -) : CompiledScript { +) : CompiledScript { override suspend fun getClass(scriptEvaluationConfiguration: ScriptEvaluationConfiguration?): ResultWithDiagnostics> { throw IllegalStateException("Class is not available for JS implementation") } diff --git a/libraries/scripting/js/src/org/jetbrains/kotlin/scripting/repl/js/JsScriptEvaluator.kt b/libraries/scripting/js/src/org/jetbrains/kotlin/scripting/repl/js/JsScriptEvaluator.kt index b55815fca79..28479d88a91 100644 --- a/libraries/scripting/js/src/org/jetbrains/kotlin/scripting/repl/js/JsScriptEvaluator.kt +++ b/libraries/scripting/js/src/org/jetbrains/kotlin/scripting/repl/js/JsScriptEvaluator.kt @@ -13,7 +13,7 @@ class JsScriptEvaluator : ScriptEvaluator { private val engine = ScriptEngineNashorn() override suspend fun invoke( - compiledScript: CompiledScript<*>, + compiledScript: CompiledScript, scriptEvaluationConfiguration: ScriptEvaluationConfiguration ): ResultWithDiagnostics { return try { diff --git a/libraries/scripting/jvm-host-test/test/kotlin/script/experimental/jvmhost/test/ScriptingHostTest.kt b/libraries/scripting/jvm-host-test/test/kotlin/script/experimental/jvmhost/test/ScriptingHostTest.kt index d2a62c1d95c..8d67ca7e8ef 100644 --- a/libraries/scripting/jvm-host-test/test/kotlin/script/experimental/jvmhost/test/ScriptingHostTest.kt +++ b/libraries/scripting/jvm-host-test/test/kotlin/script/experimental/jvmhost/test/ScriptingHostTest.kt @@ -377,7 +377,7 @@ class ScriptingHostTest : TestCase() { val compiler = JvmScriptCompiler(defaultJvmScriptingHostConfiguration) val compiledScript = runBlocking { val res = compiler(script.toScriptSource(), scriptCompilationConfiguration).throwOnFailure() - (res as ResultWithDiagnostics.Success>).value + (res as ResultWithDiagnostics.Success).value } val compiledScriptClass = runBlocking { compiledScript.getClass(null).throwOnFailure().valueOrNull()!! as KClass<*> } val classLoader = compiledScriptClass.java.classLoader diff --git a/libraries/scripting/jvm-host/src/kotlin/script/experimental/jvmhost/CompiledScriptJarsCache.kt b/libraries/scripting/jvm-host/src/kotlin/script/experimental/jvmhost/CompiledScriptJarsCache.kt index cba693e6e18..5c3f04a66d2 100644 --- a/libraries/scripting/jvm-host/src/kotlin/script/experimental/jvmhost/CompiledScriptJarsCache.kt +++ b/libraries/scripting/jvm-host/src/kotlin/script/experimental/jvmhost/CompiledScriptJarsCache.kt @@ -22,7 +22,7 @@ import kotlin.script.experimental.jvm.jvm open class CompiledScriptJarsCache(val scriptToFile: (SourceCode, ScriptCompilationConfiguration) -> File?) : CompiledJvmScriptsCache { - override fun get(script: SourceCode, scriptCompilationConfiguration: ScriptCompilationConfiguration): CompiledScript<*>? { + override fun get(script: SourceCode, scriptCompilationConfiguration: ScriptCompilationConfiguration): CompiledScript? { val file = scriptToFile(script, scriptCompilationConfiguration) ?: throw IllegalArgumentException("Unable to find a mapping to a file for the script $script") @@ -42,14 +42,14 @@ open class CompiledScriptJarsCache(val scriptToFile: (SourceCode, ScriptCompilat } override fun store( - compiledScript: CompiledScript<*>, + compiledScript: CompiledScript, script: SourceCode, scriptCompilationConfiguration: ScriptCompilationConfiguration ) { val file = scriptToFile(script, scriptCompilationConfiguration) ?: throw IllegalArgumentException("Unable to find a mapping to a file for the script $script") - val jvmScript = (compiledScript as? KJvmCompiledScript<*>) + val jvmScript = (compiledScript as? KJvmCompiledScript) ?: throw IllegalArgumentException("Unsupported script type ${compiledScript::class.java.name}") jvmScript.saveToJar(file) diff --git a/libraries/scripting/jvm-host/src/kotlin/script/experimental/jvmhost/jvmScriptCompilation.kt b/libraries/scripting/jvm-host/src/kotlin/script/experimental/jvmhost/jvmScriptCompilation.kt index 81803482dac..619db94032d 100644 --- a/libraries/scripting/jvm-host/src/kotlin/script/experimental/jvmhost/jvmScriptCompilation.kt +++ b/libraries/scripting/jvm-host/src/kotlin/script/experimental/jvmhost/jvmScriptCompilation.kt @@ -26,7 +26,7 @@ open class JvmScriptCompiler( override suspend operator fun invoke( script: SourceCode, scriptCompilationConfiguration: ScriptCompilationConfiguration - ): ResultWithDiagnostics> = + ): ResultWithDiagnostics = compilerProxy.compile( script, scriptCompilationConfiguration.with { diff --git a/libraries/scripting/jvm-host/src/kotlin/script/experimental/jvmhost/jvmScriptSaving.kt b/libraries/scripting/jvm-host/src/kotlin/script/experimental/jvmhost/jvmScriptSaving.kt index 2a44a1cad0f..6c267a2858a 100644 --- a/libraries/scripting/jvm-host/src/kotlin/script/experimental/jvmhost/jvmScriptSaving.kt +++ b/libraries/scripting/jvm-host/src/kotlin/script/experimental/jvmhost/jvmScriptSaving.kt @@ -22,11 +22,11 @@ import kotlin.script.experimental.jvm.util.scriptCompilationClasspathFromContext open class BasicJvmScriptClassFilesGenerator(val outputDir: File) : ScriptEvaluator { override suspend operator fun invoke( - compiledScript: CompiledScript<*>, + compiledScript: CompiledScript, scriptEvaluationConfiguration: ScriptEvaluationConfiguration ): ResultWithDiagnostics { try { - if (compiledScript !is KJvmCompiledScript<*>) + if (compiledScript !is KJvmCompiledScript) return failure("Cannot generate classes: unsupported compiled script type $compiledScript") val module = (compiledScript.compiledModule as? KJvmCompiledModuleInMemory) ?: return failure("Cannot generate classes: unsupported module type ${compiledScript.compiledModule}") @@ -47,7 +47,7 @@ open class BasicJvmScriptClassFilesGenerator(val outputDir: File) : ScriptEvalua } } -fun KJvmCompiledScript<*>.saveToJar(outputJar: File) { +fun KJvmCompiledScript.saveToJar(outputJar: File) { val module = (compiledModule as? KJvmCompiledModuleInMemory) ?: throw IllegalArgumentException("Unsupported module type $compiledModule") val dependenciesFromScript = compilationConfiguration[ScriptCompilationConfiguration.dependencies] @@ -90,11 +90,11 @@ fun KJvmCompiledScript<*>.saveToJar(outputJar: File) { open class BasicJvmScriptJarGenerator(val outputJar: File) : ScriptEvaluator { override suspend operator fun invoke( - compiledScript: CompiledScript<*>, + compiledScript: CompiledScript, scriptEvaluationConfiguration: ScriptEvaluationConfiguration ): ResultWithDiagnostics { try { - if (compiledScript !is KJvmCompiledScript<*>) + if (compiledScript !is KJvmCompiledScript) return failure("Cannot generate jar: unsupported compiled script type $compiledScript") compiledScript.saveToJar(outputJar) return ResultWithDiagnostics.Success(EvaluationResult(ResultValue.NotEvaluated, scriptEvaluationConfiguration)) diff --git a/libraries/scripting/jvm-host/src/kotlin/script/experimental/jvmhost/repl/legacyReplEvaluation.kt b/libraries/scripting/jvm-host/src/kotlin/script/experimental/jvmhost/repl/legacyReplEvaluation.kt index bdacce3793f..a9b6b235863 100644 --- a/libraries/scripting/jvm-host/src/kotlin/script/experimental/jvmhost/repl/legacyReplEvaluation.kt +++ b/libraries/scripting/jvm-host/src/kotlin/script/experimental/jvmhost/repl/legacyReplEvaluation.kt @@ -35,7 +35,7 @@ class JvmReplEvaluator( ): ReplEvalResult = state.lock.write { val evalState = state.asState(JvmReplEvaluatorState::class.java) val history = evalState.history as ReplStageHistoryWithReplace - val compiledScript = (compileResult.data as? KJvmCompiledScript<*>) + val compiledScript = (compileResult.data as? KJvmCompiledScript) ?: return ReplEvalResult.Error.CompileTime("Unable to access compiled script: ${compileResult.data}") val lastSnippetClass = history.peek()?.item?.first diff --git a/libraries/scripting/jvm/src/kotlin/script/experimental/jvm/BasicJvmScriptEvaluator.kt b/libraries/scripting/jvm/src/kotlin/script/experimental/jvm/BasicJvmScriptEvaluator.kt index b58f23e304f..b2cb3a4572c 100644 --- a/libraries/scripting/jvm/src/kotlin/script/experimental/jvm/BasicJvmScriptEvaluator.kt +++ b/libraries/scripting/jvm/src/kotlin/script/experimental/jvm/BasicJvmScriptEvaluator.kt @@ -13,7 +13,7 @@ import kotlin.script.experimental.jvm.impl.getConfigurationWithClassloader open class BasicJvmScriptEvaluator : ScriptEvaluator { override suspend operator fun invoke( - compiledScript: CompiledScript<*>, + compiledScript: CompiledScript, scriptEvaluationConfiguration: ScriptEvaluationConfiguration ): ResultWithDiagnostics = try { val configuration = getConfigurationWithClassloader(compiledScript, scriptEvaluationConfiguration) diff --git a/libraries/scripting/jvm/src/kotlin/script/experimental/jvm/impl/KJvmCompiledScript.kt b/libraries/scripting/jvm/src/kotlin/script/experimental/jvm/impl/KJvmCompiledScript.kt index 10821c05027..baab0e60c7f 100644 --- a/libraries/scripting/jvm/src/kotlin/script/experimental/jvm/impl/KJvmCompiledScript.kt +++ b/libraries/scripting/jvm/src/kotlin/script/experimental/jvm/impl/KJvmCompiledScript.kt @@ -18,7 +18,7 @@ internal class KJvmCompiledScriptData( var compilationConfiguration: ScriptCompilationConfiguration, var scriptClassFQName: String, var resultField: Pair?, - var otherScripts: List> = emptyList() + var otherScripts: List = emptyList() ) : Serializable { private fun writeObject(outputStream: ObjectOutputStream) { @@ -33,7 +33,7 @@ internal class KJvmCompiledScriptData( private fun readObject(inputStream: ObjectInputStream) { compilationConfiguration = inputStream.readObject() as ScriptCompilationConfiguration sourceLocationId = inputStream.readObject() as String? - otherScripts = inputStream.readObject() as List> + otherScripts = inputStream.readObject() as List scriptClassFQName = inputStream.readObject() as String resultField = inputStream.readObject() as Pair? } @@ -44,17 +44,17 @@ internal class KJvmCompiledScriptData( } } -class KJvmCompiledScript internal constructor( +class KJvmCompiledScript internal constructor( internal var data: KJvmCompiledScriptData, var compiledModule: KJvmCompiledModule? // module should be null for imported (other) scripts, so only one reference to the module is kept -) : CompiledScript, Serializable { +) : CompiledScript, Serializable { constructor( sourceLocationId: String?, compilationConfiguration: ScriptCompilationConfiguration, scriptClassFQName: String, resultField: Pair?, - otherScripts: List> = emptyList(), + otherScripts: List = emptyList(), compiledModule: KJvmCompiledModule? // module should be null for imported (other) scripts, so only one reference to the module is kept ) : this( KJvmCompiledScriptData(sourceLocationId, compilationConfiguration, scriptClassFQName, resultField, otherScripts), @@ -67,7 +67,7 @@ class KJvmCompiledScript internal constructor( override val compilationConfiguration: ScriptCompilationConfiguration get() = data.compilationConfiguration - override val otherScripts: List> + override val otherScripts: List get() = data.otherScripts val scriptClassFQName: String @@ -111,7 +111,7 @@ class KJvmCompiledScript internal constructor( } } -fun KJvmCompiledScript<*>.getOrCreateActualClassloader(evaluationConfiguration: ScriptEvaluationConfiguration): ClassLoader = +fun KJvmCompiledScript.getOrCreateActualClassloader(evaluationConfiguration: ScriptEvaluationConfiguration): ClassLoader = evaluationConfiguration[ScriptEvaluationConfiguration.jvm.actualClassLoader] ?: run { val module = compiledModule ?: throw IllegalStateException("Illegal call sequence, actualClassloader should be set before calling function on the class without module") @@ -123,12 +123,12 @@ fun KJvmCompiledScript<*>.getOrCreateActualClassloader(evaluationConfiguration: } fun getConfigurationWithClassloader( - script: CompiledScript<*>, baseConfiguration: ScriptEvaluationConfiguration + script: CompiledScript, baseConfiguration: ScriptEvaluationConfiguration ): ScriptEvaluationConfiguration = if (baseConfiguration.containsKey(ScriptEvaluationConfiguration.jvm.actualClassLoader)) baseConfiguration else { - val jvmScript = (script as? KJvmCompiledScript<*>) + val jvmScript = (script as? KJvmCompiledScript) ?: throw IllegalArgumentException("Unexpected compiled script type: $script") val classloader = jvmScript.getOrCreateActualClassloader(baseConfiguration) @@ -141,9 +141,9 @@ fun getConfigurationWithClassloader( } } -private fun CompiledScript<*>.makeClassLoaderFromDependencies(baseClassLoader: ClassLoader?): ClassLoader? { - val processedScripts = mutableSetOf>() - fun recursiveScriptsSeq(res: Sequence>, script: CompiledScript<*>): Sequence> = +private fun CompiledScript.makeClassLoaderFromDependencies(baseClassLoader: ClassLoader?): ClassLoader? { + val processedScripts = mutableSetOf() + fun recursiveScriptsSeq(res: Sequence, script: CompiledScript): Sequence = if (processedScripts.add(script)) script.otherScripts.asSequence().fold(res + script, ::recursiveScriptsSeq) else res @@ -188,9 +188,9 @@ const val KOTLIN_SCRIPT_METADATA_EXTENSION_WITH_DOT = ".kotlin_script" fun scriptMetadataPath(scriptClassFQName: String) = "$KOTLIN_SCRIPT_METADATA_PATH/$scriptClassFQName$KOTLIN_SCRIPT_METADATA_EXTENSION_WITH_DOT" -fun KJvmCompiledScript.copyWithoutModule(): KJvmCompiledScript = KJvmCompiledScript(data, null) +fun KJvmCompiledScript.copyWithoutModule(): KJvmCompiledScript = KJvmCompiledScript(data, null) -fun KJvmCompiledScript<*>.toBytes(): ByteArray { +fun KJvmCompiledScript.toBytes(): ByteArray { val bos = ByteArrayOutputStream() var oos: ObjectOutputStream? = null try { @@ -206,11 +206,11 @@ fun KJvmCompiledScript<*>.toBytes(): ByteArray { } } -fun createScriptFromClassLoader(scriptClassFQName: String, classLoader: ClassLoader): KJvmCompiledScript<*> { +fun createScriptFromClassLoader(scriptClassFQName: String, classLoader: ClassLoader): KJvmCompiledScript { val scriptDataStream = classLoader.getResourceAsStream(scriptMetadataPath(scriptClassFQName)) ?: throw IllegalArgumentException("Cannot find metadata for script $scriptClassFQName") val script = ObjectInputStream(scriptDataStream).use { - it.readObject() as KJvmCompiledScript<*> + it.readObject() as KJvmCompiledScript } script.compiledModule = KJvmCompiledModuleFromClassLoader(classLoader) return script diff --git a/libraries/scripting/jvm/src/kotlin/script/experimental/jvm/jvmScriptCaching.kt b/libraries/scripting/jvm/src/kotlin/script/experimental/jvm/jvmScriptCaching.kt index c1afc9f9a95..df8dff92153 100644 --- a/libraries/scripting/jvm/src/kotlin/script/experimental/jvm/jvmScriptCaching.kt +++ b/libraries/scripting/jvm/src/kotlin/script/experimental/jvm/jvmScriptCaching.kt @@ -11,16 +11,16 @@ import kotlin.script.experimental.api.SourceCode import kotlin.script.experimental.util.PropertiesCollection interface CompiledJvmScriptsCache { - fun get(script: SourceCode, scriptCompilationConfiguration: ScriptCompilationConfiguration): CompiledScript<*>? - fun store(compiledScript: CompiledScript<*>, script: SourceCode, scriptCompilationConfiguration: ScriptCompilationConfiguration) + fun get(script: SourceCode, scriptCompilationConfiguration: ScriptCompilationConfiguration): CompiledScript? + fun store(compiledScript: CompiledScript, script: SourceCode, scriptCompilationConfiguration: ScriptCompilationConfiguration) object NoCache : CompiledJvmScriptsCache { override fun get( script: SourceCode, scriptCompilationConfiguration: ScriptCompilationConfiguration - ): CompiledScript<*>? = null + ): CompiledScript? = null override fun store( - compiledScript: CompiledScript<*>, script: SourceCode, scriptCompilationConfiguration: ScriptCompilationConfiguration + compiledScript: CompiledScript, script: SourceCode, scriptCompilationConfiguration: ScriptCompilationConfiguration ) { } } diff --git a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/ScriptCompilerProxy.kt b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/ScriptCompilerProxy.kt index 1acacb9eb5e..a8951cb2b65 100644 --- a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/ScriptCompilerProxy.kt +++ b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/ScriptCompilerProxy.kt @@ -14,5 +14,5 @@ interface ScriptCompilerProxy { fun compile( script: SourceCode, scriptCompilationConfiguration: ScriptCompilationConfiguration - ): ResultWithDiagnostics> + ): ResultWithDiagnostics } \ No newline at end of file diff --git a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/impl/KJvmReplCompilerImpl.kt b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/impl/KJvmReplCompilerImpl.kt index 8db61edc350..8e026e3d61c 100644 --- a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/impl/KJvmReplCompilerImpl.kt +++ b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/impl/KJvmReplCompilerImpl.kt @@ -69,7 +69,7 @@ class KJvmReplCompilerImpl(val hostConfiguration: ScriptingHostConfiguration) : snippetId: ReplSnippetId, // TODO: replace history with some interface based on CompiledScript history: IReplStageHistory - ): ResultWithDiagnostics> = + ): ResultWithDiagnostics = withMessageCollector(snippet) { messageCollector -> val context = (compilationState as? ReplCompilationState)?.context diff --git a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/impl/ScriptJsCompilerImpls.kt b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/impl/ScriptJsCompilerImpls.kt index e503e63ff10..6a7f91b40ba 100644 --- a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/impl/ScriptJsCompilerImpls.kt +++ b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/impl/ScriptJsCompilerImpls.kt @@ -31,7 +31,7 @@ class JsScriptCompilerWithDependenciesProxy(private val environment: KotlinCoreE override fun compile( script: SourceCode, scriptCompilationConfiguration: ScriptCompilationConfiguration - ): ResultWithDiagnostics> { + ): ResultWithDiagnostics { val parentMessageCollector = environment.configuration[CLIConfigurationKeys.MESSAGE_COLLECTOR_KEY] return withMessageCollector(script = script, parentMessageCollector = parentMessageCollector) { messageCollector -> environment.configuration.put(CLIConfigurationKeys.MESSAGE_COLLECTOR_KEY, messageCollector) diff --git a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/impl/ScriptJvmCompilerImpls.kt b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/impl/ScriptJvmCompilerImpls.kt index 3df8268b590..c9a877b416b 100644 --- a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/impl/ScriptJvmCompilerImpls.kt +++ b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/impl/ScriptJvmCompilerImpls.kt @@ -37,7 +37,7 @@ class ScriptJvmCompilerIsolated(val hostConfiguration: ScriptingHostConfiguratio override fun compile( script: SourceCode, scriptCompilationConfiguration: ScriptCompilationConfiguration - ): ResultWithDiagnostics> = + ): ResultWithDiagnostics = withMessageCollectorAndDisposable(script = script) { messageCollector, disposable -> withScriptCompilationCache(script, scriptCompilationConfiguration, messageCollector) { val initialConfiguration = scriptCompilationConfiguration.refineBeforeParsing(script).valueOr { @@ -58,7 +58,7 @@ class ScriptJvmCompilerFromEnvironment(val environment: KotlinCoreEnvironment) : override fun compile( script: SourceCode, scriptCompilationConfiguration: ScriptCompilationConfiguration - ): ResultWithDiagnostics> { + ): ResultWithDiagnostics { val parentMessageCollector = environment.configuration[CLIConfigurationKeys.MESSAGE_COLLECTOR_KEY] return withMessageCollector(script = script, parentMessageCollector = parentMessageCollector) { messageCollector -> withScriptCompilationCache(script, scriptCompilationConfiguration, messageCollector) { @@ -86,8 +86,8 @@ private fun withScriptCompilationCache( script: SourceCode, scriptCompilationConfiguration: ScriptCompilationConfiguration, messageCollector: ScriptDiagnosticsMessageCollector, - body: () -> ResultWithDiagnostics> -): ResultWithDiagnostics> { + body: () -> ResultWithDiagnostics +): ResultWithDiagnostics { val cache = scriptCompilationConfiguration[ScriptCompilationConfiguration.hostConfiguration]?.get(ScriptingHostConfiguration.jvm.compilationCache) val cached = cache?.get(script, scriptCompilationConfiguration) @@ -104,7 +104,7 @@ private fun compileImpl( script: SourceCode, context: SharedScriptCompilationContext, messageCollector: ScriptDiagnosticsMessageCollector -): ResultWithDiagnostics> { +): ResultWithDiagnostics { val mainKtFile = getScriptKtFile( script, @@ -168,7 +168,7 @@ private fun doCompile( sourceDependencies: List, messageCollector: ScriptDiagnosticsMessageCollector, getScriptConfiguration: (KtFile) -> ScriptCompilationConfiguration -): ResultWithDiagnostics> { +): ResultWithDiagnostics { registerPackageFragmentProvidersIfNeeded(getScriptConfiguration(sourceFiles.first()), context.environment) diff --git a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/impl/jvmCompilationUtil.kt b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/impl/jvmCompilationUtil.kt index 81bf3dfd417..0871e02d332 100644 --- a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/impl/jvmCompilationUtil.kt +++ b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/impl/jvmCompilationUtil.kt @@ -105,12 +105,12 @@ internal fun makeCompiledScript( ktFile: KtFile, sourceDependencies: List, getScriptConfiguration: (KtFile) -> ScriptCompilationConfiguration -): KJvmCompiledScript { +): KJvmCompiledScript { val scriptDependenciesStack = ArrayDeque() val ktScript = ktFile.declarations.firstIsInstanceOrNull() ?: throw IllegalStateException("Expecting script file: KtScript is not found in ${ktFile.name}") - fun makeOtherScripts(script: KtScript): List> { + fun makeOtherScripts(script: KtScript): List { // TODO: ensure that it is caught earlier (as well) since it would be more economical if (scriptDependenciesStack.contains(script)) @@ -118,10 +118,10 @@ internal fun makeCompiledScript( scriptDependenciesStack.push(script) val containingKtFile = script.containingKtFile - val otherScripts: List> = + val otherScripts: List = sourceDependencies.find { it.scriptFile == containingKtFile }?.sourceDependencies?.valueOrThrow()?.mapNotNull { sourceFile -> sourceFile.declarations.firstIsInstanceOrNull()?.let { - KJvmCompiledScript( + KJvmCompiledScript( containingKtFile.virtualFile?.path, getScriptConfiguration(sourceFile), it.fqName.asString(), diff --git a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/repl/jvmReplCompilation.kt b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/repl/jvmReplCompilation.kt index 725bf6c2a0f..87ab9f63b54 100644 --- a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/repl/jvmReplCompilation.kt +++ b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/repl/jvmReplCompilation.kt @@ -30,7 +30,7 @@ interface KJvmReplCompilerProxy { snippet: SourceCode, snippetId: ReplSnippetId, history: IReplStageHistory - ): ResultWithDiagnostics> + ): ResultWithDiagnostics } class JvmReplCompilerStageHistory(private val state: JvmReplCompilerState) :