Package-level declarations
Types
Link copied to clipboard
data class ConstructorParamMetadata<T : Any>(val parameter: KParameter, val property: KProperty1<T, Any?>, val type: KType, val keyName: String)
Metadata for a single constructor parameter and its corresponding property in a data class.
Link copied to clipboard
data class DataObjectClassMetadata<T : Any>(val constructor: KFunction<T>, val constructorProperties: List<ConstructorParamMetadata<T>>)
Pre-computed reflection metadata for a data class.
Link copied to clipboard
object MissingToken
Token used to represent a missing value during instantiation, avoiding the need for allocating result wrappers like Result or Optional.
Link copied to clipboard
object ReflectionCache
A global cache for Kotlin reflection metadata of data classes.
Functions
Link copied to clipboard
fun <T : Any> instantiateDataObject(kClass: KClass<T>, metadata: DataObjectClassMetadata<T>, resolveValue: (ConstructorParamMetadata<T>) -> Any?): T
Instantiates a data class based on its metadata.