blob: 19710f971b77768f5979e05fab0ea5030763b748 [file] [log] [blame]
Vsevolod Tolstopyatov4ddfc912018-07-12 18:36:02 +03001/*
Aurimas Liutikas7b140462021-05-12 21:56:16 +00002 * Copyright 2016-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license.
Vsevolod Tolstopyatov4ddfc912018-07-12 18:36:02 +03003 */
4
Roman Elizarov0950dfa2018-07-13 10:33:25 +03005package kotlinx.coroutines
Vsevolod Tolstopyatov4ddfc912018-07-12 18:36:02 +03006
7/**
8 * A runnable task for [CoroutineDispatcher.dispatch].
9 */
10public actual interface Runnable {
Vsevolod Tolstopyatov89d43af2018-12-18 16:26:58 +030011 /**
12 * @suppress
13 */
Vsevolod Tolstopyatov4ddfc912018-07-12 18:36:02 +030014 public actual fun run()
15}
16
Roman Elizarovd1129b22018-10-15 16:09:52 +030017/**
18 * Creates [Runnable] task instance.
19 */
Vsevolod Tolstopyatov4ddfc912018-07-12 18:36:02 +030020@Suppress("FunctionName")
21public actual inline fun Runnable(crossinline block: () -> Unit): Runnable =
22 object : Runnable {
23 override fun run() {
24 block()
25 }
26 }