Как получить объявленные функции класса Kotlin (KClass в M12)?

В основном это. Мне интересно, как получить функции / методы с помощью KClass … похоже, что я могу только перебирать свойства и свойства расширения.

Обновление . Теперь вы можете получить функции класса с расширениями, объявленными в пакете kotlin.reflect : functions , declaredFunctions , memberFunctions , staticFunctions и т. Д.

В настоящее время анализ Котлина – это работа. Мы планируем отправить API для интроспективных функций в следующую веху, предположительно в конце этого лета.

Между тем единственным обходным решением является использование отражения Java для этой задачи.

Отражение Kotlin более полно представлено в более поздних этапах, включая 1.0 бета.

Просмотрите обзорную документацию для Kotlin Reflection и, в частности, KClass .

Например, с учетом класса вы можете видеть функции-члены, используя:

 val functions = Someclass::class.declaredMemberFunctions 

или свойства:

 val properties = Someclass::class.declaredMemberProperties 

И перейти от класса Java к KClass:

 val kclz = this.javaClass.kotlin 

См. Также: Документы API пакета Kotlin.reflect