jps: implement mpp and js daemon compiler services
#KT-24635 fixed
This commit is contained in:
+43
-2
@@ -29,7 +29,10 @@ import java.rmi.RemoteException
|
||||
* 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
|
||||
*/
|
||||
@Deprecated("The usages should be replaced with `compile` method and `CompilerServicesFacadeBase` implementations", ReplaceWith("CompilerServicesFacadeBase"))
|
||||
@Deprecated(
|
||||
"The usages should be replaced with `compile` method and `CompilerServicesFacadeBase` implementations",
|
||||
ReplaceWith("CompilerServicesFacadeBase")
|
||||
)
|
||||
interface CompilerCallbackServicesFacade : Remote {
|
||||
|
||||
@Throws(RemoteException::class)
|
||||
@@ -41,6 +44,15 @@ interface CompilerCallbackServicesFacade : Remote {
|
||||
@Throws(RemoteException::class)
|
||||
fun hasCompilationCanceledStatus(): Boolean
|
||||
|
||||
@Throws(RemoteException::class)
|
||||
fun hasExpectActualTracker(): Boolean
|
||||
|
||||
@Throws(RemoteException::class)
|
||||
fun hasIncrementalResultsConsumer(): Boolean
|
||||
|
||||
@Throws(RemoteException::class)
|
||||
fun hasIncrementalDataProvider(): Boolean
|
||||
|
||||
// ----------------------------------------------------
|
||||
// IncrementalCache
|
||||
@Throws(RemoteException::class)
|
||||
@@ -82,11 +94,40 @@ interface CompilerCallbackServicesFacade : Remote {
|
||||
// CompilationCanceledStatus
|
||||
@Throws(RemoteException::class, RmiFriendlyCompilationCanceledException::class)
|
||||
fun compilationCanceledStatus_checkCanceled(): Void?
|
||||
|
||||
// ---------------------------------------------------
|
||||
// ExpectActualTracker
|
||||
@Throws(RemoteException::class)
|
||||
fun expectActualTracker_report(expectedFilePath: String, actualFilePath: String)
|
||||
|
||||
// ---------------------------------------------------
|
||||
// IncrementalResultsConsumer (js)
|
||||
@Throws(RemoteException::class)
|
||||
fun incrementalResultsConsumer_processHeader(headerMetadata: ByteArray)
|
||||
|
||||
@Throws(RemoteException::class)
|
||||
fun incrementalResultsConsumer_processPackagePart(sourceFilePath: String, packagePartMetadata: ByteArray, binaryAst: ByteArray)
|
||||
|
||||
@Throws(RemoteException::class)
|
||||
fun incrementalResultsConsumer_processInlineFunction(sourceFilePath: String, fqName: String, inlineFunction: Any, line: Int, column: Int)
|
||||
|
||||
// ---------------------------------------------------
|
||||
// IncrementalDataProvider (js)
|
||||
@Throws(RemoteException::class)
|
||||
fun incrementalDataProvider_getHeaderMetadata(): ByteArray
|
||||
|
||||
@Throws(RemoteException::class)
|
||||
fun incrementalDataProvider_getCompiledPackageParts(): Collection<CompiledPackagePart>
|
||||
}
|
||||
|
||||
class CompiledPackagePart(
|
||||
val filePath: String,
|
||||
val metadata: ByteArray, val binaryAst: ByteArray
|
||||
) : Serializable
|
||||
|
||||
class RmiFriendlyCompilationCanceledException : Exception(), Serializable {
|
||||
companion object {
|
||||
private val serialVersionUID: Long = 8228357578L // just a random number, but should never be changed to avoid deserialization problems
|
||||
private val serialVersionUID: Long =
|
||||
8228357578L // just a random number, but should never be changed to avoid deserialization problems
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user