mirror of
https://github.com/jlengrand/kotlin.git
synced 2026-05-10 15:53:46 +00:00
40 lines
1.3 KiB
Kotlin
Vendored
40 lines
1.3 KiB
Kotlin
Vendored
interface I
|
|
|
|
abstract class AbstractTest {
|
|
abstract fun normal(): suspend (String) -> Unit
|
|
|
|
abstract fun extension(): suspend Double.() -> Double
|
|
|
|
abstract fun bigArity(): suspend (I, I, I, I, I, I, I, I, I, I, I, I, I, I, I, I, I, I, I, I, I, I, I, I, I, I, I, I, I, I) -> Unit
|
|
}
|
|
|
|
class Test : AbstractTest() {
|
|
override fun normal() = ::suspendNormal
|
|
|
|
override fun extension() = Double::suspendExtension
|
|
|
|
override fun bigArity() = this::suspendBigArity
|
|
|
|
private suspend fun suspendNormal(s: String) {}
|
|
|
|
private suspend fun suspendBigArity(
|
|
p01: I, p02: I, p03: I, p04: I, p05: I, p06: I, p07: I, p08: I, p09: I, p10: I,
|
|
p11: I, p12: I, p13: I, p14: I, p15: I, p16: I, p17: I, p18: I, p19: I, p20: I,
|
|
p21: I, p22: I, p23: I, p24: I, p25: I, p26: I, p27: I, p28: I, p29: I, p30: I
|
|
) {}
|
|
}
|
|
|
|
private suspend fun Double.suspendExtension(): Double = this
|
|
|
|
// method: Test::normal
|
|
// jvm signature: ()Lkotlin/reflect/KFunction;
|
|
// generic signature: ()Lkotlin/reflect/KFunction<Lkotlin/Unit;>;
|
|
|
|
// method: Test::extension
|
|
// jvm signature: ()Lkotlin/reflect/KFunction;
|
|
// generic signature: ()Lkotlin/reflect/KFunction<Ljava/lang/Double;>;
|
|
|
|
// method: Test::bigArity
|
|
// jvm signature: ()Lkotlin/reflect/KFunction;
|
|
// generic signature: ()Lkotlin/reflect/KFunction<Lkotlin/Unit;>;
|