Code cleanup - removing public modifier, obsolete constants, fixing typos, etc.
This commit is contained in:
+1
-1
@@ -27,7 +27,7 @@ import org.jetbrains.kotlin.rmi.LoopbackNetworkInterface
|
|||||||
import org.jetbrains.kotlin.rmi.SOCKET_ANY_FREE_PORT
|
import org.jetbrains.kotlin.rmi.SOCKET_ANY_FREE_PORT
|
||||||
|
|
||||||
|
|
||||||
public class CompilerCallbackServicesFacadeServer(
|
class CompilerCallbackServicesFacadeServer(
|
||||||
val incrementalCompilationComponents: IncrementalCompilationComponents? = null,
|
val incrementalCompilationComponents: IncrementalCompilationComponents? = null,
|
||||||
val compilationCancelledStatus: CompilationCanceledStatus? = null,
|
val compilationCancelledStatus: CompilationCanceledStatus? = null,
|
||||||
port: Int = SOCKET_ANY_FREE_PORT
|
port: Int = SOCKET_ANY_FREE_PORT
|
||||||
|
|||||||
@@ -29,13 +29,13 @@ import java.util.concurrent.TimeUnit
|
|||||||
import kotlin.concurrent.thread
|
import kotlin.concurrent.thread
|
||||||
|
|
||||||
|
|
||||||
public class CompilationServices(
|
class CompilationServices(
|
||||||
val incrementalCompilationComponents: IncrementalCompilationComponents? = null,
|
val incrementalCompilationComponents: IncrementalCompilationComponents? = null,
|
||||||
val compilationCanceledStatus: CompilationCanceledStatus? = null
|
val compilationCanceledStatus: CompilationCanceledStatus? = null
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
public object KotlinCompilerClient {
|
object KotlinCompilerClient {
|
||||||
|
|
||||||
val DAEMON_DEFAULT_STARTUP_TIMEOUT_MS = 10000L
|
val DAEMON_DEFAULT_STARTUP_TIMEOUT_MS = 10000L
|
||||||
val DAEMON_CONNECT_CYCLE_ATTEMPTS = 3
|
val DAEMON_CONNECT_CYCLE_ATTEMPTS = 3
|
||||||
@@ -43,7 +43,7 @@ public object KotlinCompilerClient {
|
|||||||
val verboseReporting = System.getProperty(COMPILE_DAEMON_VERBOSE_REPORT_PROPERTY) != null
|
val verboseReporting = System.getProperty(COMPILE_DAEMON_VERBOSE_REPORT_PROPERTY) != null
|
||||||
|
|
||||||
|
|
||||||
public fun connectToCompileService(compilerId: CompilerId,
|
fun connectToCompileService(compilerId: CompilerId,
|
||||||
daemonJVMOptions: DaemonJVMOptions,
|
daemonJVMOptions: DaemonJVMOptions,
|
||||||
daemonOptions: DaemonOptions,
|
daemonOptions: DaemonOptions,
|
||||||
reportingTargets: DaemonReportingTargets,
|
reportingTargets: DaemonReportingTargets,
|
||||||
@@ -65,7 +65,7 @@ public object KotlinCompilerClient {
|
|||||||
return connectToCompileService(compilerId, flagFile, daemonJVMOptions, daemonOptions, reportingTargets, autostart)
|
return connectToCompileService(compilerId, flagFile, daemonJVMOptions, daemonOptions, reportingTargets, autostart)
|
||||||
}
|
}
|
||||||
|
|
||||||
public fun connectToCompileService(compilerId: CompilerId,
|
fun connectToCompileService(compilerId: CompilerId,
|
||||||
clientAliveFlagFile: File,
|
clientAliveFlagFile: File,
|
||||||
daemonJVMOptions: DaemonJVMOptions,
|
daemonJVMOptions: DaemonJVMOptions,
|
||||||
daemonOptions: DaemonOptions,
|
daemonOptions: DaemonOptions,
|
||||||
@@ -97,18 +97,18 @@ public object KotlinCompilerClient {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public fun shutdownCompileService(compilerId: CompilerId, daemonOptions: DaemonOptions): Unit {
|
fun shutdownCompileService(compilerId: CompilerId, daemonOptions: DaemonOptions): Unit {
|
||||||
KotlinCompilerClient.connectToCompileService(compilerId, DaemonJVMOptions(), daemonOptions, DaemonReportingTargets(out = System.out), autostart = false, checkId = false)
|
KotlinCompilerClient.connectToCompileService(compilerId, DaemonJVMOptions(), daemonOptions, DaemonReportingTargets(out = System.out), autostart = false, checkId = false)
|
||||||
?.shutdown()
|
?.shutdown()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public fun shutdownCompileService(compilerId: CompilerId): Unit {
|
fun shutdownCompileService(compilerId: CompilerId): Unit {
|
||||||
shutdownCompileService(compilerId, DaemonOptions())
|
shutdownCompileService(compilerId, DaemonOptions())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public fun compile(compilerService: CompileService,
|
fun compile(compilerService: CompileService,
|
||||||
sessionId: Int,
|
sessionId: Int,
|
||||||
targetPlatform: CompileService.TargetPlatform,
|
targetPlatform: CompileService.TargetPlatform,
|
||||||
args: Array<out String>,
|
args: Array<out String>,
|
||||||
@@ -121,7 +121,7 @@ public object KotlinCompilerClient {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public fun incrementalCompile(compileService: CompileService,
|
fun incrementalCompile(compileService: CompileService,
|
||||||
sessionId: Int,
|
sessionId: Int,
|
||||||
targetPlatform: CompileService.TargetPlatform,
|
targetPlatform: CompileService.TargetPlatform,
|
||||||
args: Array<out String>,
|
args: Array<out String>,
|
||||||
@@ -145,9 +145,9 @@ public object KotlinCompilerClient {
|
|||||||
operationsTracer).get()
|
operationsTracer).get()
|
||||||
}
|
}
|
||||||
|
|
||||||
public val COMPILE_DAEMON_CLIENT_OPTIONS_PROPERTY: String = "kotlin.daemon.client.options"
|
val COMPILE_DAEMON_CLIENT_OPTIONS_PROPERTY: String = "kotlin.daemon.client.options"
|
||||||
data class ClientOptions(
|
data class ClientOptions(
|
||||||
public var stop: Boolean = false
|
var stop: Boolean = false
|
||||||
) : OptionsGroup {
|
) : OptionsGroup {
|
||||||
override val mappers: List<PropMapper<*, *, *>>
|
override val mappers: List<PropMapper<*, *, *>>
|
||||||
get() = listOf(BoolPropMapper(this, ClientOptions::stop))
|
get() = listOf(BoolPropMapper(this, ClientOptions::stop))
|
||||||
@@ -168,7 +168,7 @@ public object KotlinCompilerClient {
|
|||||||
|
|
||||||
|
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
public fun main(vararg args: String) {
|
fun main(vararg args: String) {
|
||||||
val compilerId = CompilerId()
|
val compilerId = CompilerId()
|
||||||
val daemonOptions = configureDaemonOptions()
|
val daemonOptions = configureDaemonOptions()
|
||||||
val daemonLaunchingOptions = configureDaemonJVMOptions(inheritMemoryLimits = true, inheritAdditionalProperties = true)
|
val daemonLaunchingOptions = configureDaemonJVMOptions(inheritMemoryLimits = true, inheritAdditionalProperties = true)
|
||||||
@@ -231,7 +231,7 @@ public object KotlinCompilerClient {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public fun detectCompilerClasspath(): List<String>? =
|
fun detectCompilerClasspath(): List<String>? =
|
||||||
System.getProperty("java.class.path")
|
System.getProperty("java.class.path")
|
||||||
?.split(File.pathSeparator)
|
?.split(File.pathSeparator)
|
||||||
?.map { File(it).parentFile }
|
?.map { File(it).parentFile }
|
||||||
@@ -339,9 +339,9 @@ public object KotlinCompilerClient {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public data class DaemonReportMessage(public val category: DaemonReportCategory, public val message: String)
|
data class DaemonReportMessage(public val category: DaemonReportCategory, public val message: String)
|
||||||
|
|
||||||
public class DaemonReportingTargets(public val out: PrintStream? = null, public val messages: MutableCollection<DaemonReportMessage>? = null)
|
class DaemonReportingTargets(public val out: PrintStream? = null, public val messages: MutableCollection<DaemonReportMessage>? = null)
|
||||||
|
|
||||||
|
|
||||||
internal fun isProcessAlive(process: Process) =
|
internal fun isProcessAlive(process: Process) =
|
||||||
|
|||||||
@@ -20,23 +20,23 @@ import java.io.Serializable
|
|||||||
import java.rmi.Remote
|
import java.rmi.Remote
|
||||||
import java.rmi.RemoteException
|
import java.rmi.RemoteException
|
||||||
|
|
||||||
public interface CompileService : Remote {
|
interface CompileService : Remote {
|
||||||
|
|
||||||
public enum class OutputFormat : Serializable {
|
enum class OutputFormat : Serializable {
|
||||||
PLAIN,
|
PLAIN,
|
||||||
XML
|
XML
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum class TargetPlatform : Serializable {
|
enum class TargetPlatform : Serializable {
|
||||||
JVM,
|
JVM,
|
||||||
JS
|
JS
|
||||||
}
|
}
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
public val NO_SESSION: Int = 0
|
val NO_SESSION: Int = 0
|
||||||
}
|
}
|
||||||
|
|
||||||
public sealed class CallResult<out R> : Serializable {
|
sealed class CallResult<out R> : Serializable {
|
||||||
|
|
||||||
class Good<R>(val result: R) : CallResult<R>() {
|
class Good<R>(val result: R) : CallResult<R>() {
|
||||||
override fun get(): R = result
|
override fun get(): R = result
|
||||||
@@ -66,41 +66,41 @@ public interface CompileService : Remote {
|
|||||||
|
|
||||||
// TODO: remove!
|
// TODO: remove!
|
||||||
@Throws(RemoteException::class)
|
@Throws(RemoteException::class)
|
||||||
public fun checkCompilerId(expectedCompilerId: CompilerId): Boolean
|
fun checkCompilerId(expectedCompilerId: CompilerId): Boolean
|
||||||
|
|
||||||
@Throws(RemoteException::class)
|
@Throws(RemoteException::class)
|
||||||
public fun getUsedMemory(): CallResult<Long>
|
fun getUsedMemory(): CallResult<Long>
|
||||||
|
|
||||||
@Throws(RemoteException::class)
|
@Throws(RemoteException::class)
|
||||||
public fun getDaemonOptions(): CallResult<DaemonOptions>
|
fun getDaemonOptions(): CallResult<DaemonOptions>
|
||||||
|
|
||||||
@Throws(RemoteException::class)
|
@Throws(RemoteException::class)
|
||||||
public fun getDaemonJVMOptions(): CallResult<DaemonJVMOptions>
|
fun getDaemonJVMOptions(): CallResult<DaemonJVMOptions>
|
||||||
|
|
||||||
@Throws(RemoteException::class)
|
@Throws(RemoteException::class)
|
||||||
public fun registerClient(aliveFlagPath: String?): CallResult<Nothing>
|
fun registerClient(aliveFlagPath: String?): CallResult<Nothing>
|
||||||
|
|
||||||
// TODO: consider adding another client alive checking mechanism, e.g. socket/port
|
// TODO: consider adding another client alive checking mechanism, e.g. socket/port
|
||||||
|
|
||||||
@Throws(RemoteException::class)
|
@Throws(RemoteException::class)
|
||||||
public fun getClients(): CallResult<List<String>>
|
fun getClients(): CallResult<List<String>>
|
||||||
|
|
||||||
@Throws(RemoteException::class)
|
@Throws(RemoteException::class)
|
||||||
public fun leaseCompileSession(aliveFlagPath: String?): CallResult<Int>
|
fun leaseCompileSession(aliveFlagPath: String?): CallResult<Int>
|
||||||
|
|
||||||
@Throws(RemoteException::class)
|
@Throws(RemoteException::class)
|
||||||
public fun releaseCompileSession(sessionId: Int): CallResult<Nothing>
|
fun releaseCompileSession(sessionId: Int): CallResult<Nothing>
|
||||||
|
|
||||||
@Throws(RemoteException::class)
|
@Throws(RemoteException::class)
|
||||||
public fun shutdown(): CallResult<Nothing>
|
fun shutdown(): CallResult<Nothing>
|
||||||
|
|
||||||
@Throws(RemoteException::class)
|
@Throws(RemoteException::class)
|
||||||
public fun scheduleShutdown(graceful: Boolean): CallResult<Boolean>
|
fun scheduleShutdown(graceful: Boolean): CallResult<Boolean>
|
||||||
|
|
||||||
// TODO: consider adding async version of shutdown and release
|
// TODO: consider adding async version of shutdown and release
|
||||||
|
|
||||||
@Throws(RemoteException::class)
|
@Throws(RemoteException::class)
|
||||||
public fun remoteCompile(
|
fun remoteCompile(
|
||||||
sessionId: Int,
|
sessionId: Int,
|
||||||
targetPlatform: TargetPlatform,
|
targetPlatform: TargetPlatform,
|
||||||
args: Array<out String>,
|
args: Array<out String>,
|
||||||
@@ -112,7 +112,7 @@ public interface CompileService : Remote {
|
|||||||
): CallResult<Int>
|
): CallResult<Int>
|
||||||
|
|
||||||
@Throws(RemoteException::class)
|
@Throws(RemoteException::class)
|
||||||
public fun remoteIncrementalCompile(
|
fun remoteIncrementalCompile(
|
||||||
sessionId: Int,
|
sessionId: Int,
|
||||||
targetPlatform: TargetPlatform,
|
targetPlatform: TargetPlatform,
|
||||||
args: Array<out String>,
|
args: Array<out String>,
|
||||||
|
|||||||
+12
-12
@@ -28,45 +28,45 @@ import java.rmi.RemoteException
|
|||||||
* the reason for having common facade is attempt to reduce number of connections between client and daemon
|
* the reason for having common facade is attempt to reduce number of connections between client and daemon
|
||||||
* Note: non-standard naming convention used to denote combining several entities in one facade - prefix <entityName>_ is used for every function belonging to the entity
|
* Note: non-standard naming convention used to denote combining several entities in one facade - prefix <entityName>_ is used for every function belonging to the entity
|
||||||
*/
|
*/
|
||||||
public interface CompilerCallbackServicesFacade : Remote {
|
interface CompilerCallbackServicesFacade : Remote {
|
||||||
|
|
||||||
@Throws(RemoteException::class)
|
@Throws(RemoteException::class)
|
||||||
public fun hasIncrementalCaches(): Boolean
|
fun hasIncrementalCaches(): Boolean
|
||||||
|
|
||||||
@Throws(RemoteException::class)
|
@Throws(RemoteException::class)
|
||||||
public fun hasLookupTracker(): Boolean
|
fun hasLookupTracker(): Boolean
|
||||||
|
|
||||||
@Throws(RemoteException::class)
|
@Throws(RemoteException::class)
|
||||||
public fun hasCompilationCanceledStatus(): Boolean
|
fun hasCompilationCanceledStatus(): Boolean
|
||||||
|
|
||||||
// ----------------------------------------------------
|
// ----------------------------------------------------
|
||||||
// IncrementalCache
|
// IncrementalCache
|
||||||
@Throws(RemoteException::class)
|
@Throws(RemoteException::class)
|
||||||
public fun incrementalCache_getObsoletePackageParts(target: TargetId): Collection<String>
|
fun incrementalCache_getObsoletePackageParts(target: TargetId): Collection<String>
|
||||||
|
|
||||||
@Throws(RemoteException::class)
|
@Throws(RemoteException::class)
|
||||||
public fun incrementalCache_getObsoleteMultifileClassFacades(target: TargetId): Collection<String>
|
fun incrementalCache_getObsoleteMultifileClassFacades(target: TargetId): Collection<String>
|
||||||
|
|
||||||
@Throws(RemoteException::class)
|
@Throws(RemoteException::class)
|
||||||
public fun incrementalCache_getMultifileFacade(target: TargetId, partInternalName: String): String?
|
fun incrementalCache_getMultifileFacade(target: TargetId, partInternalName: String): String?
|
||||||
|
|
||||||
@Throws(RemoteException::class)
|
@Throws(RemoteException::class)
|
||||||
public fun incrementalCache_getPackagePartData(target: TargetId, fqName: String): JvmPackagePartProto?
|
fun incrementalCache_getPackagePartData(target: TargetId, fqName: String): JvmPackagePartProto?
|
||||||
|
|
||||||
@Throws(RemoteException::class)
|
@Throws(RemoteException::class)
|
||||||
public fun incrementalCache_getModuleMappingData(target: TargetId): ByteArray?
|
fun incrementalCache_getModuleMappingData(target: TargetId): ByteArray?
|
||||||
|
|
||||||
@Throws(RemoteException::class)
|
@Throws(RemoteException::class)
|
||||||
public fun incrementalCache_registerInline(target: TargetId, fromPath: String, jvmSignature: String, toPath: String)
|
fun incrementalCache_registerInline(target: TargetId, fromPath: String, jvmSignature: String, toPath: String)
|
||||||
|
|
||||||
@Throws(RemoteException::class)
|
@Throws(RemoteException::class)
|
||||||
fun incrementalCache_getClassFilePath(target: TargetId, internalClassName: String): String
|
fun incrementalCache_getClassFilePath(target: TargetId, internalClassName: String): String
|
||||||
|
|
||||||
@Throws(RemoteException::class)
|
@Throws(RemoteException::class)
|
||||||
public fun incrementalCache_close(target: TargetId)
|
fun incrementalCache_close(target: TargetId)
|
||||||
|
|
||||||
@Throws(RemoteException::class)
|
@Throws(RemoteException::class)
|
||||||
public fun incrementalCache_getMultifileFacadeParts(target: TargetId, internalName: String): Collection<String>?
|
fun incrementalCache_getMultifileFacadeParts(target: TargetId, internalName: String): Collection<String>?
|
||||||
|
|
||||||
// ----------------------------------------------------
|
// ----------------------------------------------------
|
||||||
// LookupTracker
|
// LookupTracker
|
||||||
|
|||||||
@@ -23,36 +23,33 @@ import java.lang.management.ManagementFactory
|
|||||||
import java.security.MessageDigest
|
import java.security.MessageDigest
|
||||||
import java.util.*
|
import java.util.*
|
||||||
import kotlin.reflect.KMutableProperty1
|
import kotlin.reflect.KMutableProperty1
|
||||||
import kotlin.text.RegexOption
|
|
||||||
|
|
||||||
|
|
||||||
public val COMPILER_JAR_NAME: String = "kotlin-compiler.jar"
|
val COMPILER_JAR_NAME: String = "kotlin-compiler.jar"
|
||||||
public val COMPILER_SERVICE_RMI_NAME: String = "KotlinJvmCompilerService"
|
val COMPILER_SERVICE_RMI_NAME: String = "KotlinJvmCompilerService"
|
||||||
public val COMPILER_DAEMON_CLASS_FQN: String = "org.jetbrains.kotlin.rmi.service.CompileDaemon"
|
val COMPILER_DAEMON_CLASS_FQN: String = "org.jetbrains.kotlin.rmi.service.CompileDaemon"
|
||||||
public val COMPILE_DAEMON_FIND_PORT_ATTEMPTS: Int = 10
|
val COMPILE_DAEMON_FIND_PORT_ATTEMPTS: Int = 10
|
||||||
public val COMPILE_DAEMON_PORTS_RANGE_START: Int = 17001
|
val COMPILE_DAEMON_PORTS_RANGE_START: Int = 17001
|
||||||
public val COMPILE_DAEMON_PORTS_RANGE_END: Int = 18000
|
val COMPILE_DAEMON_PORTS_RANGE_END: Int = 18000
|
||||||
public val COMPILE_DAEMON_STARTUP_LOCK_TIMEOUT_MS: Long = 10000L
|
val COMPILE_DAEMON_ENABLED_PROPERTY: String = "kotlin.daemon.enabled"
|
||||||
public val COMPILE_DAEMON_STARTUP_LOCK_TIMEOUT_CHECK_MS: Long = 100L
|
val COMPILE_DAEMON_JVM_OPTIONS_PROPERTY: String = "kotlin.daemon.jvm.options"
|
||||||
public val COMPILE_DAEMON_ENABLED_PROPERTY: String = "kotlin.daemon.enabled"
|
val COMPILE_DAEMON_OPTIONS_PROPERTY: String = "kotlin.daemon.options"
|
||||||
public val COMPILE_DAEMON_JVM_OPTIONS_PROPERTY: String = "kotlin.daemon.jvm.options"
|
val COMPILE_DAEMON_CLIENT_ALIVE_PATH_PROPERTY: String = "kotlin.daemon.client.alive.path"
|
||||||
public val COMPILE_DAEMON_OPTIONS_PROPERTY: String = "kotlin.daemon.options"
|
val COMPILE_DAEMON_LOG_PATH_PROPERTY: String = "kotlin.daemon.log.path"
|
||||||
public val COMPILE_DAEMON_CLIENT_ALIVE_PATH_PROPERTY: String = "kotlin.daemon.client.alive.path"
|
val COMPILE_DAEMON_REPORT_PERF_PROPERTY: String = "kotlin.daemon.perf"
|
||||||
public val COMPILE_DAEMON_LOG_PATH_PROPERTY: String = "kotlin.daemon.log.path"
|
val COMPILE_DAEMON_VERBOSE_REPORT_PROPERTY: String = "kotlin.daemon.verbose"
|
||||||
public val COMPILE_DAEMON_REPORT_PERF_PROPERTY: String = "kotlin.daemon.perf"
|
val COMPILE_DAEMON_CMDLINE_OPTIONS_PREFIX: String = "--daemon-"
|
||||||
public val COMPILE_DAEMON_VERBOSE_REPORT_PROPERTY: String = "kotlin.daemon.verbose"
|
val COMPILE_DAEMON_STARTUP_TIMEOUT_PROPERTY: String = "kotlin.daemon.startup.timeout"
|
||||||
public val COMPILE_DAEMON_CMDLINE_OPTIONS_PREFIX: String = "--daemon-"
|
val COMPILE_DAEMON_DEFAULT_FILES_PREFIX: String = "kotlin-daemon"
|
||||||
public val COMPILE_DAEMON_STARTUP_TIMEOUT_PROPERTY: String = "kotlin.daemon.startup.timeout"
|
val COMPILE_DAEMON_TIMEOUT_INFINITE_S: Int = 0
|
||||||
public val COMPILE_DAEMON_DEFAULT_FILES_PREFIX: String = "kotlin-daemon"
|
val COMPILE_DAEMON_DEFAULT_IDLE_TIMEOUT_S: Int = 7200 // 2 hours
|
||||||
public val COMPILE_DAEMON_TIMEOUT_INFINITE_S: Int = 0
|
val COMPILE_DAEMON_DEFAULT_UNUSED_TIMEOUT_S: Int = 60
|
||||||
public val COMPILE_DAEMON_DEFAULT_IDLE_TIMEOUT_S: Int = 7200 // 2 hours
|
val COMPILE_DAEMON_DEFAULT_SHUTDOWN_DELAY_MS: Long = 1000L // 1 sec
|
||||||
public val COMPILE_DAEMON_DEFAULT_UNUSED_TIMEOUT_S: Int = 60
|
val COMPILE_DAEMON_MEMORY_THRESHOLD_INFINITE: Long = 0L
|
||||||
public val COMPILE_DAEMON_DEFAULT_SHUTDOWN_DELAY_MS: Long = 1000L // 1 sec
|
val COMPILE_DAEMON_FORCE_SHUTDOWN_DEFAULT_TIMEOUT_MS: Long = 10000L // 10 secs
|
||||||
public val COMPILE_DAEMON_MEMORY_THRESHOLD_INFINITE: Long = 0L
|
val COMPILE_DAEMON_TIMEOUT_INFINITE_MS: Long = 0L
|
||||||
public val COMPILE_DAEMON_FORCE_SHUTDOWN_DEFAULT_TIMEOUT_MS: Long = 10000L // 10 secs
|
|
||||||
public val COMPILE_DAEMON_TIMEOUT_INFINITE_MS: Long = 0L
|
|
||||||
|
|
||||||
public val COMPILE_DAEMON_DEFAULT_RUN_DIR_PATH: String get() =
|
val COMPILE_DAEMON_DEFAULT_RUN_DIR_PATH: String get() =
|
||||||
FileSystem.getRuntimeStateFilesPath("kotlin", "daemon")
|
FileSystem.getRuntimeStateFilesPath("kotlin", "daemon")
|
||||||
|
|
||||||
val CLASSPATH_ID_DIGEST = "MD5"
|
val CLASSPATH_ID_DIGEST = "MD5"
|
||||||
@@ -173,22 +170,22 @@ fun Iterable<String>.filterExtractProps(propMappers: List<PropMapper<*, *, *>>,
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public fun String.trimQuotes() = trim('"','\'')
|
fun String.trimQuotes() = trim('"','\'')
|
||||||
|
|
||||||
|
|
||||||
public interface OptionsGroup : Serializable {
|
interface OptionsGroup : Serializable {
|
||||||
public val mappers: List<PropMapper<*, *, *>>
|
val mappers: List<PropMapper<*, *, *>>
|
||||||
}
|
}
|
||||||
|
|
||||||
public fun Iterable<String>.filterExtractProps(vararg groups: OptionsGroup, prefix: String): Iterable<String> =
|
fun Iterable<String>.filterExtractProps(vararg groups: OptionsGroup, prefix: String): Iterable<String> =
|
||||||
filterExtractProps(groups.flatMap { it.mappers }, prefix)
|
filterExtractProps(groups.flatMap { it.mappers }, prefix)
|
||||||
|
|
||||||
|
|
||||||
public data class DaemonJVMOptions(
|
data class DaemonJVMOptions(
|
||||||
public var maxMemory: String = "",
|
var maxMemory: String = "",
|
||||||
public var maxPermSize: String = "",
|
var maxPermSize: String = "",
|
||||||
public var reservedCodeCacheSize: String = "",
|
var reservedCodeCacheSize: String = "",
|
||||||
public var jvmParams: MutableCollection<String> = arrayListOf()
|
var jvmParams: MutableCollection<String> = arrayListOf()
|
||||||
) : OptionsGroup {
|
) : OptionsGroup {
|
||||||
|
|
||||||
override val mappers: List<PropMapper<*, *, *>>
|
override val mappers: List<PropMapper<*, *, *>>
|
||||||
@@ -202,15 +199,15 @@ public data class DaemonJVMOptions(
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public data class DaemonOptions(
|
data class DaemonOptions(
|
||||||
public var runFilesPath: String = COMPILE_DAEMON_DEFAULT_RUN_DIR_PATH,
|
var runFilesPath: String = COMPILE_DAEMON_DEFAULT_RUN_DIR_PATH,
|
||||||
public var autoshutdownMemoryThreshold: Long = COMPILE_DAEMON_MEMORY_THRESHOLD_INFINITE,
|
var autoshutdownMemoryThreshold: Long = COMPILE_DAEMON_MEMORY_THRESHOLD_INFINITE,
|
||||||
public var autoshutdownIdleSeconds: Int = COMPILE_DAEMON_DEFAULT_IDLE_TIMEOUT_S,
|
var autoshutdownIdleSeconds: Int = COMPILE_DAEMON_DEFAULT_IDLE_TIMEOUT_S,
|
||||||
public var autoshutdownUnusedSeconds: Int = COMPILE_DAEMON_DEFAULT_UNUSED_TIMEOUT_S,
|
var autoshutdownUnusedSeconds: Int = COMPILE_DAEMON_DEFAULT_UNUSED_TIMEOUT_S,
|
||||||
public var shutdownDelayMilliseconds: Long = COMPILE_DAEMON_DEFAULT_SHUTDOWN_DELAY_MS,
|
var shutdownDelayMilliseconds: Long = COMPILE_DAEMON_DEFAULT_SHUTDOWN_DELAY_MS,
|
||||||
public var forceShutdownTimeoutMilliseconds: Long = COMPILE_DAEMON_FORCE_SHUTDOWN_DEFAULT_TIMEOUT_MS,
|
var forceShutdownTimeoutMilliseconds: Long = COMPILE_DAEMON_FORCE_SHUTDOWN_DEFAULT_TIMEOUT_MS,
|
||||||
public var verbose: Boolean = false,
|
var verbose: Boolean = false,
|
||||||
public var reportPerf: Boolean = false
|
var reportPerf: Boolean = false
|
||||||
) : OptionsGroup {
|
) : OptionsGroup {
|
||||||
|
|
||||||
override val mappers: List<PropMapper<*, *, *>>
|
override val mappers: List<PropMapper<*, *, *>>
|
||||||
@@ -237,9 +234,9 @@ fun Iterable<String>.distinctStringsDigest(): ByteArray =
|
|||||||
fun ByteArray.toHexString(): String = joinToString("", transform = { "%02x".format(it) })
|
fun ByteArray.toHexString(): String = joinToString("", transform = { "%02x".format(it) })
|
||||||
|
|
||||||
|
|
||||||
public data class CompilerId(
|
data class CompilerId(
|
||||||
public var compilerClasspath: List<String> = listOf(),
|
var compilerClasspath: List<String> = listOf(),
|
||||||
public var compilerVersion: String = ""
|
var compilerVersion: String = ""
|
||||||
) : OptionsGroup {
|
) : OptionsGroup {
|
||||||
|
|
||||||
override val mappers: List<PropMapper<*, *, *>>
|
override val mappers: List<PropMapper<*, *, *>>
|
||||||
@@ -248,19 +245,19 @@ public data class CompilerId(
|
|||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
public fun makeCompilerId(vararg paths: File): CompilerId = makeCompilerId(paths.asIterable())
|
fun makeCompilerId(vararg paths: File): CompilerId = makeCompilerId(paths.asIterable())
|
||||||
|
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
public fun makeCompilerId(paths: Iterable<File>): CompilerId =
|
fun makeCompilerId(paths: Iterable<File>): CompilerId =
|
||||||
CompilerId(compilerClasspath = paths.map { it.absolutePath })
|
CompilerId(compilerClasspath = paths.map { it.absolutePath })
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public fun isDaemonEnabled(): Boolean = System.getProperty(COMPILE_DAEMON_ENABLED_PROPERTY) != null
|
fun isDaemonEnabled(): Boolean = System.getProperty(COMPILE_DAEMON_ENABLED_PROPERTY) != null
|
||||||
|
|
||||||
|
|
||||||
public fun configureDaemonJVMOptions(opts: DaemonJVMOptions,
|
fun configureDaemonJVMOptions(opts: DaemonJVMOptions,
|
||||||
vararg additionalParams: String,
|
vararg additionalParams: String,
|
||||||
inheritMemoryLimits: Boolean,
|
inheritMemoryLimits: Boolean,
|
||||||
inheritAdditionalProperties: Boolean
|
inheritAdditionalProperties: Boolean
|
||||||
@@ -286,7 +283,7 @@ public fun configureDaemonJVMOptions(opts: DaemonJVMOptions,
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public fun configureDaemonJVMOptions(vararg additionalParams: String,
|
fun configureDaemonJVMOptions(vararg additionalParams: String,
|
||||||
inheritMemoryLimits: Boolean,
|
inheritMemoryLimits: Boolean,
|
||||||
inheritAdditionalProperties: Boolean
|
inheritAdditionalProperties: Boolean
|
||||||
): DaemonJVMOptions =
|
): DaemonJVMOptions =
|
||||||
@@ -296,7 +293,7 @@ public fun configureDaemonJVMOptions(vararg additionalParams: String,
|
|||||||
inheritAdditionalProperties = inheritAdditionalProperties)
|
inheritAdditionalProperties = inheritAdditionalProperties)
|
||||||
|
|
||||||
|
|
||||||
public fun configureDaemonOptions(opts: DaemonOptions): DaemonOptions {
|
fun configureDaemonOptions(opts: DaemonOptions): DaemonOptions {
|
||||||
System.getProperty(COMPILE_DAEMON_OPTIONS_PROPERTY)?.let {
|
System.getProperty(COMPILE_DAEMON_OPTIONS_PROPERTY)?.let {
|
||||||
val unrecognized = it.trimQuotes().split(",").filterExtractProps(opts.mappers, "")
|
val unrecognized = it.trimQuotes().split(",").filterExtractProps(opts.mappers, "")
|
||||||
if (unrecognized.any())
|
if (unrecognized.any())
|
||||||
@@ -310,7 +307,7 @@ public fun configureDaemonOptions(opts: DaemonOptions): DaemonOptions {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public fun configureDaemonOptions(): DaemonOptions = configureDaemonOptions(DaemonOptions())
|
fun configureDaemonOptions(): DaemonOptions = configureDaemonOptions(DaemonOptions())
|
||||||
|
|
||||||
|
|
||||||
private val humanizedMemorySizeRegex = "(\\d+)([kmg]?)".toRegex()
|
private val humanizedMemorySizeRegex = "(\\d+)([kmg]?)".toRegex()
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ package org.jetbrains.kotlin.rmi
|
|||||||
|
|
||||||
import java.io.File
|
import java.io.File
|
||||||
|
|
||||||
public enum class OSKind {
|
enum class OSKind {
|
||||||
Windows,
|
Windows,
|
||||||
OSX,
|
OSX,
|
||||||
Unix,
|
Unix,
|
||||||
@@ -54,7 +54,7 @@ private fun String?.orDefault(v: String): String =
|
|||||||
// unix (freedesktop): http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html
|
// unix (freedesktop): http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html
|
||||||
// OS X: https://developer.apple.com/library/mac/documentation/FileManagement/Conceptual/FileSystemProgrammingGuide/AccessingFilesandDirectories/AccessingFilesandDirectories.html
|
// OS X: https://developer.apple.com/library/mac/documentation/FileManagement/Conceptual/FileSystemProgrammingGuide/AccessingFilesandDirectories/AccessingFilesandDirectories.html
|
||||||
|
|
||||||
public object FileSystem {
|
object FileSystem {
|
||||||
|
|
||||||
val userHomePath: String get() = System.getProperty("user.home")
|
val userHomePath: String get() = System.getProperty("user.home")
|
||||||
val tempPath: String get() = System.getProperty("java.io.tmpdir")
|
val tempPath: String get() = System.getProperty("java.io.tmpdir")
|
||||||
|
|||||||
@@ -29,9 +29,9 @@ import java.rmi.server.RMIServerSocketFactory
|
|||||||
import java.util.*
|
import java.util.*
|
||||||
|
|
||||||
|
|
||||||
public val SOCKET_ANY_FREE_PORT = 0
|
val SOCKET_ANY_FREE_PORT = 0
|
||||||
|
|
||||||
public object LoopbackNetworkInterface {
|
object LoopbackNetworkInterface {
|
||||||
|
|
||||||
val IPV4_LOOPBACK_INET_ADDRESS = "127.0.0.1"
|
val IPV4_LOOPBACK_INET_ADDRESS = "127.0.0.1"
|
||||||
val IPV6_LOOPBACK_INET_ADDRESS = "::1"
|
val IPV6_LOOPBACK_INET_ADDRESS = "::1"
|
||||||
@@ -39,11 +39,11 @@ public object LoopbackNetworkInterface {
|
|||||||
val SERVER_SOCKET_BACKLOG_SIZE = 10 // size of the requests queue for daemon services, so far seems that we don't need any big numbers here
|
val SERVER_SOCKET_BACKLOG_SIZE = 10 // size of the requests queue for daemon services, so far seems that we don't need any big numbers here
|
||||||
// but if we'll start getting "connection refused" errors, that could be the first place to try to fix it
|
// but if we'll start getting "connection refused" errors, that could be the first place to try to fix it
|
||||||
|
|
||||||
public val serverLoopbackSocketFactory by lazy { ServerLoopbackSocketFactory() }
|
val serverLoopbackSocketFactory by lazy { ServerLoopbackSocketFactory() }
|
||||||
public val clientLoopbackSocketFactory by lazy { ClientLoopbackSocketFactory() }
|
val clientLoopbackSocketFactory by lazy { ClientLoopbackSocketFactory() }
|
||||||
|
|
||||||
// TODO switch to InetAddress.getLoopbackAddress on java 7+
|
// TODO switch to InetAddress.getLoopbackAddress on java 7+
|
||||||
public val loopbackInetAddressName by lazy {
|
val loopbackInetAddressName by lazy {
|
||||||
try {
|
try {
|
||||||
if (java.net.InetAddress.getLocalHost() is java.net.Inet6Address) IPV6_LOOPBACK_INET_ADDRESS else IPV4_LOOPBACK_INET_ADDRESS
|
if (java.net.InetAddress.getLocalHost() is java.net.Inet6Address) IPV6_LOOPBACK_INET_ADDRESS else IPV4_LOOPBACK_INET_ADDRESS
|
||||||
}
|
}
|
||||||
@@ -59,6 +59,7 @@ public object LoopbackNetworkInterface {
|
|||||||
|
|
||||||
class ServerLoopbackSocketFactory : RMIServerSocketFactory, Serializable {
|
class ServerLoopbackSocketFactory : RMIServerSocketFactory, Serializable {
|
||||||
override fun equals(other: Any?): Boolean = other === this || super.equals(other)
|
override fun equals(other: Any?): Boolean = other === this || super.equals(other)
|
||||||
|
override fun hashCode(): Int = super.hashCode()
|
||||||
|
|
||||||
@Throws(IOException::class)
|
@Throws(IOException::class)
|
||||||
override fun createServerSocket(port: Int): ServerSocket = ServerSocket(port, SERVER_SOCKET_BACKLOG_SIZE, InetAddress.getByName(loopbackInetAddressName))
|
override fun createServerSocket(port: Int): ServerSocket = ServerSocket(port, SERVER_SOCKET_BACKLOG_SIZE, InetAddress.getByName(loopbackInetAddressName))
|
||||||
@@ -67,6 +68,7 @@ public object LoopbackNetworkInterface {
|
|||||||
|
|
||||||
class ClientLoopbackSocketFactory : RMIClientSocketFactory, Serializable {
|
class ClientLoopbackSocketFactory : RMIClientSocketFactory, Serializable {
|
||||||
override fun equals(other: Any?): Boolean = other === this || super.equals(other)
|
override fun equals(other: Any?): Boolean = other === this || super.equals(other)
|
||||||
|
override fun hashCode(): Int = super.hashCode()
|
||||||
|
|
||||||
@Throws(IOException::class)
|
@Throws(IOException::class)
|
||||||
override fun createSocket(host: String, port: Int): Socket = Socket(InetAddress.getByName(loopbackInetAddressName), port)
|
override fun createSocket(host: String, port: Int): Socket = Socket(InetAddress.getByName(loopbackInetAddressName), port)
|
||||||
@@ -76,7 +78,7 @@ public object LoopbackNetworkInterface {
|
|||||||
|
|
||||||
private val portSelectionRng = Random()
|
private val portSelectionRng = Random()
|
||||||
|
|
||||||
public fun findPortAndCreateRegistry(attempts: Int, portRangeStart: Int, portRangeEnd: Int) : Pair<Registry, Int> {
|
fun findPortAndCreateRegistry(attempts: Int, portRangeStart: Int, portRangeEnd: Int) : Pair<Registry, Int> {
|
||||||
var i = 0
|
var i = 0
|
||||||
var lastException: RemoteException? = null
|
var lastException: RemoteException? = null
|
||||||
|
|
||||||
|
|||||||
@@ -19,11 +19,11 @@ package org.jetbrains.kotlin.rmi
|
|||||||
import java.rmi.Remote
|
import java.rmi.Remote
|
||||||
import java.rmi.RemoteException
|
import java.rmi.RemoteException
|
||||||
|
|
||||||
public interface RemoteOperationsTracer : Remote {
|
interface RemoteOperationsTracer : Remote {
|
||||||
|
|
||||||
@Throws(RemoteException::class)
|
@Throws(RemoteException::class)
|
||||||
public fun before(id: String)
|
fun before(id: String)
|
||||||
|
|
||||||
@Throws(RemoteException::class)
|
@Throws(RemoteException::class)
|
||||||
public fun after(id: String)
|
fun after(id: String)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,14 +19,14 @@ package org.jetbrains.kotlin.rmi
|
|||||||
import java.rmi.Remote
|
import java.rmi.Remote
|
||||||
import java.rmi.RemoteException
|
import java.rmi.RemoteException
|
||||||
|
|
||||||
public interface RemoteOutputStream : Remote {
|
interface RemoteOutputStream : Remote {
|
||||||
|
|
||||||
@Throws(RemoteException::class)
|
@Throws(RemoteException::class)
|
||||||
public fun close()
|
fun close()
|
||||||
|
|
||||||
@Throws(RemoteException::class)
|
@Throws(RemoteException::class)
|
||||||
public fun write(data: ByteArray, offset: Int, length: Int)
|
fun write(data: ByteArray, offset: Int, length: Int)
|
||||||
|
|
||||||
@Throws(RemoteException::class)
|
@Throws(RemoteException::class)
|
||||||
public fun write(dataByte: Int)
|
fun write(dataByte: Int)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,9 +8,10 @@
|
|||||||
<orderEntry type="inheritedJdk" />
|
<orderEntry type="inheritedJdk" />
|
||||||
<orderEntry type="sourceFolder" forTests="false" />
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
<orderEntry type="library" name="kotlin-runtime" level="project" />
|
<orderEntry type="library" name="kotlin-runtime" level="project" />
|
||||||
<orderEntry type="module" module-name="util" />
|
|
||||||
<orderEntry type="module" module-name="frontend.java" />
|
|
||||||
<orderEntry type="module" module-name="cli" />
|
<orderEntry type="module" module-name="cli" />
|
||||||
<orderEntry type="module" module-name="rmi-interface" />
|
<orderEntry type="module" module-name="rmi-interface" />
|
||||||
|
<orderEntry type="module" module-name="frontend.java" />
|
||||||
|
<orderEntry type="module" module-name="util.runtime" />
|
||||||
|
<orderEntry type="module" module-name="util" />
|
||||||
</component>
|
</component>
|
||||||
</module>
|
</module>
|
||||||
@@ -55,7 +55,7 @@ class LogStream(name: String) : OutputStream() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public object CompileDaemon {
|
object CompileDaemon {
|
||||||
|
|
||||||
init {
|
init {
|
||||||
val logTime: String = SimpleDateFormat("yyyy-MM-dd.HH-mm-ss-SSS").format(Date())
|
val logTime: String = SimpleDateFormat("yyyy-MM-dd.HH-mm-ss-SSS").format(Date())
|
||||||
@@ -90,7 +90,7 @@ public object CompileDaemon {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
public fun main(args: Array<String>) {
|
fun main(args: Array<String>) {
|
||||||
|
|
||||||
log.info("Kotlin compiler daemon version " + (loadVersionFromResource() ?: "<unknown>"))
|
log.info("Kotlin compiler daemon version " + (loadVersionFromResource() ?: "<unknown>"))
|
||||||
log.info("daemon JVM args: " + ManagementFactory.getRuntimeMXBean().inputArguments.joinToString(" "))
|
log.info("daemon JVM args: " + ManagementFactory.getRuntimeMXBean().inputArguments.joinToString(" "))
|
||||||
@@ -165,7 +165,7 @@ public object CompileDaemon {
|
|||||||
System.setOut(PrintStream(LogStream("stdout")))
|
System.setOut(PrintStream(LogStream("stdout")))
|
||||||
}
|
}
|
||||||
catch (e: Exception) {
|
catch (e: Exception) {
|
||||||
System.err.println("Exception: " + e.getMessage())
|
System.err.println("Exception: " + e.message)
|
||||||
e.printStackTrace(System.err)
|
e.printStackTrace(System.err)
|
||||||
// repeating it to log for the cases when stderr is not redirected yet
|
// repeating it to log for the cases when stderr is not redirected yet
|
||||||
log.log(Level.INFO, "Exception: ", e)
|
log.log(Level.INFO, "Exception: ", e)
|
||||||
|
|||||||
@@ -104,7 +104,7 @@ class CompileServiceImpl(
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Volatile private var _lastUsedSeconds = nowSeconds()
|
@Volatile private var _lastUsedSeconds = nowSeconds()
|
||||||
public val lastUsedSeconds: Long get() = if (rwlock.isWriteLocked || rwlock.readLockCount - rwlock.readHoldCount > 0) nowSeconds() else _lastUsedSeconds
|
val lastUsedSeconds: Long get() = if (rwlock.isWriteLocked || rwlock.readLockCount - rwlock.readHoldCount > 0) nowSeconds() else _lastUsedSeconds
|
||||||
|
|
||||||
private val log by lazy { Logger.getLogger("compiler") }
|
private val log by lazy { Logger.getLogger("compiler") }
|
||||||
|
|
||||||
|
|||||||
+5
-5
@@ -40,9 +40,9 @@ val DEFAULT_CLASSPATH_DIGEST_WATCH_PERIOD_MS = 300000L // 5 min
|
|||||||
* poor-man watcher in the absence of NIO
|
* poor-man watcher in the absence of NIO
|
||||||
* TODO: replace with NIO watching when switching to java 7+
|
* TODO: replace with NIO watching when switching to java 7+
|
||||||
*/
|
*/
|
||||||
public class LazyClasspathWatcher(classpath: Iterable<String>,
|
class LazyClasspathWatcher(classpath: Iterable<String>,
|
||||||
val chackPeriod: Long = DEFAULT_CLASSPATH_WATCH_PERIOD_MS,
|
val checkPeriod: Long = DEFAULT_CLASSPATH_WATCH_PERIOD_MS,
|
||||||
val digestCheckPeriod: Long = DEFAULT_CLASSPATH_DIGEST_WATCH_PERIOD_MS) {
|
val digestCheckPeriod: Long = DEFAULT_CLASSPATH_DIGEST_WATCH_PERIOD_MS) {
|
||||||
|
|
||||||
private data class FileId(val file: File, val lastModified: Long, val digest: ByteArray)
|
private data class FileId(val file: File, val lastModified: Long, val digest: ByteArray)
|
||||||
|
|
||||||
@@ -78,10 +78,10 @@ public class LazyClasspathWatcher(classpath: Iterable<String>,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public val isChanged: Boolean get() {
|
val isChanged: Boolean get() {
|
||||||
if (lastChangedStatus.get()) return true
|
if (lastChangedStatus.get()) return true
|
||||||
val nowMs = TimeUnit.MILLISECONDS.toMillis(System.nanoTime())
|
val nowMs = TimeUnit.MILLISECONDS.toMillis(System.nanoTime())
|
||||||
if (nowMs - lastUpdate.get() < chackPeriod) return false
|
if (nowMs - lastUpdate.get() < checkPeriod) return false
|
||||||
|
|
||||||
val checkDigest = nowMs - lastDigestUpdate.get() > digestCheckPeriod
|
val checkDigest = nowMs - lastDigestUpdate.get() > digestCheckPeriod
|
||||||
// making sure that fieldIds are initialized
|
// making sure that fieldIds are initialized
|
||||||
|
|||||||
+1
-1
@@ -23,7 +23,7 @@ import org.jetbrains.kotlin.rmi.CompilerCallbackServicesFacade
|
|||||||
import org.jetbrains.kotlin.rmi.DummyProfiler
|
import org.jetbrains.kotlin.rmi.DummyProfiler
|
||||||
import org.jetbrains.kotlin.rmi.Profiler
|
import org.jetbrains.kotlin.rmi.Profiler
|
||||||
|
|
||||||
public class RemoteIncrementalCacheClient(val facade: CompilerCallbackServicesFacade, val target: TargetId, val profiler: Profiler = DummyProfiler()): IncrementalCache {
|
class RemoteIncrementalCacheClient(val facade: CompilerCallbackServicesFacade, val target: TargetId, val profiler: Profiler = DummyProfiler()): IncrementalCache {
|
||||||
|
|
||||||
override fun getObsoletePackageParts(): Collection<String> = profiler.withMeasure(this) { facade.incrementalCache_getObsoletePackageParts(target) }
|
override fun getObsoletePackageParts(): Collection<String> = profiler.withMeasure(this) { facade.incrementalCache_getObsoletePackageParts(target) }
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -23,7 +23,7 @@ import java.io.OutputStream
|
|||||||
|
|
||||||
class RemoteOutputStreamClient(val remote: RemoteOutputStream, val profiler: Profiler = DummyProfiler()): OutputStream() {
|
class RemoteOutputStreamClient(val remote: RemoteOutputStream, val profiler: Profiler = DummyProfiler()): OutputStream() {
|
||||||
override fun write(data: ByteArray) {
|
override fun write(data: ByteArray) {
|
||||||
profiler.withMeasure(this) { remote.write(data, 0, data.size()) }
|
profiler.withMeasure(this) { remote.write(data, 0, data.size) }
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun write(data: ByteArray, offset: Int, length: Int) {
|
override fun write(data: ByteArray, offset: Int, length: Int) {
|
||||||
|
|||||||
Reference in New Issue
Block a user