[JPS] Fix incremental build after changing Java enum used in Kotlin when

EnumWhenTracker implemented for tracking changed java enum class items, that used in kotlin when expression.

#KT-47824 Fixed
This commit is contained in:
Aleksei.Cherepanov
2021-11-04 17:13:56 +03:00
committed by Space
parent ee8de63497
commit 3d8f140d6b
38 changed files with 319 additions and 57 deletions
@@ -17,10 +17,7 @@
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.LookupInfo
import org.jetbrains.kotlin.incremental.components.LookupTracker
import org.jetbrains.kotlin.incremental.components.*
import org.jetbrains.kotlin.incremental.js.IncrementalDataProvider
import org.jetbrains.kotlin.incremental.js.IncrementalResultsConsumer
import org.jetbrains.kotlin.incremental.js.JsInlineFunctionHash
@@ -38,6 +35,7 @@ open class CompilerCallbackServicesFacadeServer(
val compilationCanceledStatus: CompilationCanceledStatus? = null,
val expectActualTracker: ExpectActualTracker? = null,
val inlineConstTracker: InlineConstTracker? = null,
val enumWhenTracker: EnumWhenTracker? = null,
val incrementalResultsConsumer: IncrementalResultsConsumer? = null,
val incrementalDataProvider: IncrementalDataProvider? = null,
port: Int = SOCKET_ANY_FREE_PORT
@@ -57,6 +55,8 @@ open class CompilerCallbackServicesFacadeServer(
override fun hasInlineConstTracker(): Boolean = inlineConstTracker != null
override fun hasEnumWhenTracker(): Boolean = enumWhenTracker != null
override fun hasIncrementalResultsConsumer(): Boolean = incrementalResultsConsumer != null
override fun hasIncrementalDataProvider(): Boolean = incrementalDataProvider != null
@@ -124,6 +124,10 @@ open class CompilerCallbackServicesFacadeServer(
inlineConstTracker?.report(filePath, owner, name, constType) ?: throw NullPointerException("inlineConstTracker was not initialized")
}
override fun enumWhenTracker_report(whenUsageClassPath: String, enumClassFqName: String) {
enumWhenTracker?.report(whenUsageClassPath, enumClassFqName) ?: throw NullPointerException("enumWhenTracker was not initialized")
}
override fun incrementalResultsConsumer_processHeader(headerMetadata: ByteArray) {
incrementalResultsConsumer!!.processHeader(headerMetadata)
}