Package kotlin.reflect.full

Extensions for /docs/reference/reflection.html provided by kotlin-reflect library.

Types

IllegalCallableAccessException
Link copied to clipboard
class IllegalCallableAccessException(cause: IllegalAccessException) : Exception

An exception that is thrown when call is invoked on a callable or get or set is invoked on a property and that callable is not accessible (in JVM terms) from the calling method.

Since Kotlin

1.1
IllegalPropertyDelegateAccessException
Link copied to clipboard

An exception that is thrown when getDelegate is invoked on a KProperty object that was not made accessible with isAccessible.

Since Kotlin

1.1
NoSuchPropertyException
Link copied to clipboard
class NoSuchPropertyException(cause: Exception?) : Exception

An exception that is thrown when the code tries to introspect a property of a class or a package and that class or the package no longer has that property.

Since Kotlin

1.1

Functions

callSuspend
Link copied to clipboard
suspend fun <R> KCallable<R>.callSuspend(vararg args: Any?): R

Calls a callable in the current suspend context. If the callable is not a suspend function, behaves as KCallable.call. Otherwise, calls the suspend function with current continuation.

Since Kotlin

1.3
callSuspendBy
Link copied to clipboard
suspend fun <R> KCallable<R>.callSuspendBy(args: Map<KParameter, Any?>): R

Calls a callable in the current suspend context. If the callable is not a suspend function, behaves as KCallable.callBy. Otherwise, calls the suspend function with current continuation.

Since Kotlin

1.3
cast
Link copied to clipboard
fun <T : Any> KClass<T>.cast(value: Any?): T

Casts the given value to the class represented by this KClass object. Throws an exception if the value is null or if it is not an instance of this class.

Since Kotlin

1.1
createInstance
Link copied to clipboard
fun <T : Any> KClass<T>.createInstance(): T

Creates a new instance of the class, calling a constructor which either has no parameters or all parameters of which are optional (see KParameter.isOptional). If there are no or many such constructors, an exception is thrown.

Since Kotlin

1.1
createType
Link copied to clipboard
fun KClassifier.createType(arguments: List<KTypeProjection> = emptyList(), nullable: Boolean = false, annotations: List<Annotation> = emptyList()): KType

Creates a KType instance with the given classifier, type arguments, nullability and annotations. If the number of passed type arguments is not equal to the total number of type parameters of a classifier, an exception is thrown. If any of the arguments does not satisfy the bounds of the corresponding type parameter, an exception is thrown.

Since Kotlin

1.1
findAnnotation
Link copied to clipboard
inline fun <T : Annotation> KAnnotatedElement.findAnnotation(): T?

Returns an annotation of the given type on this element.

Since Kotlin

1.1
findParameterByName
Link copied to clipboard
fun KCallable<*>.findParameterByName(name: String): KParameter?

Returns the parameter of this callable with the given name, or null if there's no such parameter.

Since Kotlin

1.1
getExtensionDelegate
Link copied to clipboard
fun KProperty1<*, *>.getExtensionDelegate(): Any?

Returns the instance of a delegated extension property, or null if this property is not delegated. Throws an exception if this is not an extension property.

Since Kotlin

1.1
fun <D> KProperty2<D, *, *>.getExtensionDelegate(receiver: D): Any?

Returns the instance of a delegated member extension property, or null if this property is not delegated. Throws an exception if this is not an extension property.

Since Kotlin

1.1
hasAnnotation
Link copied to clipboard
inline fun <T : Annotation> KAnnotatedElement.hasAnnotation(): Boolean

Returns true if this element is annotated with an annotation of type T.

Since Kotlin

1.4
isSubclassOf
Link copied to clipboard
fun KClass<*>.isSubclassOf(base: KClass<*>): Boolean

Returns true if this class is the same or is a (possibly indirect) subclass of base, false otherwise.

Since Kotlin

1.1
isSubtypeOf
Link copied to clipboard
fun KType.isSubtypeOf(other: KType): Boolean

Returns true if this type is the same or is a subtype of other, false otherwise.

Since Kotlin

1.1
isSuperclassOf
Link copied to clipboard
fun KClass<*>.isSuperclassOf(derived: KClass<*>): Boolean

Returns true if this class is the same or is a (possibly indirect) superclass of derived, false otherwise.

Since Kotlin

1.1
isSupertypeOf
Link copied to clipboard
fun KType.isSupertypeOf(other: KType): Boolean

Returns true if this type is the same or is a supertype of other, false otherwise.

Since Kotlin

1.1
safeCast
Link copied to clipboard
fun <T : Any> KClass<T>.safeCast(value: Any?): T?

Casts the given value to the class represented by this KClass object. Returns null if the value is null or if it is not an instance of this class.

Since Kotlin

1.1
withNullability
Link copied to clipboard
fun KType.withNullability(nullable: Boolean): KType

Returns a new type with the same classifier, arguments and annotations as the given type, and with the given nullability.

Since Kotlin

1.1

Properties

allSuperclasses
Link copied to clipboard
val KClass<*>.allSuperclasses: Collection<KClass<*>>

All superclasses of this class, including indirect ones, in no particular order. Includes superclasses and superinterfaces of the class, but does not include the class itself. The returned collection does not contain more than one instance of any given class.

allSupertypes
Link copied to clipboard
val KClass<*>.allSupertypes: Collection<KType>

All supertypes of this class, including indirect ones, in no particular order. There is not more than one type in the returned collection that has any given classifier.

companionObject
Link copied to clipboard
val KClass<*>.companionObject: KClass<*>?

Returns a KClass instance representing the companion object of a given class, or null if the class doesn't have a companion object.

companionObjectInstance
Link copied to clipboard
val KClass<*>.companionObjectInstance: Any?

Returns an instance of the companion object of a given class, or null if the class doesn't have a companion object.

declaredFunctions
Link copied to clipboard
val KClass<*>.declaredFunctions: Collection<KFunction<*>>

Returns all functions declared in this class. If this is a Java class, it includes all non-static methods (both extensions and non-extensions) declared in the class and the superclasses, as well as static methods declared in the class.

declaredMemberExtensionFunctions
Link copied to clipboard
val KClass<*>.declaredMemberExtensionFunctions: Collection<KFunction<*>>

Returns extension functions declared in this class.

declaredMemberExtensionProperties
Link copied to clipboard
val <T : Any> KClass<T>.declaredMemberExtensionProperties: Collection<KProperty2<T, *, *>>

Returns extension properties declared in this class.

declaredMemberFunctions
Link copied to clipboard
val KClass<*>.declaredMemberFunctions: Collection<KFunction<*>>

Returns non-extension non-static functions declared in this class.

declaredMemberProperties
Link copied to clipboard
val <T : Any> KClass<T>.declaredMemberProperties: Collection<KProperty1<T, *>>

Returns non-extension properties declared in this class.

declaredMembers
Link copied to clipboard
val KClass<*>.declaredMembers: Collection<KCallable<*>>

Returns all functions and properties declared in this class. Does not include members declared in supertypes.

defaultType
Link copied to clipboard
val KClass<*>.defaultType: KType

Returns a type corresponding to the given class with type parameters of that class substituted as the corresponding arguments. For example, for class MyMap<K, V>defaultType would return the type MyMap<K, V>.

extensionReceiverParameter
Link copied to clipboard
val KCallable<*>.extensionReceiverParameter: KParameter?

Returns a parameter representing the extension receiver instance needed to call this callable, or null if this callable is not an extension.

functions
Link copied to clipboard
val KClass<*>.functions: Collection<KFunction<*>>

Returns all functions declared in this class, including all non-static methods declared in the class and the superclasses, as well as static methods declared in the class.

instanceParameter
Link copied to clipboard
val KCallable<*>.instanceParameter: KParameter?

Returns a parameter representing the this instance needed to call this callable, or null if this callable is not a member of a class and thus doesn't take such parameter.

memberExtensionFunctions
Link copied to clipboard
val KClass<*>.memberExtensionFunctions: Collection<KFunction<*>>

Returns extension functions declared in this class and all of its superclasses.

memberExtensionProperties
Link copied to clipboard
val <T : Any> KClass<T>.memberExtensionProperties: Collection<KProperty2<T, *, *>>

Returns extension properties declared in this class and all of its superclasses.

memberFunctions
Link copied to clipboard
val KClass<*>.memberFunctions: Collection<KFunction<*>>

Returns non-extension non-static functions declared in this class and all of its superclasses.

memberProperties
Link copied to clipboard
val <T : Any> KClass<T>.memberProperties: Collection<KProperty1<T, *>>

Returns non-extension properties declared in this class and all of its superclasses.

primaryConstructor
Link copied to clipboard
val <T : Any> KClass<T>.primaryConstructor: KFunction<T>?

Returns the primary constructor of this class, or null if this class has no primary constructor. See the Kotlin language documentation for more information.

starProjectedType
Link copied to clipboard
val KClassifier.starProjectedType: KType

Creates an instance of KType with the given classifier, substituting all its type parameters with star projections. The resulting type is not marked as nullable and does not have any annotations.

staticFunctions
Link copied to clipboard
val KClass<*>.staticFunctions: Collection<KFunction<*>>

Returns static functions declared in this class.

staticProperties
Link copied to clipboard
val KClass<*>.staticProperties: Collection<KProperty0<*>>

Returns static properties declared in this class. Only properties representing static fields of Java classes are considered static.

superclasses
Link copied to clipboard
val KClass<*>.superclasses: List<KClass<*>>

Immediate superclasses of this class, in the order they are listed in the source code. Includes superclasses and superinterfaces of the class, but does not include the class itself.

valueParameters
Link copied to clipboard
val KCallable<*>.valueParameters: List<KParameter>

Returns parameters of this callable, excluding the this instance and the extension receiver parameter.