Articles of reflection

Cómo get una list de todas las classs en un file .kt

¿Es posible get una list de classs dentro de un file .kt? Parece que KDeclarationContainer es la class que estoy buscando, pero no estoy seguro de cómo usarla. EDITAR: Estoy usando Kotlin Reflection.

Kotlin: ¿"eso" asignable?

Estoy tratando de simplificar el código Parcelable en Kotlin: public class C() : Parcelable { var b1: Boolean = false var b2: Boolean = false var b3: Boolean = false var i1: Int = 0 var i2: Int = 0 val parcelBooleans = listOf(b1, b2, b3) val parcelInts = listOf(i1, i2) override fun writeToParcel(p: Parcel, […]

Manera simple de averiguar si una class es anónima / object y get el nombre de class concreto de la instancia en Kotlin

Al implementar toString , etc. a veces imprimo / logging el nombre de la class concreta. ¿Hay alguna forma fácil / proporcionada de get esto incluso para las classs anónimas? Parece que hay less methods en la biblioteca de reflections de Kotlin que en Java. Actualmente, lo estoy haciendo de esta manera: instance::class.qualifiedName?: instance::class::superclasses.get()[0].qualifiedName) que […]

Reflexión de Kotlin: creación de objects desde CSV

Tengo una class de datos llamada Miembro: data class Member(){ val first_name: String val last_name: String //30 more //a few simple methods } Estoy tratando de importar un file CSV. Cada línea del file contiene los campos que quiero usar para crear instancias de mis Miembros. fun ReadCsvFileKotlin() { val csvFile = "C:\\Data.csv" var memberList […]

Cómo crear instancia de class genérica pasando una reference de método en constructor con kotlin

Ahora que estoy usando kotlin como mi principal lenguaje de progtwigción, bash simplificar la lógica de implementación de Recyclerview de Android y estoy atascado en el siguiente punto: Digamos que he definido la siguiente class ViewHolder, donde un evento de position de clic se propaga a través de una reference de método en el constructor. […]

¿Cuál es una forma adecuada de crear una instancia de class a partir de KType?

Tengo dos classs que pueden verse así class MyClass { var myProperty: AnotherClass? } class AnotherClass { } A través de la reflexión, repito las properties de MyClass y cuando encuentro un KMutableProperty<*> que es nulo, quiero crear una instancia de esa class. En este momento estoy haciendo algo como esto val instance = MyClass() […]

Extraña java.lang.ClassCastException al usar la llamada

Estoy usando la biblioteca LibDGX para mi juego. Y me enfrenté a la exception común ClassCastException , pero ocurre en casos extraños. Estoy usando la class de Animación de la biblioteca LibGDX. Estoy recibiendo un error en esta línea solo si estoy usando la operación [] . val tex = animation.keyFrames[0] Si lo cambio a […]

Reglas de ProGuard para la reflexión de Kotlin

Aquí hay una class muy simple: class MainActivity : AppCompatActivity() { val prop: String = "test" override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) Log.d("MainActivity", ::prop.name) } } Si ejecuto esta aplicación con ProGuard usando las siguientes reglas: -dontwarn kotlin.** -dontwarn org.w3c.dom.events.* -dontwarn org.jetbrains.kotlin.di.InjectorForRuntimeDescriptorLoader Obtengo esta exception: adg: Property 'prop' not resolved in class com.cypressworks.kotlinreflectionproguard.MainActivity ¿Qué reglas […]

Kotlin. ¿Cómo verificar si el campo es anulable a través de la reflexión?

Estoy desarrollando un generador de código que toma los datos de las classs durante el time de ejecución. Este generador está diseñado para funcionar solo con Kotlin. Por el momento, tuve que enfrentar el problema, ya que no sé cómo verificar si el campo es nulo. ¿Entonces la pregunta principal es cómo implementar esta verificación […]

reflexión kotlin get list de campos

¿Hay foo.getClass().getFields() equivalente para la reflexión de java foo.getClass().getFields() en Kotlin? Solo pude encontrar que puedo acceder a un campo cuando sé su nombre, pero me gustaría manejar los campos de una manera genérica.