IJ-CR-167063 Make IncrementalUpdateFlowProducer internal

It was agreed in the review not to release this
as a public API and implement an alternative solution instead.

GitOrigin-RevId: 499d576da8aeb123f9d3b3e677916b6822a4222b
This commit is contained in:
Sergei Tachenov
2025-07-29 08:27:10 +00:00
committed by intellij-monorepo-bot
parent 59f9cb440b
commit 72c03afaeb
2 changed files with 2 additions and 9 deletions
@@ -37,13 +37,6 @@ f:com.intellij.platform.util.coroutines.CoroutineScopeKt
f:com.intellij.platform.util.coroutines.flow.FlowKt
- *sf:mapStateIn(kotlinx.coroutines.flow.StateFlow,kotlinx.coroutines.CoroutineScope,kotlinx.coroutines.flow.SharingStarted,kotlin.jvm.functions.Function1):kotlinx.coroutines.flow.StateFlow
- *bs:mapStateIn$default(kotlinx.coroutines.flow.StateFlow,kotlinx.coroutines.CoroutineScope,kotlinx.coroutines.flow.SharingStarted,kotlin.jvm.functions.Function1,I,java.lang.Object):kotlinx.coroutines.flow.StateFlow
*f:com.intellij.platform.util.coroutines.flow.IncrementalUpdateFlowProducer
- <init>(com.intellij.platform.util.coroutines.flow.MutableStateWithIncrementalUpdates):V
- f:getIncrementalUpdateFlow():kotlinx.coroutines.flow.Flow
- f:handleUpdate(java.lang.Object,kotlin.coroutines.Continuation):java.lang.Object
*:com.intellij.platform.util.coroutines.flow.MutableStateWithIncrementalUpdates
- a:applyUpdate(java.lang.Object,kotlin.coroutines.Continuation):java.lang.Object
- a:takeSnapshot(kotlin.coroutines.Continuation):java.lang.Object
*:com.intellij.platform.util.coroutines.sync.OverflowSemaphore
- a:withPermit(kotlin.jvm.functions.Function2,kotlin.coroutines.Continuation):java.lang.Object
f:com.intellij.platform.util.coroutines.sync.OverflowSemaphoreKt
@@ -19,7 +19,7 @@ import java.util.concurrent.atomic.AtomicLong
* so they should not call [IncrementalUpdateFlowProducer.handleUpdate]
* to avoid deadlocks.
*/
@ApiStatus.Experimental
@ApiStatus.Internal
interface MutableStateWithIncrementalUpdates<U : Any> {
/**
* Applies the given update to the state.
@@ -72,7 +72,7 @@ interface MutableStateWithIncrementalUpdates<U : Any> {
* and the frontend can connect at any moment and needs to receive the full state first
* and then incremental updates to that state.
*/
@ApiStatus.Experimental
@ApiStatus.Internal
class IncrementalUpdateFlowProducer<U : Any>(private val state: MutableStateWithIncrementalUpdates<U>) {
private val updateVersion = AtomicLong()
private val lock = Mutex()