From eb3d8a1a4a1aca9c5d6002c2f9e554dba85a7139 Mon Sep 17 00:00:00 2001 From: Ilya Chernikov Date: Fri, 2 Dec 2016 14:28:21 +0100 Subject: [PATCH] Fix classpah update moment on script dependencies calculations --- .../cli/src/org/jetbrains/kotlin/cli/jvm/repl/GenericRepl.kt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/repl/GenericRepl.kt b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/repl/GenericRepl.kt index e6b789b900c..b0fc01e4de3 100644 --- a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/repl/GenericRepl.kt +++ b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/repl/GenericRepl.kt @@ -22,6 +22,7 @@ import com.intellij.openapi.vfs.CharsetToolkit import com.intellij.psi.PsiFileFactory import com.intellij.psi.impl.PsiFileFactoryImpl import com.intellij.testFramework.LightVirtualFile +import java.io.File import org.jetbrains.kotlin.cli.common.CLIConfigurationKeys import org.jetbrains.kotlin.cli.common.messages.AnalyzerWithCompilerReport import org.jetbrains.kotlin.cli.common.messages.MessageCollector @@ -130,8 +131,10 @@ open class GenericReplCompiler( } val newDependencies = scriptDefinition.getDependenciesFor(psiFile, environment.project, lastDependencies) + var classpathAddendum: List? = null if (lastDependencies != newDependencies) { lastDependencies = newDependencies + classpathAddendum = newDependencies?.let { environment.updateClasspath(it.classpath.map(::JvmClasspathRoot)) } } val analysisResult = analyzerEngine.analyzeReplLine(psiFile, codeLine.no) @@ -164,7 +167,7 @@ open class GenericReplCompiler( return ReplCompileResult.CompiledClasses(descriptorsHistory.lines, state.factory.asList().map { CompiledClassData(it.relativePath, it.asByteArray()) }, state.replSpecific.hasResult, - newDependencies?.let { environment.updateClasspath(it.classpath.map(::JvmClasspathRoot)) } ?: emptyList()) + classpathAddendum ?: emptyList()) } companion object {