Refactor scripting - get rid of unused type parameter in CompiledScript

This commit is contained in:
Ilya Chernikov
2020-04-02 12:48:05 +02:00
parent c64ba50655
commit 138efda19f
19 changed files with 54 additions and 54 deletions
@@ -14,5 +14,5 @@ interface ScriptCompilerProxy {
fun compile(
script: SourceCode,
scriptCompilationConfiguration: ScriptCompilationConfiguration
): ResultWithDiagnostics<CompiledScript<*>>
): ResultWithDiagnostics<CompiledScript>
}
@@ -69,7 +69,7 @@ class KJvmReplCompilerImpl(val hostConfiguration: ScriptingHostConfiguration) :
snippetId: ReplSnippetId,
// TODO: replace history with some interface based on CompiledScript
history: IReplStageHistory<ScriptDescriptor>
): ResultWithDiagnostics<CompiledScript<*>> =
): ResultWithDiagnostics<CompiledScript> =
withMessageCollector(snippet) { messageCollector ->
val context = (compilationState as? ReplCompilationState)?.context
@@ -31,7 +31,7 @@ class JsScriptCompilerWithDependenciesProxy(private val environment: KotlinCoreE
override fun compile(
script: SourceCode,
scriptCompilationConfiguration: ScriptCompilationConfiguration
): ResultWithDiagnostics<CompiledScript<*>> {
): ResultWithDiagnostics<CompiledScript> {
val parentMessageCollector = environment.configuration[CLIConfigurationKeys.MESSAGE_COLLECTOR_KEY]
return withMessageCollector(script = script, parentMessageCollector = parentMessageCollector) { messageCollector ->
environment.configuration.put(CLIConfigurationKeys.MESSAGE_COLLECTOR_KEY, messageCollector)
@@ -37,7 +37,7 @@ class ScriptJvmCompilerIsolated(val hostConfiguration: ScriptingHostConfiguratio
override fun compile(
script: SourceCode,
scriptCompilationConfiguration: ScriptCompilationConfiguration
): ResultWithDiagnostics<CompiledScript<*>> =
): ResultWithDiagnostics<CompiledScript> =
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<CompiledScript<*>> {
): ResultWithDiagnostics<CompiledScript> {
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<CompiledScript<*>>
): ResultWithDiagnostics<CompiledScript<*>> {
body: () -> ResultWithDiagnostics<CompiledScript>
): ResultWithDiagnostics<CompiledScript> {
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<CompiledScript<*>> {
): ResultWithDiagnostics<CompiledScript> {
val mainKtFile =
getScriptKtFile(
script,
@@ -168,7 +168,7 @@ private fun doCompile(
sourceDependencies: List<ScriptsCompilationDependencies.SourceDependencies>,
messageCollector: ScriptDiagnosticsMessageCollector,
getScriptConfiguration: (KtFile) -> ScriptCompilationConfiguration
): ResultWithDiagnostics<KJvmCompiledScript<Any>> {
): ResultWithDiagnostics<KJvmCompiledScript> {
registerPackageFragmentProvidersIfNeeded(getScriptConfiguration(sourceFiles.first()), context.environment)
@@ -105,12 +105,12 @@ internal fun makeCompiledScript(
ktFile: KtFile,
sourceDependencies: List<ScriptsCompilationDependencies.SourceDependencies>,
getScriptConfiguration: (KtFile) -> ScriptCompilationConfiguration
): KJvmCompiledScript<Any> {
): KJvmCompiledScript {
val scriptDependenciesStack = ArrayDeque<KtScript>()
val ktScript = ktFile.declarations.firstIsInstanceOrNull<KtScript>()
?: throw IllegalStateException("Expecting script file: KtScript is not found in ${ktFile.name}")
fun makeOtherScripts(script: KtScript): List<KJvmCompiledScript<*>> {
fun makeOtherScripts(script: KtScript): List<KJvmCompiledScript> {
// 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<KJvmCompiledScript<*>> =
val otherScripts: List<KJvmCompiledScript> =
sourceDependencies.find { it.scriptFile == containingKtFile }?.sourceDependencies?.valueOrThrow()?.mapNotNull { sourceFile ->
sourceFile.declarations.firstIsInstanceOrNull<KtScript>()?.let {
KJvmCompiledScript<Any>(
KJvmCompiledScript(
containingKtFile.virtualFile?.path,
getScriptConfiguration(sourceFile),
it.fqName.asString(),
@@ -30,7 +30,7 @@ interface KJvmReplCompilerProxy {
snippet: SourceCode,
snippetId: ReplSnippetId,
history: IReplStageHistory<ScriptDescriptor>
): ResultWithDiagnostics<CompiledScript<*>>
): ResultWithDiagnostics<CompiledScript>
}
class JvmReplCompilerStageHistory(private val state: JvmReplCompilerState) :