JVM_IR: add a test for suspend inline fun with defaults in a class

This is one example of a function replaced by a lowering after
AddContinuationLowering mentioned in the last commit: the lowering that
makes default stubs static is further down. Although this is not a
lambda, calling getOrCreateSuspendFunctionViewIfNeeded on it in the
inliner is fatal all the same.
This commit is contained in:
pyos
2020-03-06 16:25:39 +01:00
committed by Ilmir Usmanov
parent 862cd5665b
commit dc388f3f3a
7 changed files with 50 additions and 0 deletions
@@ -0,0 +1,20 @@
// FILE: test.kt
// WITH_RUNTIME
// WITH_COROUTINES
// NO_CHECK_LAMBDA_INLINING
class C {
suspend inline fun test(default: C = this, lambda: suspend () -> String) = lambda()
}
// FILE: box.kt
import kotlin.coroutines.*
import helpers.*
var res = "fail"
fun box() : String {
suspend {
res = C().test { "OK" }
}.startCoroutine(EmptyContinuation)
return res
}