Cómo get un package de kotlin por reflexión

La biblioteca de reflexión Kotlin define KDeclarationContainer , que Represents an entity which may contain declarations of any other entities, such as a class or a package.

this::class devuelve KClass , que extiende KDeclarationContainer , pero ¿cómo obtengo el KDeclarationContainer primario (un KPackage ?)

No hay KPackage en kotlin ahora, pero puedes get un Package java, por ejemplo:

 val pkg:Package = this::class.java.`package` 

Si realmente desea get una instancia de KPackageImpl , puede getla de kotlin.jvm.internal.Reflection , pero no tiene sentido, porque el reflection de Kotlin aún está incompleto , por ejemplo:

 val pkg = Reflection.getOrCreateKotlinPackage(this::class.java, "") // ^--- there is no methods to get package information like as java.lang.Package, // since it is a `KDeclarationContainer` rather than a `KPackage` 
  • ¿Cuál es el propósito de que la reference de class enlazada devuelva un tipo covariante?
  • Kotlin comtesting si la function requiere parámetro de instancia
  • Kotlin reflect proguard SmallSortedMapa