JVM_IR: Calculate correct arity of callable reference to suspend
function
This commit is contained in:
+17
-18
@@ -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"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user