diff --git a/compiler/daemon/daemon-client/src/org/jetbrains/kotlin/daemon/client/KotlinCompilerClient.kt b/compiler/daemon/daemon-client/src/org/jetbrains/kotlin/daemon/client/KotlinCompilerClient.kt index 16cb14ec670..eb63f161586 100644 --- a/compiler/daemon/daemon-client/src/org/jetbrains/kotlin/daemon/client/KotlinCompilerClient.kt +++ b/compiler/daemon/daemon-client/src/org/jetbrains/kotlin/daemon/client/KotlinCompilerClient.kt @@ -50,6 +50,7 @@ object KotlinCompilerClient { val verboseReporting = System.getProperty(COMPILE_DAEMON_VERBOSE_REPORT_PROPERTY) != null + data class ServiceWithSession(val service: CompileService, val sessionId: Int) fun connectToCompileService(compilerId: CompilerId, daemonJVMOptions: DaemonJVMOptions, @@ -81,7 +82,7 @@ object KotlinCompilerClient { reportingTargets, autostart, leaseSession = false, - sessionAliveFlagFile = null)?.first + sessionAliveFlagFile = null)?.service fun connectAndLease(compilerId: CompilerId, @@ -92,19 +93,19 @@ object KotlinCompilerClient { autostart: Boolean, leaseSession: Boolean, sessionAliveFlagFile: File? = null - ): Pair? = connectLoop(reportingTargets) { + ): ServiceWithSession? = connectLoop(reportingTargets) { val (service, newJVMOptions) = tryFindSuitableDaemonOrNewOpts(File(daemonOptions.runFilesPath), compilerId, daemonJVMOptions, { cat, msg -> reportingTargets.report(cat, msg) }) if (service != null) { // the newJVMOptions could be checked here for additional parameters, if needed service.registerClient(clientAliveFlagFile.absolutePath) reportingTargets.report(DaemonReportCategory.DEBUG, "connected to the daemon") - if (!leaseSession) service to CompileService.NO_SESSION + if (!leaseSession) ServiceWithSession(service, CompileService.NO_SESSION) else { val sessionId = service.leaseCompileSession(sessionAliveFlagFile?.absolutePath) if (sessionId is CompileService.CallResult.Dying) null else - service to sessionId.get() + ServiceWithSession(service, sessionId.get()) } } else { reportingTargets.report(DaemonReportCategory.DEBUG, "no suitable daemon found") diff --git a/compiler/tests/org/jetbrains/kotlin/daemon/CompilerDaemonTest.kt b/compiler/tests/org/jetbrains/kotlin/daemon/CompilerDaemonTest.kt index 35162456dc8..879fa58b118 100644 --- a/compiler/tests/org/jetbrains/kotlin/daemon/CompilerDaemonTest.kt +++ b/compiler/tests/org/jetbrains/kotlin/daemon/CompilerDaemonTest.kt @@ -425,13 +425,13 @@ class CompilerDaemonTest : KotlinIntegrationTestBase() { val daemonWithSession = KotlinCompilerClient.connectAndLease(compilerId, flagFile, daemonJVMOptions, daemonOptions, DaemonReportingTargets(out = System.err), autostart = true, leaseSession = true, sessionAliveFlagFile = sessionFlagFile) - if (daemonWithSession?.first == null) { + if (daemonWithSession?.service == null) { fail("failed to connect daemon:\n${logFile.readLines().joinToString("\n")}\n------") } val jar = tmpdir.absolutePath + File.separator + "hello.$threadNo.jar" val res = KotlinCompilerClient.compile( - daemonWithSession!!.first, - daemonWithSession.second, + daemonWithSession!!.service, + daemonWithSession.sessionId, CompileService.TargetPlatform.JVM, arrayOf(File(getHelloAppBaseDir(), "hello.kt").absolutePath, "-d", jar), outStreams[threadNo]) diff --git a/plugins/source-sections/source-sections-compiler/tests/org/jetbrains/kotlin/sourceSections/SourceSectionsTest.kt b/plugins/source-sections/source-sections-compiler/tests/org/jetbrains/kotlin/sourceSections/SourceSectionsTest.kt index d515488e708..1ec6e3fd624 100644 --- a/plugins/source-sections/source-sections-compiler/tests/org/jetbrains/kotlin/sourceSections/SourceSectionsTest.kt +++ b/plugins/source-sections/source-sections-compiler/tests/org/jetbrains/kotlin/sourceSections/SourceSectionsTest.kt @@ -191,7 +191,7 @@ class SourceSectionsTest : TestCaseWithTmpdir() { messageCollector.clear() val outputs = arrayListOf() - val code = KotlinCompilerClient.compile(daemonWithSession!!.first, daemonWithSession.second, CompileService.TargetPlatform.JVM, + val code = KotlinCompilerClient.compile(daemonWithSession!!.service, daemonWithSession.sessionId, CompileService.TargetPlatform.JVM, args, messageCollector, { outFile, srcFiles -> outputs.add(OutputMessageUtil.Output(srcFiles, outFile)) }, reportSeverity = ReportSeverity.DEBUG) @@ -205,7 +205,7 @@ class SourceSectionsTest : TestCaseWithTmpdir() { } } finally { - daemonWithSession!!.first.shutdown() + daemonWithSession!!.service.shutdown() } } }