Files
kotlin-fork/compiler/testData/compileKotlinAgainstCustomBinaries/suspensionPointInMonitor/source.kt
T
2018-10-12 14:21:42 +03:00

47 lines
724 B
Kotlin
Vendored

fun builder(c: suspend () -> Unit) {}
private val lock = Any()
suspend fun suspensionPoint() {}
fun test() {
builder {
inlineMe {
suspensionPoint()
}
}
builder {
monitorInFinally(
{},
{ suspensionPoint() }
)
}
builder {
withCrossinline {}
withCrossinline {
suspensionPoint()
}
}
synchronized(lock) {
builder {
suspensionPoint()
}
}
synchronized(lock) {
object : SuspendRunnable {
override suspend fun run() {
suspensionPoint()
}
}
}
}
interface SuspendRunnable {
suspend fun run()
}