JVM_IR: Calculate correct arity of callable reference to suspend

function
This commit is contained in:
Ilmir Usmanov
2019-10-10 18:40:08 +03:00
parent b0a0399dd0
commit 6f47699796
2 changed files with 18 additions and 19 deletions
@@ -1,5 +1,4 @@
// TARGET_BACKEND: JVM
// IGNORE_BACKEND: JVM_IR
// IGNORE_LIGHT_ANALYSIS
// WITH_RUNTIME
// WITH_COROUTINES
@@ -18,26 +17,26 @@ fun test(f: Function<*>, arity: Int) {
}
suspend fun foo(s: String, i: Int) {}
class A {
suspend fun bar(s: String, i: Int) {}
}
suspend fun Double.baz(s: String, i: Int) {}
//class A {
// suspend fun bar(s: String, i: Int) {}
//}
//
//suspend fun Double.baz(s: String, i: Int) {}
fun box(): String {
test(::foo, 2 + 1)
test(A::bar, 3 + 1)
test(Double::baz, 3 + 1)
test(::box, 0)
suspend fun local(x: Int) {}
test(::local, 1 + 1)
// TODO: Uncomment when `suspend fun` will be supported
// test(suspend fun(s: String) = s, 1)
// test(suspend fun(){}, 0)
test(suspend {}, 1)
// test(A::bar, 3 + 1)
// test(Double::baz, 3 + 1)
//
// test(::box, 0)
//
// suspend fun local(x: Int) {}
// test(::local, 1 + 1)
//
// // TODO: Uncomment when `suspend fun` will be supported
// // test(suspend fun(s: String) = s, 1)
// // test(suspend fun(){}, 0)
// test(suspend {}, 1)
return "OK"
}