Cómo encontrar todas las classs en un package usando la reflexión en kotlin

¿Es posible encontrar todas kotlin classs de kotlin en un package dado?

También necesito solo classs anotadas, pero no es gran cosa. Alguna sugerencia ?

Kotlin en la JVM sufre el mismo problema que Java a este respecto debido a la implementación de los cargadores de class.

No es necesario que los cargadores de classs le digan a la VM qué classs puede proporcionar, sino que simplemente se les entregan las requestes de classs y tienen que devolver una class o lanzar una exception.

Fuente y más información: Can you find all classes in a package using reflection?

Para resumir el hilo enlazado, hay una serie de soluciones que le permiten inspeccionar su ruta de class actual.

  • La biblioteca Reflections es bastante sencilla y tiene muchas funciones adicionales, como get todos los subtypes de una class, get annotations de todos los types / miembros con alguna anotación, opcionalmente con la coincidencia de parameters de anotación , etc.
  • Guava tiene ClassPath , que devuelve los POJO de ClassInfo , no lo suficiente para su caso de uso, pero es útil saber que Guava está disponible en casi todas partes.
  • Escribe el tuyo consultando los resources de los cargadores de classs y las fonts de los códigos. No sugeriría esta ruta a less que no pueda agregar dependencies de biblioteca.
  • Android Studio y Kotlin: sin cargar cambios
  • ¿Cómo orderar LinkedHashMap por valores en Kotlin?
  • Error de compilation después de actualizar a Android Studio 3.0 con Kotlin
  • DataBinding no se puede usar en BaseActivity donde codigo en Kotlin
  • formatting @Query parameter - Retrofit 2
  • Generar class de datos con KotlinPoet
  • ¿Es una buena práctica usar la function de ejecución en lugar de devolver en Kotlin?
  • Kotlin "fuera" y "en" y generics - uso correcto
  • Kotlin en Android: asigna un cursor a una list
  • Archivo encontrado en IntelliJ pero no en jar integrado
  • Fan-out / fan-in - canal de resultado de cierre