gitextract_93h8727g/ ├── .github/ │ └── ISSUE_TEMPLATE/ │ ├── bug_report.md │ ├── config.yml │ ├── design_considerations.md │ ├── feature_request.md │ ├── guide.md │ └── rc_feedback.md ├── .gitignore ├── .idea/ │ ├── codeStyleSettings.xml │ ├── codeStyles/ │ │ ├── Project.xml │ │ └── codeStyleConfig.xml │ ├── copyright/ │ │ └── profiles_settings.xml │ ├── dictionaries/ │ │ └── shared.xml │ └── vcs.xml ├── CHANGES.md ├── CHANGES_UP_TO_1.7.md ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE.txt ├── README.md ├── RELEASE.md ├── benchmarks/ │ ├── build.gradle.kts │ ├── scripts/ │ │ └── generate_plots_flow_flatten_merge.py │ └── src/ │ ├── jmh/ │ │ ├── java/ │ │ │ └── benchmarks/ │ │ │ └── flow/ │ │ │ └── scrabble/ │ │ │ ├── RxJava2PlaysScrabble.java │ │ │ ├── RxJava2PlaysScrabbleOpt.java │ │ │ └── optimizations/ │ │ │ ├── FlowableCharSequence.java │ │ │ ├── FlowableSplit.java │ │ │ └── StringFlowable.java │ │ └── kotlin/ │ │ └── benchmarks/ │ │ ├── ChannelSinkBenchmark.kt │ │ ├── ChannelSinkDepthBenchmark.kt │ │ ├── ChannelSinkNoAllocationsBenchmark.kt │ │ ├── ParametrizedDispatcherBase.kt │ │ ├── SequentialSemaphoreBenchmark.kt │ │ ├── akka/ │ │ │ ├── PingPongAkkaBenchmark.kt │ │ │ └── StatefulActorAkkaBenchmark.kt │ │ ├── debug/ │ │ │ └── DebugSequenceOverheadBenchmark.kt │ │ ├── flow/ │ │ │ ├── CombineFlowsBenchmark.kt │ │ │ ├── CombineTwoFlowsBenchmark.kt │ │ │ ├── FlatMapMergeBenchmark.kt │ │ │ ├── FlowFlattenMergeBenchmark.kt │ │ │ ├── NumbersBenchmark.kt │ │ │ ├── SafeFlowBenchmark.kt │ │ │ ├── TakeBenchmark.kt │ │ │ └── scrabble/ │ │ │ ├── FlowPlaysScrabbleBase.kt │ │ │ ├── FlowPlaysScrabbleOpt.kt │ │ │ ├── IterableSpliterator.kt │ │ │ ├── README.md │ │ │ ├── ReactorPlaysScrabble.kt │ │ │ ├── SaneFlowPlaysScrabble.kt │ │ │ ├── SequencePlaysScrabble.kt │ │ │ └── ShakespearePlaysScrabble.kt │ │ └── scheduler/ │ │ ├── DispatchersContextSwitchBenchmark.kt │ │ ├── ForkJoinBenchmark.kt │ │ ├── LaunchBenchmark.kt │ │ ├── StatefulAwaitsBenchmark.kt │ │ └── actors/ │ │ ├── ConcurrentStatefulActorBenchmark.kt │ │ ├── CycledActorsBenchmark.kt │ │ ├── PingPongActorBenchmark.kt │ │ ├── PingPongWithBlockingContext.kt │ │ └── StatefulActorBenchmark.kt │ └── main/ │ └── kotlin/ │ └── benchmarks/ │ └── common/ │ └── BenchmarkUtils.kt ├── build.gradle.kts ├── buildSrc/ │ ├── build.gradle.kts │ ├── settings.gradle.kts │ └── src/ │ └── main/ │ └── kotlin/ │ ├── AuxBuildConfiguration.kt │ ├── CacheRedirector.kt │ ├── CommunityProjectsBuild.kt │ ├── Dokka.kt │ ├── GlobalKotlinCompilerOptions.kt │ ├── Idea.kt │ ├── Java9Modularity.kt │ ├── Platform.kt │ ├── Projects.kt │ ├── Publishing.kt │ ├── SourceSets.kt │ ├── UnpackAar.kt │ ├── VersionFile.kt │ ├── animalsniffer-jvm-conventions.gradle.kts │ ├── animalsniffer-multiplatform-conventions.gradle.kts │ ├── bom-conventions.gradle.kts │ ├── configure-compilation-conventions.gradle.kts │ ├── dokka-conventions.gradle.kts │ ├── java-modularity-conventions.gradle.kts │ ├── knit-conventions.gradle.kts │ ├── kotlin-jvm-conventions.gradle.kts │ ├── kotlin-multiplatform-conventions.gradle.kts │ ├── kover-conventions.gradle.kts │ ├── pub-conventions.gradle.kts │ ├── source-set-conventions.gradle.kts │ └── version-file-conventions.gradle.kts ├── bump-version.sh ├── coroutines-guide.md ├── docs/ │ ├── basics.md │ ├── cancellation-and-timeouts.md │ ├── cfg/ │ │ └── buildprofiles.xml │ ├── channels.md │ ├── compatibility.md │ ├── composing-suspending-functions.md │ ├── coroutine-context-and-dispatchers.md │ ├── coroutines-guide.md │ ├── debugging.md │ ├── exception-handling.md │ ├── flow.md │ ├── kc.tree │ ├── knit.code.include │ ├── knit.test.template │ ├── select-expression.md │ ├── shared-mutable-state-and-concurrency.md │ ├── topics/ │ │ ├── cancellation-and-timeouts.md │ │ ├── channels.md │ │ ├── compatibility.md │ │ ├── composing-suspending-functions.md │ │ ├── coroutine-context-and-dispatchers.md │ │ ├── coroutines-and-channels.md │ │ ├── coroutines-basics.md │ │ ├── coroutines-guide.md │ │ ├── debug-coroutines-with-idea.md │ │ ├── debug-flow-with-idea.md │ │ ├── debugging.md │ │ ├── exception-handling.md │ │ ├── flow.md │ │ ├── knit.properties │ │ ├── select-expression.md │ │ └── shared-mutable-state-and-concurrency.md │ └── writerside.cfg ├── dokka-templates/ │ └── README.md ├── gradle/ │ └── wrapper/ │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradle.properties ├── gradlew ├── gradlew.bat ├── integration/ │ ├── README.md │ ├── kotlinx-coroutines-guava/ │ │ ├── README.md │ │ ├── api/ │ │ │ └── kotlinx-coroutines-guava.api │ │ ├── build.gradle.kts │ │ ├── package.list │ │ ├── src/ │ │ │ ├── ListenableFuture.kt │ │ │ └── module-info.java │ │ └── test/ │ │ ├── FutureAsDeferredUnhandledCompletionExceptionTest.kt │ │ ├── ListenableFutureExceptionsTest.kt │ │ ├── ListenableFutureTest.kt │ │ └── ListenableFutureToStringTest.kt │ ├── kotlinx-coroutines-jdk8/ │ │ ├── README.md │ │ ├── api/ │ │ │ └── kotlinx-coroutines-jdk8.api │ │ ├── build.gradle.kts │ │ └── src/ │ │ └── module-info.java │ ├── kotlinx-coroutines-play-services/ │ │ ├── README.md │ │ ├── api/ │ │ │ └── kotlinx-coroutines-play-services.api │ │ ├── build.gradle.kts │ │ ├── package.list │ │ ├── src/ │ │ │ └── Tasks.kt │ │ └── test/ │ │ ├── FakeAndroid.kt │ │ └── TaskTest.kt │ └── kotlinx-coroutines-slf4j/ │ ├── README.md │ ├── api/ │ │ └── kotlinx-coroutines-slf4j.api │ ├── build.gradle.kts │ ├── package.list │ ├── src/ │ │ ├── MDCContext.kt │ │ └── module-info.java │ ├── test/ │ │ └── MDCContextTest.kt │ └── test-resources/ │ └── logback-test.xml ├── integration-testing/ │ ├── .gitignore │ ├── README.md │ ├── build.gradle.kts │ ├── gradle/ │ │ └── wrapper/ │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties │ ├── gradle.properties │ ├── gradlew │ ├── gradlew.bat │ ├── java8Test/ │ │ ├── build.gradle.kts │ │ └── src/ │ │ └── test/ │ │ └── kotlin/ │ │ └── JUnit5TimeoutCompilation.kt │ ├── jpmsTest/ │ │ ├── build.gradle.kts │ │ └── src/ │ │ └── debugDynamicAgentJpmsTest/ │ │ ├── java/ │ │ │ └── module-info.java │ │ └── kotlin/ │ │ └── DynamicAttachDebugJpmsTest.kt │ ├── settings.gradle.kts │ ├── smokeTest/ │ │ ├── build.gradle.kts │ │ └── src/ │ │ ├── commonMain/ │ │ │ └── kotlin/ │ │ │ └── Sample.kt │ │ └── commonTest/ │ │ └── kotlin/ │ │ └── SampleTest.kt │ └── src/ │ ├── coreAgentTest/ │ │ └── kotlin/ │ │ └── CoreAgentTest.kt │ ├── debugAgentTest/ │ │ └── kotlin/ │ │ ├── DebugAgentTest.kt │ │ ├── DebugProbes.kt │ │ └── PrecompiledDebugProbesTest.kt │ ├── debugDynamicAgentTest/ │ │ └── kotlin/ │ │ └── DynamicAttachDebugTest.kt │ ├── jvmCoreTest/ │ │ └── kotlin/ │ │ ├── Jdk8InCoreIntegration.kt │ │ └── ListAllCoroutineThrowableSubclassesTest.kt │ └── mavenTest/ │ └── kotlin/ │ ├── MavenPublicationAtomicfuValidator.kt │ ├── MavenPublicationMetaInfValidator.kt │ └── MavenPublicationVersionValidator.kt ├── knit.properties ├── kotlinx-coroutines-bom/ │ └── build.gradle.kts ├── kotlinx-coroutines-core/ │ ├── README.md │ ├── api/ │ │ ├── kotlinx-coroutines-core.api │ │ └── kotlinx-coroutines-core.klib.api │ ├── benchmarks/ │ │ ├── README.md │ │ ├── jvm/ │ │ │ └── kotlin/ │ │ │ └── kotlinx/ │ │ │ └── coroutines/ │ │ │ ├── BenchmarkUtils.kt │ │ │ ├── SemaphoreBenchmark.kt │ │ │ ├── channels/ │ │ │ │ ├── ChannelProducerConsumerBenchmark.kt │ │ │ │ ├── SelectBenchmark.kt │ │ │ │ ├── SimpleChannel.kt │ │ │ │ └── SimpleChannelBenchmark.kt │ │ │ └── flow/ │ │ │ └── TakeWhileBenchmark.kt │ │ └── main/ │ │ └── kotlin/ │ │ └── SharedFlowBaseline.kt │ ├── build.gradle.kts │ ├── common/ │ │ ├── README.md │ │ ├── src/ │ │ │ ├── AbstractCoroutine.kt │ │ │ ├── Annotations.kt │ │ │ ├── Await.kt │ │ │ ├── Builders.common.kt │ │ │ ├── CancellableContinuation.kt │ │ │ ├── CancellableContinuationImpl.kt │ │ │ ├── CloseableCoroutineDispatcher.kt │ │ │ ├── CompletableDeferred.kt │ │ │ ├── CompletableJob.kt │ │ │ ├── CompletionHandler.common.kt │ │ │ ├── CompletionState.kt │ │ │ ├── CoroutineContext.common.kt │ │ │ ├── CoroutineDispatcher.kt │ │ │ ├── CoroutineExceptionHandler.kt │ │ │ ├── CoroutineName.kt │ │ │ ├── CoroutineScope.kt │ │ │ ├── CoroutineStart.kt │ │ │ ├── Debug.common.kt │ │ │ ├── Deferred.kt │ │ │ ├── Delay.kt │ │ │ ├── Dispatchers.common.kt │ │ │ ├── EventLoop.common.kt │ │ │ ├── Exceptions.common.kt │ │ │ ├── Guidance.kt │ │ │ ├── Job.kt │ │ │ ├── JobSupport.kt │ │ │ ├── MainCoroutineDispatcher.kt │ │ │ ├── NonCancellable.kt │ │ │ ├── Runnable.common.kt │ │ │ ├── SchedulerTask.common.kt │ │ │ ├── Supervisor.kt │ │ │ ├── Timeout.kt │ │ │ ├── Unconfined.kt │ │ │ ├── Waiter.kt │ │ │ ├── Yield.kt │ │ │ ├── channels/ │ │ │ │ ├── Broadcast.kt │ │ │ │ ├── BroadcastChannel.kt │ │ │ │ ├── BufferOverflow.kt │ │ │ │ ├── BufferedChannel.kt │ │ │ │ ├── Channel.kt │ │ │ │ ├── ChannelCoroutine.kt │ │ │ │ ├── Channels.common.kt │ │ │ │ ├── ConflatedBufferedChannel.kt │ │ │ │ ├── Deprecated.kt │ │ │ │ └── Produce.kt │ │ │ ├── flow/ │ │ │ │ ├── Builders.kt │ │ │ │ ├── Channels.kt │ │ │ │ ├── Flow.kt │ │ │ │ ├── FlowCollector.kt │ │ │ │ ├── Migration.kt │ │ │ │ ├── SharedFlow.kt │ │ │ │ ├── SharingStarted.kt │ │ │ │ ├── StateFlow.kt │ │ │ │ ├── internal/ │ │ │ │ │ ├── AbstractSharedFlow.kt │ │ │ │ │ ├── ChannelFlow.kt │ │ │ │ │ ├── Combine.kt │ │ │ │ │ ├── FlowCoroutine.kt │ │ │ │ │ ├── FlowExceptions.common.kt │ │ │ │ │ ├── Merge.kt │ │ │ │ │ ├── NopCollector.kt │ │ │ │ │ ├── NullSurrogate.kt │ │ │ │ │ ├── SafeCollector.common.kt │ │ │ │ │ └── SendingCollector.kt │ │ │ │ ├── operators/ │ │ │ │ │ ├── Context.kt │ │ │ │ │ ├── Delay.kt │ │ │ │ │ ├── Distinct.kt │ │ │ │ │ ├── Emitters.kt │ │ │ │ │ ├── Errors.kt │ │ │ │ │ ├── Limit.kt │ │ │ │ │ ├── Lint.kt │ │ │ │ │ ├── Merge.kt │ │ │ │ │ ├── Share.kt │ │ │ │ │ ├── Transform.kt │ │ │ │ │ └── Zip.kt │ │ │ │ └── terminal/ │ │ │ │ ├── Collect.kt │ │ │ │ ├── Collection.kt │ │ │ │ ├── Count.kt │ │ │ │ ├── Logic.kt │ │ │ │ └── Reduce.kt │ │ │ ├── internal/ │ │ │ │ ├── Concurrent.common.kt │ │ │ │ ├── ConcurrentLinkedList.kt │ │ │ │ ├── CoroutineExceptionHandlerImpl.common.kt │ │ │ │ ├── DispatchedContinuation.kt │ │ │ │ ├── DispatchedTask.kt │ │ │ │ ├── InlineList.kt │ │ │ │ ├── InternalAnnotations.common.kt │ │ │ │ ├── LimitedDispatcher.kt │ │ │ │ ├── LocalAtomics.common.kt │ │ │ │ ├── LockFreeLinkedList.common.kt │ │ │ │ ├── LockFreeTaskQueue.kt │ │ │ │ ├── MainDispatcherFactory.kt │ │ │ │ ├── NamedDispatcher.kt │ │ │ │ ├── OnUndeliveredElement.kt │ │ │ │ ├── ProbesSupport.common.kt │ │ │ │ ├── Scopes.kt │ │ │ │ ├── StackTraceRecovery.common.kt │ │ │ │ ├── Symbol.kt │ │ │ │ ├── Synchronized.common.kt │ │ │ │ ├── SystemProps.common.kt │ │ │ │ ├── ThreadContext.common.kt │ │ │ │ ├── ThreadLocal.common.kt │ │ │ │ └── ThreadSafeHeap.kt │ │ │ ├── intrinsics/ │ │ │ │ ├── Cancellable.kt │ │ │ │ └── Undispatched.kt │ │ │ ├── selects/ │ │ │ │ ├── OnTimeout.kt │ │ │ │ ├── Select.kt │ │ │ │ ├── SelectOld.kt │ │ │ │ ├── SelectUnbiased.kt │ │ │ │ └── WhileSelect.kt │ │ │ └── sync/ │ │ │ ├── Mutex.kt │ │ │ └── Semaphore.kt │ │ └── test/ │ │ ├── AbstractCoroutineTest.kt │ │ ├── AsyncLazyTest.kt │ │ ├── AsyncTest.kt │ │ ├── AtomicCancellationCommonTest.kt │ │ ├── AwaitCancellationTest.kt │ │ ├── AwaitTest.kt │ │ ├── BuilderContractsTest.kt │ │ ├── CancellableContinuationHandlersTest.kt │ │ ├── CancellableContinuationTest.kt │ │ ├── CancellableResumeOldTest.kt │ │ ├── CancellableResumeTest.kt │ │ ├── CancelledParentAttachTest.kt │ │ ├── CompletableDeferredTest.kt │ │ ├── CompletableJobTest.kt │ │ ├── CoroutineDispatcherOperatorFunInvokeTest.kt │ │ ├── CoroutineExceptionHandlerTest.kt │ │ ├── CoroutineScopeTest.kt │ │ ├── CoroutinesTest.kt │ │ ├── DelayDurationTest.kt │ │ ├── DelayTest.kt │ │ ├── DispatchedContinuationTest.kt │ │ ├── DurationToMillisTest.kt │ │ ├── EmptyContext.kt │ │ ├── FailedJobTest.kt │ │ ├── ImmediateYieldTest.kt │ │ ├── JobExtensionsTest.kt │ │ ├── JobStatesTest.kt │ │ ├── JobTest.kt │ │ ├── LaunchLazyTest.kt │ │ ├── LimitedParallelismSharedTest.kt │ │ ├── NonCancellableTest.kt │ │ ├── ParentCancellationTest.kt │ │ ├── SupervisorTest.kt │ │ ├── UnconfinedCancellationTest.kt │ │ ├── UnconfinedTest.kt │ │ ├── UndispatchedResultTest.kt │ │ ├── WithContextTest.kt │ │ ├── WithTimeoutDurationTest.kt │ │ ├── WithTimeoutOrNullDurationTest.kt │ │ ├── WithTimeoutOrNullTest.kt │ │ ├── WithTimeoutTest.kt │ │ ├── channels/ │ │ │ ├── BasicOperationsTest.kt │ │ │ ├── BroadcastChannelFactoryTest.kt │ │ │ ├── BroadcastTest.kt │ │ │ ├── BufferedBroadcastChannelTest.kt │ │ │ ├── BufferedChannelTest.kt │ │ │ ├── ChannelBufferOverflowTest.kt │ │ │ ├── ChannelFactoryTest.kt │ │ │ ├── ChannelReceiveCatchingTest.kt │ │ │ ├── ChannelUndeliveredElementFailureTest.kt │ │ │ ├── ChannelUndeliveredElementTest.kt │ │ │ ├── ChannelsTest.kt │ │ │ ├── ConflatedBroadcastChannelTest.kt │ │ │ ├── ConflatedChannelTest.kt │ │ │ ├── ConsumeTest.kt │ │ │ ├── ProduceConsumeTest.kt │ │ │ ├── ProduceTest.kt │ │ │ ├── RendezvousChannelTest.kt │ │ │ ├── SendReceiveStressTest.kt │ │ │ ├── TestBroadcastChannelKind.kt │ │ │ ├── TestChannelKind.kt │ │ │ └── UnlimitedChannelTest.kt │ │ ├── flow/ │ │ │ ├── BuildersTest.kt │ │ │ ├── FlowInvariantsTest.kt │ │ │ ├── IdFlowTest.kt │ │ │ ├── NamedDispatchers.kt │ │ │ ├── SafeFlowTest.kt │ │ │ ├── VirtualTime.kt │ │ │ ├── channels/ │ │ │ │ ├── ChannelBuildersFlowTest.kt │ │ │ │ ├── ChannelFlowTest.kt │ │ │ │ └── FlowCallbackTest.kt │ │ │ ├── internal/ │ │ │ │ └── FlowScopeTest.kt │ │ │ ├── operators/ │ │ │ │ ├── BooleanTerminationTest.kt │ │ │ │ ├── BufferConflationTest.kt │ │ │ │ ├── BufferTest.kt │ │ │ │ ├── CancellableTest.kt │ │ │ │ ├── CatchTest.kt │ │ │ │ ├── ChunkedTest.kt │ │ │ │ ├── CombineParametersTest.kt │ │ │ │ ├── CombineTest.kt │ │ │ │ ├── ConflateTest.kt │ │ │ │ ├── DebounceTest.kt │ │ │ │ ├── DistinctUntilChangedTest.kt │ │ │ │ ├── DropTest.kt │ │ │ │ ├── DropWhileTest.kt │ │ │ │ ├── FilterTest.kt │ │ │ │ ├── FilterTrivialTest.kt │ │ │ │ ├── FlatMapBaseTest.kt │ │ │ │ ├── FlatMapConcatTest.kt │ │ │ │ ├── FlatMapLatestTest.kt │ │ │ │ ├── FlatMapMergeBaseTest.kt │ │ │ │ ├── FlatMapMergeFastPathTest.kt │ │ │ │ ├── FlatMapMergeTest.kt │ │ │ │ ├── FlattenConcatTest.kt │ │ │ │ ├── FlattenMergeTest.kt │ │ │ │ ├── FlowContextOptimizationsTest.kt │ │ │ │ ├── FlowOnTest.kt │ │ │ │ ├── IndexedTest.kt │ │ │ │ ├── LintTest.kt │ │ │ │ ├── MapNotNullTest.kt │ │ │ │ ├── MapTest.kt │ │ │ │ ├── MergeTest.kt │ │ │ │ ├── OnCompletionTest.kt │ │ │ │ ├── OnEachTest.kt │ │ │ │ ├── OnEmptyTest.kt │ │ │ │ ├── OnStartTest.kt │ │ │ │ ├── RetryTest.kt │ │ │ │ ├── SampleTest.kt │ │ │ │ ├── ScanTest.kt │ │ │ │ ├── TakeTest.kt │ │ │ │ ├── TakeWhileTest.kt │ │ │ │ ├── TimeoutTest.kt │ │ │ │ ├── TransformLatestTest.kt │ │ │ │ ├── TransformTest.kt │ │ │ │ ├── TransformWhileTest.kt │ │ │ │ └── ZipTest.kt │ │ │ ├── sharing/ │ │ │ │ ├── ShareInBufferTest.kt │ │ │ │ ├── ShareInConflationTest.kt │ │ │ │ ├── ShareInFusionTest.kt │ │ │ │ ├── ShareInTest.kt │ │ │ │ ├── SharedFlowScenarioTest.kt │ │ │ │ ├── SharedFlowTest.kt │ │ │ │ ├── SharingStartedTest.kt │ │ │ │ ├── SharingStartedWhileSubscribedTest.kt │ │ │ │ ├── StateFlowTest.kt │ │ │ │ └── StateInTest.kt │ │ │ └── terminal/ │ │ │ ├── CollectLatestTest.kt │ │ │ ├── CountTest.kt │ │ │ ├── FirstTest.kt │ │ │ ├── FoldTest.kt │ │ │ ├── LastTest.kt │ │ │ ├── LaunchInTest.kt │ │ │ ├── ReduceTest.kt │ │ │ ├── SingleTest.kt │ │ │ └── ToCollectionTest.kt │ │ ├── selects/ │ │ │ ├── SelectBiasTest.kt │ │ │ ├── SelectBufferedChannelTest.kt │ │ │ ├── SelectDeferredTest.kt │ │ │ ├── SelectJobTest.kt │ │ │ ├── SelectLoopTest.kt │ │ │ ├── SelectMutexTest.kt │ │ │ ├── SelectOldTest.kt │ │ │ ├── SelectRendezvousChannelTest.kt │ │ │ ├── SelectTimeoutDurationTest.kt │ │ │ ├── SelectTimeoutTest.kt │ │ │ └── SelectUnlimitedChannelTest.kt │ │ └── sync/ │ │ ├── MutexTest.kt │ │ └── SemaphoreTest.kt │ ├── concurrent/ │ │ ├── src/ │ │ │ ├── Builders.concurrent.kt │ │ │ ├── Dispatchers.kt │ │ │ ├── MultithreadedDispatchers.common.kt │ │ │ ├── channels/ │ │ │ │ └── Channels.kt │ │ │ └── internal/ │ │ │ ├── LockFreeLinkedList.kt │ │ │ └── OnDemandAllocatingPool.kt │ │ └── test/ │ │ ├── AbstractDispatcherConcurrencyTest.kt │ │ ├── AtomicCancellationTest.kt │ │ ├── CommonThreadLocalTest.kt │ │ ├── ConcurrentExceptionsStressTest.kt │ │ ├── ConcurrentTestUtilities.common.kt │ │ ├── DefaultDispatchersConcurrencyTest.kt │ │ ├── JobStructuredJoinStressTest.kt │ │ ├── LimitedParallelismConcurrentTest.kt │ │ ├── MultithreadedDispatcherStressTest.kt │ │ ├── RunBlockingTest.kt │ │ ├── channels/ │ │ │ ├── BroadcastChannelSubStressTest.kt │ │ │ ├── ChannelCancelUndeliveredElementStressTest.kt │ │ │ ├── ConflatedBroadcastChannelNotifyStressTest.kt │ │ │ └── TrySendBlockingTest.kt │ │ ├── flow/ │ │ │ ├── CombineStressTest.kt │ │ │ ├── FlowCancellationTest.kt │ │ │ ├── StateFlowCommonStressTest.kt │ │ │ └── StateFlowUpdateCommonTest.kt │ │ ├── selects/ │ │ │ ├── SelectChannelStressTest.kt │ │ │ └── SelectMutexStressTest.kt │ │ └── sync/ │ │ ├── MutexStressTest.kt │ │ └── SemaphoreStressTest.kt │ ├── js/ │ │ ├── src/ │ │ │ ├── CoroutineContext.kt │ │ │ ├── Debug.kt │ │ │ ├── JSDispatcher.kt │ │ │ ├── Promise.kt │ │ │ ├── Window.kt │ │ │ └── internal/ │ │ │ ├── CopyOnWriteList.kt │ │ │ └── CoroutineExceptionHandlerImpl.kt │ │ └── test/ │ │ └── PromiseTest.kt │ ├── jsAndWasmJsShared/ │ │ ├── src/ │ │ │ ├── EventLoop.kt │ │ │ └── internal/ │ │ │ └── JSDispatcher.kt │ │ └── test/ │ │ ├── MessageQueueTest.kt │ │ └── SetTimeoutDispatcherTest.kt │ ├── jsAndWasmShared/ │ │ ├── src/ │ │ │ ├── CloseableCoroutineDispatcher.kt │ │ │ ├── CoroutineContext.kt │ │ │ ├── Dispatchers.kt │ │ │ ├── Exceptions.kt │ │ │ ├── Runnable.kt │ │ │ ├── SchedulerTask.kt │ │ │ ├── flow/ │ │ │ │ └── internal/ │ │ │ │ ├── FlowExceptions.kt │ │ │ │ └── SafeCollector.kt │ │ │ └── internal/ │ │ │ ├── Concurrent.kt │ │ │ ├── CoroutineExceptionHandlerImpl.kt │ │ │ ├── LinkedList.kt │ │ │ ├── LocalAtomics.kt │ │ │ ├── ProbesSupport.kt │ │ │ ├── StackTraceRecovery.kt │ │ │ ├── Synchronized.kt │ │ │ ├── SystemProps.kt │ │ │ ├── ThreadContext.kt │ │ │ └── ThreadLocal.kt │ │ └── test/ │ │ ├── ImmediateDispatcherTest.kt │ │ └── internal/ │ │ └── LinkedListTest.kt │ ├── jvm/ │ │ ├── resources/ │ │ │ └── META-INF/ │ │ │ ├── com.android.tools/ │ │ │ │ ├── proguard/ │ │ │ │ │ └── coroutines.pro │ │ │ │ └── r8/ │ │ │ │ └── coroutines.pro │ │ │ └── proguard/ │ │ │ └── coroutines.pro │ │ ├── src/ │ │ │ ├── AbstractTimeSource.kt │ │ │ ├── Builders.kt │ │ │ ├── CoroutineContext.kt │ │ │ ├── Debug.kt │ │ │ ├── DebugStrings.kt │ │ │ ├── DefaultExecutor.kt │ │ │ ├── Dispatchers.kt │ │ │ ├── EventLoop.kt │ │ │ ├── Exceptions.kt │ │ │ ├── Executors.kt │ │ │ ├── Future.kt │ │ │ ├── Interruptible.kt │ │ │ ├── Runnable.kt │ │ │ ├── SchedulerTask.kt │ │ │ ├── ThreadContextElement.kt │ │ │ ├── ThreadPoolDispatcher.kt │ │ │ ├── channels/ │ │ │ │ ├── Actor.kt │ │ │ │ └── TickerChannels.kt │ │ │ ├── debug/ │ │ │ │ ├── CoroutineDebugging.kt │ │ │ │ └── internal/ │ │ │ │ ├── AgentInstallationType.kt │ │ │ │ ├── AgentPremain.kt │ │ │ │ ├── ConcurrentWeakMap.kt │ │ │ │ ├── DebugCoroutineInfo.kt │ │ │ │ ├── DebugCoroutineInfoImpl.kt │ │ │ │ ├── DebugProbes.kt │ │ │ │ ├── DebugProbesImpl.kt │ │ │ │ ├── DebuggerInfo.kt │ │ │ │ └── StackTraceFrame.kt │ │ │ ├── flow/ │ │ │ │ └── internal/ │ │ │ │ ├── FlowExceptions.kt │ │ │ │ └── SafeCollector.kt │ │ │ ├── future/ │ │ │ │ └── Future.kt │ │ │ ├── internal/ │ │ │ │ ├── Concurrent.kt │ │ │ │ ├── CoroutineExceptionHandlerImpl.kt │ │ │ │ ├── ExceptionsConstructor.kt │ │ │ │ ├── FastServiceLoader.kt │ │ │ │ ├── InternalAnnotations.kt │ │ │ │ ├── LocalAtomics.kt │ │ │ │ ├── MainDispatchers.kt │ │ │ │ ├── ProbesSupport.kt │ │ │ │ ├── ResizableAtomicArray.kt │ │ │ │ ├── StackTraceRecovery.kt │ │ │ │ ├── Synchronized.kt │ │ │ │ ├── SystemProps.kt │ │ │ │ ├── ThreadContext.kt │ │ │ │ └── ThreadLocal.kt │ │ │ ├── module-info.java │ │ │ ├── scheduling/ │ │ │ │ ├── CoroutineScheduler.kt │ │ │ │ ├── Dispatcher.kt │ │ │ │ ├── Tasks.kt │ │ │ │ └── WorkQueue.kt │ │ │ ├── stream/ │ │ │ │ └── Stream.kt │ │ │ └── time/ │ │ │ └── Time.kt │ │ ├── test/ │ │ │ ├── AbstractLincheckTest.kt │ │ │ ├── AsyncJvmTest.kt │ │ │ ├── AwaitJvmTest.kt │ │ │ ├── AwaitStressTest.kt │ │ │ ├── CancellableContinuationJvmTest.kt │ │ │ ├── CancellableContinuationResumeCloseStressTest.kt │ │ │ ├── CancelledAwaitStressTest.kt │ │ │ ├── ConcurrentTestUtilities.kt │ │ │ ├── CoroutinesJvmTest.kt │ │ │ ├── DebugThreadNameTest.kt │ │ │ ├── DefaultExecutorStressTest.kt │ │ │ ├── DelayJvmTest.kt │ │ │ ├── DispatcherKeyTest.kt │ │ │ ├── DispatchersToStringTest.kt │ │ │ ├── EventLoopsTest.kt │ │ │ ├── ExecutorAsCoroutineDispatcherDelayTest.kt │ │ │ ├── ExecutorsTest.kt │ │ │ ├── FailFastOnStartTest.kt │ │ │ ├── FailingCoroutinesMachineryTest.kt │ │ │ ├── IODispatcherTest.kt │ │ │ ├── IntellijIdeaDebuggerEvaluatorCompatibilityTest.kt │ │ │ ├── JobActivationStressTest.kt │ │ │ ├── JobCancellationExceptionSerializerTest.kt │ │ │ ├── JobChildStressTest.kt │ │ │ ├── JobDisposeStressTest.kt │ │ │ ├── JobHandlersUpgradeStressTest.kt │ │ │ ├── JobOnCompletionStressTest.kt │ │ │ ├── JobStressTest.kt │ │ │ ├── JoinStressTest.kt │ │ │ ├── LimitedParallelismStressTest.kt │ │ │ ├── LimitedParallelismUnhandledExceptionTest.kt │ │ │ ├── MemoryFootprintTest.kt │ │ │ ├── MultithreadedDispatchersJvmTest.kt │ │ │ ├── MutexCancellationStressTest.kt │ │ │ ├── NoParamAssertionsTest.kt │ │ │ ├── RejectedExecutionTest.kt │ │ │ ├── ReusableCancellableContinuationInvariantStressTest.kt │ │ │ ├── ReusableCancellableContinuationLeakStressTest.kt │ │ │ ├── ReusableCancellableContinuationTest.kt │ │ │ ├── ReusableContinuationStressTest.kt │ │ │ ├── RunBlockingJvmTest.kt │ │ │ ├── RunInterruptibleStressTest.kt │ │ │ ├── RunInterruptibleTest.kt │ │ │ ├── TestBaseTest.kt │ │ │ ├── ThreadContextElementRestoreTest.kt │ │ │ ├── ThreadContextElementTest.kt │ │ │ ├── ThreadContextMutableCopiesTest.kt │ │ │ ├── ThreadContextOrderTest.kt │ │ │ ├── ThreadLocalStressTest.kt │ │ │ ├── ThreadLocalTest.kt │ │ │ ├── ThreadLocalsLeaksTest.kt │ │ │ ├── UnconfinedConcurrentStressTest.kt │ │ │ ├── VirtualTimeSource.kt │ │ │ ├── WithDefaultContextTest.kt │ │ │ ├── WithTimeoutChildDispatchStressTest.kt │ │ │ ├── WithTimeoutOrNullJvmTest.kt │ │ │ ├── WithTimeoutOrNullThreadDispatchTest.kt │ │ │ ├── WithTimeoutThreadDispatchTest.kt │ │ │ ├── channels/ │ │ │ │ ├── ActorLazyTest.kt │ │ │ │ ├── ActorTest.kt │ │ │ │ ├── BroadcastChannelLeakTest.kt │ │ │ │ ├── BroadcastChannelMultiReceiveStressTest.kt │ │ │ │ ├── BufferedChannelStressTest.kt │ │ │ │ ├── CancelledChannelLeakTest.kt │ │ │ │ ├── ChannelMemoryLeakStressTest.kt │ │ │ │ ├── ChannelSelectStressTest.kt │ │ │ │ ├── ChannelSendReceiveStressTest.kt │ │ │ │ ├── ChannelUndeliveredElementSelectOldStressTest.kt │ │ │ │ ├── ChannelUndeliveredElementStressTest.kt │ │ │ │ ├── ConflatedChannelCloseStressTest.kt │ │ │ │ ├── DoubleChannelCloseStressTest.kt │ │ │ │ ├── InvokeOnCloseStressTest.kt │ │ │ │ ├── ProduceConsumeJvmTest.kt │ │ │ │ ├── SendReceiveJvmStressTest.kt │ │ │ │ ├── SimpleSendReceiveJvmTest.kt │ │ │ │ ├── TickerChannelCommonTest.kt │ │ │ │ └── TickerChannelTest.kt │ │ │ ├── examples/ │ │ │ │ ├── example-delay-01.kt │ │ │ │ ├── example-delay-02.kt │ │ │ │ ├── example-delay-03.kt │ │ │ │ ├── example-delay-duration-01.kt │ │ │ │ ├── example-delay-duration-02.kt │ │ │ │ ├── example-delay-duration-03.kt │ │ │ │ ├── example-timeout-duration-01.kt │ │ │ │ └── test/ │ │ │ │ └── FlowDelayTest.kt │ │ │ ├── exceptions/ │ │ │ │ ├── CoroutineExceptionHandlerJvmTest.kt │ │ │ │ ├── FlowSuppressionTest.kt │ │ │ │ ├── JobBasicCancellationTest.kt │ │ │ │ ├── JobExceptionHandlingTest.kt │ │ │ │ ├── JobExceptionsStressTest.kt │ │ │ │ ├── JobNestedExceptionsTest.kt │ │ │ │ ├── ProduceExceptionsTest.kt │ │ │ │ ├── StackTraceRecoveryChannelsTest.kt │ │ │ │ ├── StackTraceRecoveryCustomExceptionsTest.kt │ │ │ │ ├── StackTraceRecoveryNestedScopesTest.kt │ │ │ │ ├── StackTraceRecoveryNestedTest.kt │ │ │ │ ├── StackTraceRecoveryResumeModeTest.kt │ │ │ │ ├── StackTraceRecoverySelectTest.kt │ │ │ │ ├── StackTraceRecoveryTest.kt │ │ │ │ ├── StackTraceRecoveryWithTimeoutTest.kt │ │ │ │ ├── Stacktraces.kt │ │ │ │ ├── SuppressionTests.kt │ │ │ │ ├── WithContextCancellationStressTest.kt │ │ │ │ └── WithContextExceptionHandlingTest.kt │ │ │ ├── flow/ │ │ │ │ ├── CallbackFlowTest.kt │ │ │ │ ├── ExceptionTransparencyTest.kt │ │ │ │ ├── FirstJvmTest.kt │ │ │ │ ├── FlatMapStressTest.kt │ │ │ │ ├── OnCompletionInterceptedReleaseTest.kt │ │ │ │ ├── SafeCollectorMemoryLeakTest.kt │ │ │ │ ├── SharedFlowStressTest.kt │ │ │ │ ├── SharingReferenceTest.kt │ │ │ │ ├── SharingStressTest.kt │ │ │ │ ├── StateFlowCancellabilityTest.kt │ │ │ │ ├── StateFlowStressTest.kt │ │ │ │ └── StateFlowUpdateStressTest.kt │ │ │ ├── guide/ │ │ │ │ ├── example-basic-01.kt │ │ │ │ ├── example-basic-02.kt │ │ │ │ ├── example-basic-03.kt │ │ │ │ ├── example-basic-04.kt │ │ │ │ ├── example-basic-05.kt │ │ │ │ ├── example-basic-06.kt │ │ │ │ ├── example-cancel-01.kt │ │ │ │ ├── example-cancel-02.kt │ │ │ │ ├── example-cancel-03.kt │ │ │ │ ├── example-cancel-04.kt │ │ │ │ ├── example-cancel-05.kt │ │ │ │ ├── example-cancel-06.kt │ │ │ │ ├── example-cancel-07.kt │ │ │ │ ├── example-cancel-08.kt │ │ │ │ ├── example-cancel-09.kt │ │ │ │ ├── example-cancel-10.kt │ │ │ │ ├── example-channel-01.kt │ │ │ │ ├── example-channel-02.kt │ │ │ │ ├── example-channel-03.kt │ │ │ │ ├── example-channel-04.kt │ │ │ │ ├── example-channel-05.kt │ │ │ │ ├── example-channel-06.kt │ │ │ │ ├── example-channel-07.kt │ │ │ │ ├── example-channel-08.kt │ │ │ │ ├── example-channel-09.kt │ │ │ │ ├── example-channel-10.kt │ │ │ │ ├── example-compose-01.kt │ │ │ │ ├── example-compose-02.kt │ │ │ │ ├── example-compose-03.kt │ │ │ │ ├── example-compose-04.kt │ │ │ │ ├── example-compose-05.kt │ │ │ │ ├── example-compose-06.kt │ │ │ │ ├── example-context-01.kt │ │ │ │ ├── example-context-02.kt │ │ │ │ ├── example-context-03.kt │ │ │ │ ├── example-context-04.kt │ │ │ │ ├── example-context-05.kt │ │ │ │ ├── example-context-06.kt │ │ │ │ ├── example-context-07.kt │ │ │ │ ├── example-context-08.kt │ │ │ │ ├── example-context-09.kt │ │ │ │ ├── example-context-10.kt │ │ │ │ ├── example-context-11.kt │ │ │ │ ├── example-exceptions-01.kt │ │ │ │ ├── example-exceptions-02.kt │ │ │ │ ├── example-exceptions-03.kt │ │ │ │ ├── example-exceptions-04.kt │ │ │ │ ├── example-exceptions-05.kt │ │ │ │ ├── example-exceptions-06.kt │ │ │ │ ├── example-flow-01.kt │ │ │ │ ├── example-flow-02.kt │ │ │ │ ├── example-flow-03.kt │ │ │ │ ├── example-flow-04.kt │ │ │ │ ├── example-flow-05.kt │ │ │ │ ├── example-flow-06.kt │ │ │ │ ├── example-flow-07.kt │ │ │ │ ├── example-flow-08.kt │ │ │ │ ├── example-flow-09.kt │ │ │ │ ├── example-flow-10.kt │ │ │ │ ├── example-flow-11.kt │ │ │ │ ├── example-flow-12.kt │ │ │ │ ├── example-flow-13.kt │ │ │ │ ├── example-flow-14.kt │ │ │ │ ├── example-flow-15.kt │ │ │ │ ├── example-flow-16.kt │ │ │ │ ├── example-flow-17.kt │ │ │ │ ├── example-flow-18.kt │ │ │ │ ├── example-flow-19.kt │ │ │ │ ├── example-flow-20.kt │ │ │ │ ├── example-flow-21.kt │ │ │ │ ├── example-flow-22.kt │ │ │ │ ├── example-flow-23.kt │ │ │ │ ├── example-flow-24.kt │ │ │ │ ├── example-flow-25.kt │ │ │ │ ├── example-flow-26.kt │ │ │ │ ├── example-flow-27.kt │ │ │ │ ├── example-flow-28.kt │ │ │ │ ├── example-flow-29.kt │ │ │ │ ├── example-flow-30.kt │ │ │ │ ├── example-flow-31.kt │ │ │ │ ├── example-flow-32.kt │ │ │ │ ├── example-flow-33.kt │ │ │ │ ├── example-flow-34.kt │ │ │ │ ├── example-flow-35.kt │ │ │ │ ├── example-flow-36.kt │ │ │ │ ├── example-flow-37.kt │ │ │ │ ├── example-flow-38.kt │ │ │ │ ├── example-flow-39.kt │ │ │ │ ├── example-select-01.kt │ │ │ │ ├── example-select-02.kt │ │ │ │ ├── example-select-03.kt │ │ │ │ ├── example-select-04.kt │ │ │ │ ├── example-select-05.kt │ │ │ │ ├── example-supervision-01.kt │ │ │ │ ├── example-supervision-02.kt │ │ │ │ ├── example-supervision-03.kt │ │ │ │ ├── example-sync-01.kt │ │ │ │ ├── example-sync-02.kt │ │ │ │ ├── example-sync-03.kt │ │ │ │ ├── example-sync-04.kt │ │ │ │ ├── example-sync-05.kt │ │ │ │ ├── example-sync-06.kt │ │ │ │ ├── example-sync-07.kt │ │ │ │ └── test/ │ │ │ │ ├── BasicsGuideTest.kt │ │ │ │ ├── CancellationGuideTest.kt │ │ │ │ ├── ChannelsGuideTest.kt │ │ │ │ ├── ComposingGuideTest.kt │ │ │ │ ├── DispatcherGuideTest.kt │ │ │ │ ├── ExceptionsGuideTest.kt │ │ │ │ ├── FlowGuideTest.kt │ │ │ │ ├── SelectGuideTest.kt │ │ │ │ └── SharedStateGuideTest.kt │ │ │ ├── internal/ │ │ │ │ ├── ConcurrentWeakMapCollectionStressTest.kt │ │ │ │ ├── ConcurrentWeakMapOperationStressTest.kt │ │ │ │ ├── ConcurrentWeakMapTest.kt │ │ │ │ ├── FastServiceLoaderTest.kt │ │ │ │ ├── LockFreeLinkedListLongStressTest.kt │ │ │ │ ├── LockFreeTaskQueueStressTest.kt │ │ │ │ ├── LockFreeTaskQueueTest.kt │ │ │ │ ├── OnDemandAllocatingPoolLincheckTest.kt │ │ │ │ ├── ThreadSafeHeapStressTest.kt │ │ │ │ └── ThreadSafeHeapTest.kt │ │ │ ├── jdk8/ │ │ │ │ ├── future/ │ │ │ │ │ ├── AsFutureTest.kt │ │ │ │ │ ├── FutureAsDeferredUnhandledCompletionExceptionTest.kt │ │ │ │ │ ├── FutureExceptionsTest.kt │ │ │ │ │ └── FutureTest.kt │ │ │ │ ├── stream/ │ │ │ │ │ └── ConsumeAsFlowTest.kt │ │ │ │ └── time/ │ │ │ │ ├── DurationOverflowTest.kt │ │ │ │ ├── FlowDebounceTest.kt │ │ │ │ ├── FlowSampleTest.kt │ │ │ │ └── WithTimeoutTest.kt │ │ │ ├── knit/ │ │ │ │ ├── ClosedAfterGuideTestExecutor.kt │ │ │ │ └── TestUtil.kt │ │ │ ├── lincheck/ │ │ │ │ ├── ChannelsLincheckTest.kt │ │ │ │ ├── LockFreeTaskQueueLincheckTest.kt │ │ │ │ ├── MutexLincheckTest.kt │ │ │ │ ├── ResizableAtomicArrayLincheckTest.kt │ │ │ │ └── SemaphoreLincheckTest.kt │ │ │ ├── scheduling/ │ │ │ │ ├── BlockingCoroutineDispatcherLivenessStressTest.kt │ │ │ │ ├── BlockingCoroutineDispatcherMixedStealingStressTest.kt │ │ │ │ ├── BlockingCoroutineDispatcherTerminationStressTest.kt │ │ │ │ ├── BlockingCoroutineDispatcherTest.kt │ │ │ │ ├── BlockingCoroutineDispatcherThreadLimitStressTest.kt │ │ │ │ ├── BlockingCoroutineDispatcherWorkSignallingStressTest.kt │ │ │ │ ├── CoroutineDispatcherTest.kt │ │ │ │ ├── CoroutineSchedulerCloseStressTest.kt │ │ │ │ ├── CoroutineSchedulerInternalApiStressTest.kt │ │ │ │ ├── CoroutineSchedulerLivenessStressTest.kt │ │ │ │ ├── CoroutineSchedulerOversubscriptionTest.kt │ │ │ │ ├── CoroutineSchedulerStressTest.kt │ │ │ │ ├── CoroutineSchedulerTest.kt │ │ │ │ ├── DefaultDispatchersTest.kt │ │ │ │ ├── LimitingCoroutineDispatcherStressTest.kt │ │ │ │ ├── LimitingDispatcherTest.kt │ │ │ │ ├── SchedulerTestBase.kt │ │ │ │ ├── SharingWorkerClassTest.kt │ │ │ │ ├── TestTimeSource.kt │ │ │ │ ├── WorkQueueStressTest.kt │ │ │ │ └── WorkQueueTest.kt │ │ │ └── selects/ │ │ │ ├── SelectDeadlockStressTest.kt │ │ │ ├── SelectMemoryLeakStressTest.kt │ │ │ └── SelectPhilosophersStressTest.kt │ │ └── test-resources/ │ │ └── stacktraces/ │ │ ├── channels/ │ │ │ ├── testOfferFromScope.txt │ │ │ ├── testOfferWithContextWrapped.txt │ │ │ ├── testOfferWithCurrentContext.txt │ │ │ ├── testReceiveFromChannel.txt │ │ │ ├── testReceiveFromClosedChannel.txt │ │ │ ├── testSendFromScope.txt │ │ │ ├── testSendToChannel.txt │ │ │ └── testSendToClosedChannel.txt │ │ ├── resume-mode/ │ │ │ ├── testEventLoopDispatcher.txt │ │ │ ├── testEventLoopDispatcherSuspending.txt │ │ │ ├── testNestedEventLoopChangedContext.txt │ │ │ ├── testNestedEventLoopChangedContextSuspending.txt │ │ │ ├── testNestedEventLoopDispatcher.txt │ │ │ ├── testNestedEventLoopDispatcherSuspending.txt │ │ │ ├── testNestedUnconfined.txt │ │ │ ├── testNestedUnconfinedChangedContext.txt │ │ │ ├── testNestedUnconfinedChangedContextSuspending.txt │ │ │ ├── testNestedUnconfinedSuspending.txt │ │ │ ├── testUnconfined.txt │ │ │ └── testUnconfinedSuspending.txt │ │ ├── select/ │ │ │ ├── testSelectCompletedAwait.txt │ │ │ ├── testSelectJoin.txt │ │ │ └── testSelectOnReceive.txt │ │ └── timeout/ │ │ ├── testStacktraceIsRecoveredFromLexicalBlockWhenTriggeredByChild.txt │ │ ├── testStacktraceIsRecoveredFromSuspensionPoint.txt │ │ └── testStacktraceIsRecoveredFromSuspensionPointWithChild.txt │ ├── knit.properties │ ├── native/ │ │ ├── src/ │ │ │ ├── Builders.kt │ │ │ ├── CloseableCoroutineDispatcher.kt │ │ │ ├── CoroutineContext.kt │ │ │ ├── Debug.kt │ │ │ ├── Dispatchers.kt │ │ │ ├── EventLoop.kt │ │ │ ├── Exceptions.kt │ │ │ ├── MultithreadedDispatchers.kt │ │ │ ├── Runnable.kt │ │ │ ├── SchedulerTask.kt │ │ │ ├── flow/ │ │ │ │ └── internal/ │ │ │ │ ├── FlowExceptions.kt │ │ │ │ └── SafeCollector.kt │ │ │ └── internal/ │ │ │ ├── Concurrent.kt │ │ │ ├── CopyOnWriteList.kt │ │ │ ├── CoroutineExceptionHandlerImpl.kt │ │ │ ├── LocalAtomics.kt │ │ │ ├── ProbesSupport.kt │ │ │ ├── StackTraceRecovery.kt │ │ │ ├── Synchronized.kt │ │ │ ├── SystemProps.kt │ │ │ ├── ThreadContext.kt │ │ │ └── ThreadLocal.kt │ │ └── test/ │ │ ├── ConcurrentTestUtilities.kt │ │ ├── DelayExceptionTest.kt │ │ ├── MultithreadedDispatchersTest.kt │ │ └── WorkerTest.kt │ ├── nativeDarwin/ │ │ ├── src/ │ │ │ └── Dispatchers.kt │ │ └── test/ │ │ ├── Launcher.kt │ │ └── MainDispatcherTest.kt │ ├── nativeOther/ │ │ ├── src/ │ │ │ └── Dispatchers.kt │ │ └── test/ │ │ └── Launcher.kt │ ├── wasmJs/ │ │ ├── src/ │ │ │ ├── CoroutineContext.kt │ │ │ ├── Debug.kt │ │ │ ├── JSDispatcher.kt │ │ │ ├── Promise.kt │ │ │ └── internal/ │ │ │ ├── CopyOnWriteList.kt │ │ │ └── CoroutineExceptionHandlerImpl.kt │ │ └── test/ │ │ └── PromiseTest.kt │ └── wasmWasi/ │ └── src/ │ ├── Debug.kt │ ├── EventLoop.kt │ └── internal/ │ ├── CoroutineExceptionHandlerImpl.kt │ └── CoroutineRunner.kt ├── kotlinx-coroutines-debug/ │ ├── README.md │ ├── api/ │ │ └── kotlinx-coroutines-debug.api │ ├── build.gradle.kts │ ├── resources/ │ │ └── META-INF/ │ │ └── services/ │ │ └── reactor.blockhound.integration.BlockHoundIntegration │ ├── src/ │ │ ├── Attach.kt │ │ ├── CoroutineInfo.kt │ │ ├── CoroutinesBlockHoundIntegration.kt │ │ ├── DebugProbes.kt │ │ ├── NoOpProbes.kt │ │ ├── junit/ │ │ │ ├── CoroutinesTimeoutImpl.kt │ │ │ ├── junit4/ │ │ │ │ ├── CoroutinesTimeout.kt │ │ │ │ └── CoroutinesTimeoutStatement.kt │ │ │ └── junit5/ │ │ │ ├── CoroutinesTimeout.kt │ │ │ └── CoroutinesTimeoutExtension.kt │ │ └── module-info.java │ └── test/ │ ├── BlockHoundTest.kt │ ├── CoroutinesDumpTest.kt │ ├── DebugLeaksTest.kt │ ├── DebugProbesTest.kt │ ├── DebugTestBase.kt │ ├── DumpCoroutineInfoAsJsonAndReferencesTest.kt │ ├── DumpWithCreationStackTraceTest.kt │ ├── EnhanceStackTraceWithTreadDumpAsJsonTest.kt │ ├── Example.kt │ ├── LazyCoroutineTest.kt │ ├── RecoveryExample.kt │ ├── RunningThreadStackMergeTest.kt │ ├── SanitizedProbesTest.kt │ ├── ScopedBuildersTest.kt │ ├── StacktraceUtils.kt │ ├── StandardBuildersDebugTest.kt │ ├── StartModeProbesTest.kt │ ├── TestRuleExample.kt │ ├── ToStringTest.kt │ ├── WithContextUndispatchedTest.kt │ ├── junit4/ │ │ ├── CoroutinesTimeoutDisabledTracesTest.kt │ │ ├── CoroutinesTimeoutEagerTest.kt │ │ ├── CoroutinesTimeoutTest.kt │ │ └── TestFailureValidation.kt │ └── junit5/ │ ├── CoroutinesTimeoutExtensionTest.kt │ ├── CoroutinesTimeoutInheritanceTest.kt │ ├── CoroutinesTimeoutMethodTest.kt │ ├── CoroutinesTimeoutNestedTest.kt │ ├── CoroutinesTimeoutSimpleTest.kt │ ├── CoroutinesTimeoutTest.kt │ └── RegisterExtensionExample.kt ├── kotlinx-coroutines-test/ │ ├── MIGRATION.md │ ├── README.md │ ├── api/ │ │ ├── kotlinx-coroutines-test.api │ │ └── kotlinx-coroutines-test.klib.api │ ├── build.gradle.kts │ ├── common/ │ │ ├── src/ │ │ │ ├── TestBuilders.kt │ │ │ ├── TestCoroutineDispatchers.kt │ │ │ ├── TestCoroutineScheduler.kt │ │ │ ├── TestDispatcher.kt │ │ │ ├── TestDispatchers.kt │ │ │ ├── TestScope.kt │ │ │ └── internal/ │ │ │ ├── ExceptionCollector.kt │ │ │ ├── ReportingSupervisorJob.kt │ │ │ └── TestMainDispatcher.kt │ │ └── test/ │ │ ├── Helpers.kt │ │ ├── RunTestTest.kt │ │ ├── StandardTestDispatcherTest.kt │ │ ├── TestCoroutineSchedulerTest.kt │ │ ├── TestDispatchersTest.kt │ │ ├── TestScopeTest.kt │ │ └── UnconfinedTestDispatcherTest.kt │ ├── js/ │ │ ├── src/ │ │ │ ├── TestBuilders.kt │ │ │ └── internal/ │ │ │ ├── JsPromiseInterfaceForTesting.kt │ │ │ └── TestMainDispatcher.kt │ │ └── test/ │ │ ├── Helpers.kt │ │ └── PromiseTest.kt │ ├── jvm/ │ │ ├── resources/ │ │ │ └── META-INF/ │ │ │ ├── proguard/ │ │ │ │ └── coroutines.pro │ │ │ └── services/ │ │ │ ├── kotlinx.coroutines.CoroutineExceptionHandler │ │ │ └── kotlinx.coroutines.internal.MainDispatcherFactory │ │ ├── src/ │ │ │ ├── TestBuildersJvm.kt │ │ │ ├── internal/ │ │ │ │ └── TestMainDispatcherJvm.kt │ │ │ ├── migration/ │ │ │ │ ├── TestBuildersDeprecated.kt │ │ │ │ ├── TestCoroutineDispatcher.kt │ │ │ │ ├── TestCoroutineExceptionHandler.kt │ │ │ │ └── TestCoroutineScope.kt │ │ │ └── module-info.java │ │ └── test/ │ │ ├── DumpOnTimeoutTest.kt │ │ ├── HelpersJvm.kt │ │ ├── MemoryLeakTest.kt │ │ ├── MultithreadingTest.kt │ │ ├── RunTestStressTest.kt │ │ ├── UncaughtExceptionsTest.kt │ │ └── migration/ │ │ ├── RunBlockingTestOnTestScopeTest.kt │ │ ├── RunTestLegacyScopeTest.kt │ │ ├── TestBuildersTest.kt │ │ ├── TestCoroutineDispatcherTest.kt │ │ ├── TestCoroutineScopeTest.kt │ │ ├── TestRunBlockingOrderTest.kt │ │ └── TestRunBlockingTest.kt │ ├── native/ │ │ ├── src/ │ │ │ ├── TestBuilders.kt │ │ │ └── internal/ │ │ │ └── TestMainDispatcher.kt │ │ └── test/ │ │ └── Helpers.kt │ ├── npm/ │ │ ├── README.md │ │ └── package.json │ ├── wasmJs/ │ │ ├── src/ │ │ │ ├── TestBuilders.kt │ │ │ └── internal/ │ │ │ ├── JsPromiseInterfaceForTesting.kt │ │ │ └── TestMainDispatcher.kt │ │ └── test/ │ │ ├── Helpers.kt │ │ └── PromiseTest.kt │ └── wasmWasi/ │ ├── src/ │ │ ├── TestBuilders.kt │ │ └── internal/ │ │ └── TestMainDispatcher.kt │ └── test/ │ └── Helpers.kt ├── license/ │ └── NOTICE.txt ├── reactive/ │ ├── README.md │ ├── knit.properties │ ├── knit.test.include │ ├── kotlinx-coroutines-jdk9/ │ │ ├── README.md │ │ ├── api/ │ │ │ └── kotlinx-coroutines-jdk9.api │ │ ├── build.gradle.kts │ │ ├── package.list │ │ ├── src/ │ │ │ ├── Await.kt │ │ │ ├── Publish.kt │ │ │ ├── ReactiveFlow.kt │ │ │ └── module-info.java │ │ └── test/ │ │ ├── AwaitTest.kt │ │ ├── FlowAsPublisherTest.kt │ │ ├── IntegrationTest.kt │ │ ├── PublishTest.kt │ │ ├── PublisherAsFlowTest.kt │ │ ├── PublisherBackpressureTest.kt │ │ ├── PublisherCollectTest.kt │ │ ├── PublisherCompletionStressTest.kt │ │ └── PublisherMultiTest.kt │ ├── kotlinx-coroutines-reactive/ │ │ ├── README.md │ │ ├── api/ │ │ │ └── kotlinx-coroutines-reactive.api │ │ ├── build.gradle.kts │ │ ├── package.list │ │ ├── src/ │ │ │ ├── Await.kt │ │ │ ├── Channel.kt │ │ │ ├── ContextInjector.kt │ │ │ ├── Convert.kt │ │ │ ├── Migration.kt │ │ │ ├── Publish.kt │ │ │ ├── ReactiveFlow.kt │ │ │ └── module-info.java │ │ └── test/ │ │ ├── AwaitCancellationStressTest.kt │ │ ├── AwaitTest.kt │ │ ├── CancelledParentAttachTest.kt │ │ ├── FlowAsPublisherTest.kt │ │ ├── IntegrationTest.kt │ │ ├── IterableFlowTckTest.kt │ │ ├── PublishTest.kt │ │ ├── PublisherAsFlowTest.kt │ │ ├── PublisherBackpressureTest.kt │ │ ├── PublisherCollectTest.kt │ │ ├── PublisherCompletionStressTest.kt │ │ ├── PublisherMultiTest.kt │ │ ├── PublisherRequestStressTest.kt │ │ ├── PublisherSubscriptionSelectTest.kt │ │ ├── RangePublisherBufferedTest.kt │ │ ├── RangePublisherTest.kt │ │ ├── ReactiveStreamTckTest.kt │ │ └── UnboundedIntegerIncrementPublisherTest.kt │ ├── kotlinx-coroutines-reactor/ │ │ ├── README.md │ │ ├── api/ │ │ │ └── kotlinx-coroutines-reactor.api │ │ ├── build.gradle.kts │ │ ├── package.list │ │ ├── resources/ │ │ │ └── META-INF/ │ │ │ └── services/ │ │ │ └── kotlinx.coroutines.reactive.ContextInjector │ │ ├── src/ │ │ │ ├── Convert.kt │ │ │ ├── Flux.kt │ │ │ ├── Migration.kt │ │ │ ├── Mono.kt │ │ │ ├── ReactorContext.kt │ │ │ ├── ReactorContextInjector.kt │ │ │ ├── ReactorFlow.kt │ │ │ ├── Scheduler.kt │ │ │ └── module-info.java │ │ └── test/ │ │ ├── BackpressureTest.kt │ │ ├── Check.kt │ │ ├── ConvertTest.kt │ │ ├── FlowAsFluxTest.kt │ │ ├── FluxCompletionStressTest.kt │ │ ├── FluxContextTest.kt │ │ ├── FluxMultiTest.kt │ │ ├── FluxSingleTest.kt │ │ ├── FluxTest.kt │ │ ├── MonoAwaitStressTest.kt │ │ ├── MonoTest.kt │ │ ├── ReactorContextTest.kt │ │ └── SchedulerTest.kt │ ├── kotlinx-coroutines-rx2/ │ │ ├── README.md │ │ ├── api/ │ │ │ └── kotlinx-coroutines-rx2.api │ │ ├── build.gradle.kts │ │ ├── package.list │ │ ├── src/ │ │ │ ├── RxAwait.kt │ │ │ ├── RxCancellable.kt │ │ │ ├── RxChannel.kt │ │ │ ├── RxCompletable.kt │ │ │ ├── RxConvert.kt │ │ │ ├── RxFlowable.kt │ │ │ ├── RxMaybe.kt │ │ │ ├── RxObservable.kt │ │ │ ├── RxScheduler.kt │ │ │ ├── RxSingle.kt │ │ │ └── module-info.java │ │ └── test/ │ │ ├── BackpressureTest.kt │ │ ├── Check.kt │ │ ├── CompletableTest.kt │ │ ├── ConvertTest.kt │ │ ├── FlowAsFlowableTest.kt │ │ ├── FlowAsObservableTest.kt │ │ ├── FlowableContextTest.kt │ │ ├── FlowableExceptionHandlingTest.kt │ │ ├── FlowableTest.kt │ │ ├── IntegrationTest.kt │ │ ├── IterableFlowAsFlowableTckTest.kt │ │ ├── LeakedExceptionTest.kt │ │ ├── MaybeTest.kt │ │ ├── ObservableAsFlowTest.kt │ │ ├── ObservableCollectTest.kt │ │ ├── ObservableCompletionStressTest.kt │ │ ├── ObservableExceptionHandlingTest.kt │ │ ├── ObservableMultiTest.kt │ │ ├── ObservableSingleTest.kt │ │ ├── ObservableSourceAsFlowStressTest.kt │ │ ├── ObservableSubscriptionSelectTest.kt │ │ ├── ObservableTest.kt │ │ ├── SchedulerStressTest.kt │ │ ├── SchedulerTest.kt │ │ └── SingleTest.kt │ └── kotlinx-coroutines-rx3/ │ ├── README.md │ ├── api/ │ │ └── kotlinx-coroutines-rx3.api │ ├── build.gradle.kts │ ├── package.list │ ├── src/ │ │ ├── RxAwait.kt │ │ ├── RxCancellable.kt │ │ ├── RxChannel.kt │ │ ├── RxCompletable.kt │ │ ├── RxConvert.kt │ │ ├── RxFlowable.kt │ │ ├── RxMaybe.kt │ │ ├── RxObservable.kt │ │ ├── RxScheduler.kt │ │ ├── RxSingle.kt │ │ └── module-info.java │ └── test/ │ ├── BackpressureTest.kt │ ├── Check.kt │ ├── CompletableTest.kt │ ├── ConvertTest.kt │ ├── FlowAsFlowableTest.kt │ ├── FlowAsObservableTest.kt │ ├── FlowableContextTest.kt │ ├── FlowableExceptionHandlingTest.kt │ ├── FlowableTest.kt │ ├── IntegrationTest.kt │ ├── IterableFlowAsFlowableTckTest.kt │ ├── LeakedExceptionTest.kt │ ├── MaybeTest.kt │ ├── ObservableAsFlowTest.kt │ ├── ObservableCollectTest.kt │ ├── ObservableCompletionStressTest.kt │ ├── ObservableExceptionHandlingTest.kt │ ├── ObservableMultiTest.kt │ ├── ObservableSingleTest.kt │ ├── ObservableSourceAsFlowStressTest.kt │ ├── ObservableSubscriptionSelectTest.kt │ ├── ObservableTest.kt │ ├── SchedulerStressTest.kt │ ├── SchedulerTest.kt │ └── SingleTest.kt ├── settings.gradle.kts ├── site/ │ └── stdlib.package.list ├── test-utils/ │ ├── build.gradle.kts │ ├── common/ │ │ └── src/ │ │ ├── LaunchFlow.kt │ │ ├── MainDispatcherTestBase.kt │ │ └── TestBase.common.kt │ ├── js/ │ │ └── src/ │ │ └── TestBase.kt │ ├── jvm/ │ │ └── src/ │ │ ├── Exceptions.kt │ │ ├── ExecutorRule.kt │ │ ├── FieldWalker.kt │ │ ├── TestBase.kt │ │ └── Threads.kt │ ├── native/ │ │ └── src/ │ │ └── TestBase.kt │ ├── wasmJs/ │ │ └── src/ │ │ └── TestBase.kt │ └── wasmWasi/ │ └── src/ │ └── TestBase.kt └── ui/ ├── README.md ├── coroutines-guide-ui.md ├── knit.code.include ├── knit.properties ├── kotlinx-coroutines-android/ │ ├── README.md │ ├── android-unit-tests/ │ │ ├── build.gradle.kts │ │ ├── resources/ │ │ │ └── META-INF/ │ │ │ └── services/ │ │ │ └── kotlinx.coroutines.CoroutineScope │ │ ├── src/ │ │ │ └── EmptyCoroutineScopeImpl.kt │ │ └── test/ │ │ └── ordered/ │ │ └── tests/ │ │ ├── CustomizedRobolectricTest.kt │ │ ├── FirstMockedMainTest.kt │ │ ├── FirstRobolectricTest.kt │ │ ├── MockedMainTest.kt │ │ ├── RobolectricTest.kt │ │ └── TestComponent.kt │ ├── api/ │ │ └── kotlinx-coroutines-android.api │ ├── build.gradle.kts │ ├── package.list │ ├── resources/ │ │ └── META-INF/ │ │ ├── com.android.tools/ │ │ │ ├── proguard/ │ │ │ │ └── coroutines.pro │ │ │ ├── r8-from-1.6.0/ │ │ │ │ └── coroutines.pro │ │ │ └── r8-upto-3.0.0/ │ │ │ └── coroutines.pro │ │ ├── proguard/ │ │ │ └── coroutines.pro │ │ └── services/ │ │ ├── kotlinx.coroutines.CoroutineExceptionHandler │ │ └── kotlinx.coroutines.internal.MainDispatcherFactory │ ├── src/ │ │ ├── AndroidExceptionPreHandler.kt │ │ ├── HandlerDispatcher.kt │ │ └── module-info.java │ ├── test/ │ │ ├── AndroidExceptionPreHandlerTest.kt │ │ ├── DisabledHandlerTest.kt │ │ ├── HandlerDispatcherAsyncTest.kt │ │ ├── HandlerDispatcherTest.kt │ │ └── R8ServiceLoaderOptimizationTest.kt │ └── testdata/ │ ├── r8-test-common.pro │ ├── r8-test-rules-no-optim.pro │ └── r8-test-rules.pro ├── kotlinx-coroutines-javafx/ │ ├── README.md │ ├── api/ │ │ └── kotlinx-coroutines-javafx.api │ ├── build.gradle.kts │ ├── resources/ │ │ └── META-INF/ │ │ └── services/ │ │ └── kotlinx.coroutines.internal.MainDispatcherFactory │ ├── src/ │ │ ├── JavaFxConvert.kt │ │ ├── JavaFxDispatcher.kt │ │ └── module-info.java │ └── test/ │ ├── JavaFxDispatcherTest.kt │ ├── JavaFxObservableAsFlowTest.kt │ ├── JavaFxStressTest.kt │ ├── examples/ │ │ ├── FxAsFlow.kt │ │ └── FxExampleApp.kt │ └── guide/ │ ├── example-ui-actor-01.kt │ ├── example-ui-actor-02.kt │ ├── example-ui-actor-03.kt │ ├── example-ui-advanced-01.kt │ ├── example-ui-advanced-02.kt │ ├── example-ui-basic-01.kt │ ├── example-ui-basic-02.kt │ ├── example-ui-basic-03.kt │ ├── example-ui-blocking-01.kt │ ├── example-ui-blocking-02.kt │ └── example-ui-blocking-03.kt └── kotlinx-coroutines-swing/ ├── README.md ├── api/ │ └── kotlinx-coroutines-swing.api ├── build.gradle.kts ├── resources/ │ └── META-INF/ │ └── services/ │ └── kotlinx.coroutines.internal.MainDispatcherFactory ├── src/ │ ├── SwingDispatcher.kt │ └── module-info.java └── test/ ├── SwingTest.kt └── examples/ └── SwingExampleApp.kt