[JS KLIB IC] Implement incremental cache for IR

This commit is contained in:
Roman Artemev
2019-08-23 14:27:08 +03:00
committed by romanart
parent 7840cf70f0
commit 3753b75609
10 changed files with 145 additions and 5 deletions
@@ -9,11 +9,15 @@ import org.jetbrains.kotlin.daemon.common.CompilerCallbackServicesFacade
import org.jetbrains.kotlin.daemon.common.Profiler
import org.jetbrains.kotlin.daemon.common.withMeasure
import org.jetbrains.kotlin.incremental.js.IncrementalDataProvider
import org.jetbrains.kotlin.incremental.js.IrTranslationResultValue
import org.jetbrains.kotlin.incremental.js.TranslationResultValue
import java.io.File
class RemoteIncrementalDataProvider(val facade: CompilerCallbackServicesFacade, val rpcProfiler: Profiler) :
IncrementalDataProvider {
override val serializedIrFiles: Map<File, IrTranslationResultValue>
get() = TODO("not implemented") //To change initializer of created properties use File | Settings | File Templates.
override val headerMetadata: ByteArray
get() = rpcProfiler.withMeasure(this) {
facade.incrementalDataProvider_getHeaderMetadata()
@@ -15,6 +15,18 @@ import java.io.File
class RemoteIncrementalResultsConsumer(val facade: CompilerCallbackServicesFacade, eventManager: EventManager, val rpcProfiler: Profiler) :
IncrementalResultsConsumer {
override fun processIrFile(
sourceFile: File,
fileData: ByteArray,
symbols: ByteArray,
types: ByteArray,
strings: ByteArray,
declarations: ByteArray,
bodies: ByteArray,
fqn: ByteArray
) {
TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
}
init {
eventManager.