LeoColman
03/04/2019, 6:36 PMClass.forName("myClass").declaredMethods.map { it.kotlinFunction!! }.filter { fn -> fn.parameters.any { it is KFunction<*> } }
but it didn't workudalov
it is KFunction<*> you need to check the parameter's type: it.type.classifier == Function::classLeoColman
03/05/2019, 3:47 PMLeoColman
03/05/2019, 3:47 PMfun main(args: Array<String>) {
    val funcs = Foo::class.declaredFunctions.filter { func ->
        func.parameters.any { param ->
            param.type.isSubtypeOf(Function::class.starProjectedType)
        }
    }
    println(funcs)
}
class Foo {
    fun <A> foo(fn: (A) -> Unit) {}
    fun <A, B> foo2(fn: (A, B) -> Unit) {}
    fun <A, B, C> foo3(fn: (A, B, C) -> Unit) {}
    fun notThisOne() { }
}LeoColman
03/05/2019, 3:47 PM