JVM_IR: correctly name $$forInline versions of @JvmName suspend funs

Using a hack similar to $default stubs.
This commit is contained in:
pyos
2020-02-06 10:26:42 +01:00
committed by Ilmir Usmanov
parent 08074bb60e
commit 2bf50cc91a
7 changed files with 75 additions and 1 deletions
+36
View File
@@ -0,0 +1,36 @@
// FILE: test.kt
// COMMON_COROUTINES_TEST
// WITH_RUNTIME
// WITH_COROUTINES
// NO_CHECK_LAMBDA_INLINING
// TARGET_BACKEND: JVM
import COROUTINES_PACKAGE.*
import helpers.*
class Result<T>(val x: T)
@JvmName("foo") // + foo$$forInline
suspend inline fun test(c: Result<Int>) = c.x
@JvmName("bar") // + bar$$forInline
suspend inline fun test(c: Result<String>) = c.x
// FILE: box.kt
// COMMON_COROUTINES_TEST
import COROUTINES_PACKAGE.*
import COROUTINES_PACKAGE.intrinsics.*
import helpers.*
fun builder(c: suspend () -> Unit) {
c.startCoroutine(EmptyContinuation)
}
fun box() : String {
var res = "FAIL"
builder {
res = test(Result("OK"))
}
return res
}