Get rid of kotlin.Unit usage in RMI interfaces

attempt to fight mysterous "Cannot instantiate kotlin.Unit" exception.
This commit is contained in:
Ilya Chernikov
2017-07-03 12:39:59 +02:00
parent 06d27a9efa
commit 21eed9ee78
12 changed files with 30 additions and 21 deletions
@@ -33,8 +33,9 @@ open class BasicCompilerServicesWithResultsFacadeServer(
) : CompilerServicesFacadeBase, ) : CompilerServicesFacadeBase,
UnicastRemoteObject(port, LoopbackNetworkInterface.clientLoopbackSocketFactory, LoopbackNetworkInterface.serverLoopbackSocketFactory) UnicastRemoteObject(port, LoopbackNetworkInterface.clientLoopbackSocketFactory, LoopbackNetworkInterface.serverLoopbackSocketFactory)
{ {
override fun report(category: Int, severity: Int, message: String?, attachment: Serializable?) { override fun report(category: Int, severity: Int, message: String?, attachment: Serializable?): Void? {
messageCollector.reportFromDaemon(outputsCollector, category, severity, message, attachment) messageCollector.reportFromDaemon(outputsCollector, category, severity, message, attachment)
return null
} }
} }
@@ -56,24 +56,27 @@ open class CompilerCallbackServicesFacadeServer(
override fun incrementalCache_getModuleMappingData(target: TargetId): ByteArray? = incrementalCompilationComponents!!.getIncrementalCache(target).getModuleMappingData() override fun incrementalCache_getModuleMappingData(target: TargetId): ByteArray? = incrementalCompilationComponents!!.getIncrementalCache(target).getModuleMappingData()
override fun incrementalCache_registerInline(target: TargetId, fromPath: String, jvmSignature: String, toPath: String) { override fun incrementalCache_registerInline(target: TargetId, fromPath: String, jvmSignature: String, toPath: String): Void? {
incrementalCompilationComponents!!.getIncrementalCache(target).registerInline(fromPath, jvmSignature, toPath) incrementalCompilationComponents!!.getIncrementalCache(target).registerInline(fromPath, jvmSignature, toPath)
return null
} }
override fun incrementalCache_getClassFilePath(target: TargetId, internalClassName: String): String = incrementalCompilationComponents!!.getIncrementalCache(target).getClassFilePath(internalClassName) override fun incrementalCache_getClassFilePath(target: TargetId, internalClassName: String): String = incrementalCompilationComponents!!.getIncrementalCache(target).getClassFilePath(internalClassName)
override fun incrementalCache_close(target: TargetId) { override fun incrementalCache_close(target: TargetId): Void? {
incrementalCompilationComponents!!.getIncrementalCache(target).close() incrementalCompilationComponents!!.getIncrementalCache(target).close()
return null
} }
override fun lookupTracker_requiresPosition() = incrementalCompilationComponents!!.getLookupTracker().requiresPosition override fun lookupTracker_requiresPosition() = incrementalCompilationComponents!!.getLookupTracker().requiresPosition
override fun lookupTracker_record(lookups: Collection<LookupInfo>) { override fun lookupTracker_record(lookups: Collection<LookupInfo>): Void? {
val lookupTracker = incrementalCompilationComponents!!.getLookupTracker() val lookupTracker = incrementalCompilationComponents!!.getLookupTracker()
for (it in lookups) { for (it in lookups) {
lookupTracker.record(it.filePath, it.position, it.scopeFqName, it.scopeKind, it.name) lookupTracker.record(it.filePath, it.position, it.scopeFqName, it.scopeKind, it.name)
} }
return null
} }
private val lookupTracker_isDoNothing: Boolean = incrementalCompilationComponents?.getLookupTracker() === LookupTracker.DO_NOTHING private val lookupTracker_isDoNothing: Boolean = incrementalCompilationComponents?.getLookupTracker() === LookupTracker.DO_NOTHING
@@ -444,7 +444,7 @@ class DaemonReportingTargets(val out: PrintStream? = null,
val messageCollector: MessageCollector? = null, val messageCollector: MessageCollector? = null,
val compilerServices: CompilerServicesFacadeBase? = null) val compilerServices: CompilerServicesFacadeBase? = null)
internal fun DaemonReportingTargets.report(category: DaemonReportCategory, message: String, source: String? = null) { internal fun DaemonReportingTargets.report(category: DaemonReportCategory, message: String, source: String? = null): Unit {
val sourceMessage: String by lazy { source?.let { "[$it] $message" } ?: message } val sourceMessage: String by lazy { source?.let { "[$it] $message" } ?: message }
out?.println("${category.name}: $sourceMessage") out?.println("${category.name}: $sourceMessage")
messages?.add(DaemonReportMessage(category, sourceMessage)) messages?.add(DaemonReportMessage(category, sourceMessage))
@@ -27,8 +27,9 @@ class RemoteInputStreamServer(val `in`: InputStream, port: Int = SOCKET_ANY_FREE
: RemoteInputStream, : RemoteInputStream,
UnicastRemoteObject(port, LoopbackNetworkInterface.clientLoopbackSocketFactory, LoopbackNetworkInterface.serverLoopbackSocketFactory) UnicastRemoteObject(port, LoopbackNetworkInterface.clientLoopbackSocketFactory, LoopbackNetworkInterface.serverLoopbackSocketFactory)
{ {
override fun close() { override fun close(): Void? {
`in`.close() `in`.close()
return null
} }
override fun read(length: Int): ByteArray { override fun read(length: Int): ByteArray {
@@ -28,15 +28,18 @@ class RemoteOutputStreamServer(val out: OutputStream, port: Int = SOCKET_ANY_FRE
: RemoteOutputStream, : RemoteOutputStream,
UnicastRemoteObject(port, LoopbackNetworkInterface.clientLoopbackSocketFactory, LoopbackNetworkInterface.serverLoopbackSocketFactory) UnicastRemoteObject(port, LoopbackNetworkInterface.clientLoopbackSocketFactory, LoopbackNetworkInterface.serverLoopbackSocketFactory)
{ {
override fun close() { override fun close(): Void? {
out.close() out.close()
return null
} }
override fun write(data: ByteArray, offset: Int, length: Int) { override fun write(data: ByteArray, offset: Int, length: Int): Void? {
out.write(data, offset, length) out.write(data, offset, length)
return null
} }
override fun write(dataByte: Int) { override fun write(dataByte: Int): Void? {
out.write(dataByte) out.write(dataByte)
return null
} }
} }
@@ -22,7 +22,7 @@ import java.rmi.RemoteException
interface CompilationResults : Remote { interface CompilationResults : Remote {
@Throws(RemoteException::class) @Throws(RemoteException::class)
fun add(compilationResultCategory: Int, value: Serializable) fun add(compilationResultCategory: Int, value: Serializable): Void?
} }
enum class CompilationResultCategory(val code: Int) { enum class CompilationResultCategory(val code: Int) {
@@ -56,13 +56,13 @@ interface CompilerCallbackServicesFacade : Remote {
fun incrementalCache_getModuleMappingData(target: TargetId): ByteArray? fun incrementalCache_getModuleMappingData(target: TargetId): ByteArray?
@Throws(RemoteException::class) @Throws(RemoteException::class)
fun incrementalCache_registerInline(target: TargetId, fromPath: String, jvmSignature: String, toPath: String) fun incrementalCache_registerInline(target: TargetId, fromPath: String, jvmSignature: String, toPath: String): Void?
@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)
fun incrementalCache_close(target: TargetId) fun incrementalCache_close(target: TargetId): Void?
@Throws(RemoteException::class) @Throws(RemoteException::class)
fun incrementalCache_getMultifileFacadeParts(target: TargetId, internalName: String): Collection<String>? fun incrementalCache_getMultifileFacadeParts(target: TargetId, internalName: String): Collection<String>?
@@ -73,7 +73,7 @@ interface CompilerCallbackServicesFacade : Remote {
fun lookupTracker_requiresPosition(): Boolean fun lookupTracker_requiresPosition(): Boolean
@Throws(RemoteException::class) @Throws(RemoteException::class)
fun lookupTracker_record(lookups: Collection<LookupInfo>) fun lookupTracker_record(lookups: Collection<LookupInfo>): Void?
@Throws(RemoteException::class) @Throws(RemoteException::class)
fun lookupTracker_isDoNothing(): Boolean fun lookupTracker_isDoNothing(): Boolean
@@ -25,7 +25,7 @@ interface CompilerServicesFacadeBase : Remote {
* Reports different kind of diagnostic messages from compile daemon to compile daemon clients (jps, gradle, ...) * Reports different kind of diagnostic messages from compile daemon to compile daemon clients (jps, gradle, ...)
*/ */
@Throws(RemoteException::class) @Throws(RemoteException::class)
fun report(category: Int, severity: Int, message: String?, attachment: Serializable?) fun report(category: Int, severity: Int, message: String?, attachment: Serializable?): Void?
} }
enum class ReportCategory(val code: Int) { enum class ReportCategory(val code: Int) {
@@ -22,7 +22,7 @@ import java.rmi.RemoteException
interface RemoteInputStream : Remote { interface RemoteInputStream : Remote {
@Throws(RemoteException::class) @Throws(RemoteException::class)
fun close() fun close(): Void?
@Throws(RemoteException::class) @Throws(RemoteException::class)
fun read(length: Int): ByteArray fun read(length: Int): ByteArray
@@ -22,8 +22,8 @@ import java.rmi.RemoteException
interface RemoteOperationsTracer : Remote { interface RemoteOperationsTracer : Remote {
@Throws(RemoteException::class) @Throws(RemoteException::class)
fun before(id: String) fun before(id: String): Void?
@Throws(RemoteException::class) @Throws(RemoteException::class)
fun after(id: String) fun after(id: String): Void?
} }
@@ -22,11 +22,11 @@ import java.rmi.RemoteException
interface RemoteOutputStream : Remote { interface RemoteOutputStream : Remote {
@Throws(RemoteException::class) @Throws(RemoteException::class)
fun close() fun close(): Void?
@Throws(RemoteException::class) @Throws(RemoteException::class)
fun write(data: ByteArray, offset: Int, length: Int) fun write(data: ByteArray, offset: Int, length: Int): Void?
@Throws(RemoteException::class) @Throws(RemoteException::class)
fun write(dataByte: Int) fun write(dataByte: Int): Void?
} }
@@ -32,9 +32,10 @@ internal class JpsCompilerServicesFacadeImpl(
port), port),
JpsCompilerServicesFacade { JpsCompilerServicesFacade {
override fun report(category: Int, severity: Int, message: String?, attachment: Serializable?) { override fun report(category: Int, severity: Int, message: String?, attachment: Serializable?): Void? {
env.messageCollector.reportFromDaemon( env.messageCollector.reportFromDaemon(
{ outFile, srcFiles -> env.outputItemsCollector.add(srcFiles, outFile) }, { outFile, srcFiles -> env.outputItemsCollector.add(srcFiles, outFile) },
category, severity, message, attachment) category, severity, message, attachment)
return null
} }
} }