[JPS] Fix incremental build after changing Java constant

InlineConstantTracker implemented for tracking changed java static final constants, that used in kotlin.

#KT-46506 Fixed
This commit is contained in:
Aleksei.Cherepanov
2021-09-02 12:32:30 +03:00
committed by TeamCityServer
parent 23420ecf7a
commit cc5382b37e
9 changed files with 126 additions and 1 deletions
@@ -18,6 +18,8 @@ package org.jetbrains.kotlin.daemon.client
import org.jetbrains.kotlin.daemon.common.*
import org.jetbrains.kotlin.incremental.components.ExpectActualTracker
import org.jetbrains.kotlin.incremental.components.InlineConstTracker
import org.jetbrains.kotlin.incremental.components.ConstantRef
import org.jetbrains.kotlin.incremental.components.LookupInfo
import org.jetbrains.kotlin.incremental.components.LookupTracker
import org.jetbrains.kotlin.incremental.js.IncrementalDataProvider
@@ -36,6 +38,7 @@ open class CompilerCallbackServicesFacadeServer(
val lookupTracker: LookupTracker? = null,
val compilationCanceledStatus: CompilationCanceledStatus? = null,
val expectActualTracker: ExpectActualTracker? = null,
val inlineConstTracker: InlineConstTracker? = null,
val incrementalResultsConsumer: IncrementalResultsConsumer? = null,
val incrementalDataProvider: IncrementalDataProvider? = null,
port: Int = SOCKET_ANY_FREE_PORT
@@ -53,6 +56,8 @@ open class CompilerCallbackServicesFacadeServer(
override fun hasExpectActualTracker(): Boolean = expectActualTracker != null
override fun hasInlineConstTracker(): Boolean = inlineConstTracker != null
override fun hasIncrementalResultsConsumer(): Boolean = incrementalResultsConsumer != null
override fun hasIncrementalDataProvider(): Boolean = incrementalDataProvider != null
@@ -116,6 +121,10 @@ open class CompilerCallbackServicesFacadeServer(
expectActualTracker!!.report(File(expectedFilePath), File(actualFilePath))
}
override fun inlineConstTracker_report(className: String, cRefs: Collection<ConstantRef>) {
inlineConstTracker?.report(className, cRefs) ?: throw NullPointerException("inlineConstTracker was not initialized")
}
override fun incrementalResultsConsumer_processHeader(headerMetadata: ByteArray) {
incrementalResultsConsumer!!.processHeader(headerMetadata)
}