kotlinx-coroutines-core/jsAndWasmShared/src/flow/internal/SafeCollector.kt [1:26]: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - package kotlinx.coroutines.flow.internal import kotlinx.coroutines.* import kotlinx.coroutines.flow.* import kotlin.coroutines.* internal actual class SafeCollector actual constructor( internal actual val collector: FlowCollector, internal actual val collectContext: CoroutineContext ) : FlowCollector { // Note, it is non-capturing lambda, so no extra allocation during init of SafeCollector internal actual val collectContextSize = collectContext.fold(0) { count, _ -> count + 1 } private var lastEmissionContext: CoroutineContext? = null actual override suspend fun emit(value: T) { val currentContext = currentCoroutineContext() currentContext.ensureActive() if (lastEmissionContext !== currentContext) { checkContext(currentContext) lastEmissionContext = currentContext } collector.emit(value) } public actual fun releaseIntercepted() { - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - kotlinx-coroutines-core/native/src/flow/internal/SafeCollector.kt [1:26]: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - package kotlinx.coroutines.flow.internal import kotlinx.coroutines.* import kotlinx.coroutines.flow.* import kotlin.coroutines.* internal actual class SafeCollector actual constructor( internal actual val collector: FlowCollector, internal actual val collectContext: CoroutineContext ) : FlowCollector { // Note, it is non-capturing lambda, so no extra allocation during init of SafeCollector internal actual val collectContextSize = collectContext.fold(0) { count, _ -> count + 1 } private var lastEmissionContext: CoroutineContext? = null actual override suspend fun emit(value: T) { val currentContext = currentCoroutineContext() currentContext.ensureActive() if (lastEmissionContext !== currentContext) { checkContext(currentContext) lastEmissionContext = currentContext } collector.emit(value) } public actual fun releaseIntercepted() { - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -