¿Cómo puedo get una reference a Kotlin KClass por nombre cuando no se ejecuta en la JVM?

Cuando la orientación es Javascript y la java.lang.Class.forName() nativa java.lang.Class.forName() no está disponible. ¿Cómo puedo get una KClass en estos entornos?

Como decía en la documentation de Kotlin :

En este momento, JavaScript no es compatible con la API completa de Kotlin reflection. La única parte soportada de la API es la syntax de la ::class que le permite referirse a la class de una instancia, o la class correspondiente al tipo dado. El valor de una expresión ::class es una implementación KClass que solo admite los miembros simpleName y isInstance .

Aquí está el ejemplo:

 val a = A() print(a::class.simpleName) // Obtains class for an instance; prints "A" print(A::class.simpleName) // Obtains class for a type; prints "B" 

No lo SomeClass::class versiones nativas ni de JavaScript (sí funciona en JVM) pero puedes hacer SomeClass::class . Documentos de Kotlin

  • ¿Cómo get un KType en Kotlin?
  • ¿Cómo puedo establecer una propiedad de un object complementario en Kotlin a través de la reflexión?
  • Reflexión de Kotlin: compruebe si la propiedad tiene tipo
  • Manera idiomática de invocar methods a través de la reflexión en Kotlin
  • por qué SomeClass :: class es KClass <SomeClass> pero esta :: class es KClass <out SomeClass>
  • String.intern () devuelve diferentes valores en un controller JDBC
  • La delegación de propiedad kotlin alias lanza Exception
  • Kotlin: ¿Cómo puedo usar la reflexión en los packages?
  • El operador de Kotlin Reflection obtiene la implementación
  • ¿Cómo obtengo una KProperty1 de una KProperty0?
  • Reflexión de KFlin KFunction - get valores de parameters