[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:
committed by
TeamCityServer
parent
23420ecf7a
commit
cc5382b37e
+9
@@ -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)
|
||||
}
|
||||
|
||||
+9
@@ -17,6 +17,7 @@
|
||||
package org.jetbrains.kotlin.daemon.common
|
||||
|
||||
import org.jetbrains.kotlin.incremental.components.LookupInfo
|
||||
import org.jetbrains.kotlin.incremental.components.ConstantRef
|
||||
import org.jetbrains.kotlin.incremental.js.JsInlineFunctionHash
|
||||
import org.jetbrains.kotlin.load.kotlin.incremental.components.JvmPackagePartProto
|
||||
import org.jetbrains.kotlin.modules.TargetId
|
||||
@@ -48,6 +49,9 @@ interface CompilerCallbackServicesFacade : Remote {
|
||||
@Throws(RemoteException::class)
|
||||
fun hasExpectActualTracker(): Boolean
|
||||
|
||||
@Throws(RemoteException::class)
|
||||
fun hasInlineConstTracker(): Boolean
|
||||
|
||||
@Throws(RemoteException::class)
|
||||
fun hasIncrementalResultsConsumer(): Boolean
|
||||
|
||||
@@ -101,6 +105,11 @@ interface CompilerCallbackServicesFacade : Remote {
|
||||
@Throws(RemoteException::class)
|
||||
fun expectActualTracker_report(expectedFilePath: String, actualFilePath: String)
|
||||
|
||||
// ---------------------------------------------------
|
||||
// InlineConstTracker
|
||||
@Throws(RemoteException::class)
|
||||
fun inlineConstTracker_report(className: String, cRefs: Collection<ConstantRef>)
|
||||
|
||||
// ---------------------------------------------------
|
||||
// IncrementalResultsConsumer (js)
|
||||
@Throws(RemoteException::class)
|
||||
|
||||
@@ -47,6 +47,7 @@ import org.jetbrains.kotlin.daemon.report.getBuildReporter
|
||||
import org.jetbrains.kotlin.incremental.*
|
||||
import org.jetbrains.kotlin.incremental.components.ExpectActualTracker
|
||||
import org.jetbrains.kotlin.incremental.components.LookupTracker
|
||||
import org.jetbrains.kotlin.incremental.components.InlineConstTracker
|
||||
import org.jetbrains.kotlin.incremental.js.IncrementalDataProvider
|
||||
import org.jetbrains.kotlin.incremental.js.IncrementalResultsConsumer
|
||||
import org.jetbrains.kotlin.incremental.multiproject.ModulesApiHistoryAndroid
|
||||
@@ -873,6 +874,9 @@ class CompileServiceImpl(
|
||||
if (facade.hasExpectActualTracker()) {
|
||||
builder.register(ExpectActualTracker::class.java, RemoteExpectActualTracker(facade, rpcProfiler))
|
||||
}
|
||||
if (facade.hasInlineConstTracker()) {
|
||||
builder.register(InlineConstTracker::class.java, RemoteInlineConstTracker(facade, rpcProfiler))
|
||||
}
|
||||
if (facade.hasIncrementalResultsConsumer()) {
|
||||
builder.register(IncrementalResultsConsumer::class.java, RemoteIncrementalResultsConsumer(facade, eventManager, rpcProfiler))
|
||||
}
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
/*
|
||||
* Copyright 2010-2018 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||
*/
|
||||
|
||||
package org.jetbrains.kotlin.daemon
|
||||
|
||||
import org.jetbrains.kotlin.daemon.common.DummyProfiler
|
||||
import org.jetbrains.kotlin.daemon.common.Profiler
|
||||
import org.jetbrains.kotlin.daemon.common.withMeasure
|
||||
import org.jetbrains.kotlin.incremental.components.InlineConstTracker
|
||||
import org.jetbrains.kotlin.incremental.components.ConstantRef
|
||||
|
||||
class RemoteInlineConstTracker(
|
||||
@Suppress("DEPRECATION") val facade: org.jetbrains.kotlin.daemon.common.CompilerCallbackServicesFacade,
|
||||
val profiler: Profiler = DummyProfiler()
|
||||
): InlineConstTracker {
|
||||
override fun report(filePath: String, cRefs: Collection<ConstantRef>) {
|
||||
profiler.withMeasure(this) {
|
||||
facade.inlineConstTracker_report(filePath, cRefs)
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user