val receiver = prop.parameters[0]
val receiverClass = receiver.type.jvmErasure.java
Обратите внимание, что вы получаете KType
и KClass
в пути, который вы можете предпочесть Class
.
. Выше работает, потому что parameters
документация говорит
Если для этого вызываемого объекта требуется данный экземпляр или параметр получателя расширения, они идут первыми в списке в таком порядке.
, поэтому, возможно, стоит оставить комментарий вВаш код.
Параметр получателя также можно получить более явно с помощью
val receiver = (prop.instanceParameter ?: prop.extensionReceiverParameter)!!