Use daemon if available for parsing files in JPS

This commit is contained in:
Alexey Tsvetkov
2018-04-03 21:09:29 +03:00
parent 3eb968807e
commit 6f59b6da8e
5 changed files with 63 additions and 20 deletions
@@ -17,6 +17,7 @@
package org.jetbrains.kotlin.daemon.common
import org.jetbrains.kotlin.cli.common.repl.*
import org.jetbrains.kotlin.parsing.util.classesFqNames
import java.io.File
import java.io.Serializable
import java.rmi.Remote
@@ -140,6 +141,12 @@ interface CompileService : Remote {
compilationResults: CompilationResults?
): CallResult<Int>
@Throws(RemoteException::class)
fun classesFqNamesByFiles(
sessionId: Int,
sourceFiles: Set<File>
): CallResult<Set<String>>
@Throws(RemoteException::class)
fun clearJarCache()
@@ -51,6 +51,7 @@ import org.jetbrains.kotlin.incremental.*
import org.jetbrains.kotlin.incremental.components.LookupTracker
import org.jetbrains.kotlin.load.kotlin.incremental.components.IncrementalCompilationComponents
import org.jetbrains.kotlin.modules.Module
import org.jetbrains.kotlin.parsing.util.classesFqNames
import org.jetbrains.kotlin.progress.CompilationCanceledStatus
import java.io.BufferedOutputStream
import java.io.ByteArrayOutputStream
@@ -352,6 +353,15 @@ class CompileServiceImpl(
}
}
override fun classesFqNamesByFiles(
sessionId: Int, sourceFiles: Set<File>
): CompileService.CallResult<Set<String>> =
ifAlive {
withValidClientOrSessionProxy(sessionId) {
CompileService.CallResult.Good(classesFqNames(sourceFiles))
}
}
override fun compile(
sessionId: Int,
compilerArguments: Array<out String>,