Пакет kotlin.reflect
API времени выполнения для отражения Kotlin
Типы
KAnnotatedElement
Представляет аннотированный элемент и позволяет получить его аннотации. Дополнительную информацию см. в документации по языку Kotlin.
interface KAnnotatedElement
KCallable
Представляет вызываемый сущность, например, функцию или свойство.
interface KCallable<out R>
interface KCallable<out R> : KAnnotatedElement
KClass
Представляет класс и предоставляет возможности интроспекции. Экземпляры этого класса можно получить с помощью синтаксиса ::class. Дополнительную информацию см. в документации по языку Kotlin.
interface KClass<T : Any> : KClassifier
interface KClass<T : Any> : KDeclarationContainer, KAnnotatedElement, KClassifier
KClassifier
Классификатор — это либо класс, либо параметр типа.
interface KClassifier
KDeclarationContainer
Представляет сущность, которая может содержать объявления других сущностей, таких как класс или пакет.
interface KDeclarationContainer
KFunction
Представляет функцию с возможностями интроспекции.
interface KFunction<out R> : KCallable<R>, Function<R>
KMutableProperty
Представляет свойство, объявленное как var.
interface KMutableProperty<V> : KProperty<V>
KMutableProperty0
Представляет var-свойство без какого-либо получателя.
interface KMutableProperty0<V> : KProperty0<V>, KMutableProperty<V>
KMutableProperty1
Представляет var-свойство, операции с которым принимают один получатель в качестве параметра.
interface KMutableProperty1<T, V> : KProperty1<T, V>, KMutableProperty<V>
KMutableProperty2
Представляет var-свойство, операции с которым принимают два получателя в качестве параметров.
interface KMutableProperty2<D, E, V> : KProperty2<D, E, V>, KMutableProperty<V>
KParameter
Представляет параметр, передаваемый в функцию или getter/setter свойства, включая this и параметры получателя расширения.
interface KParameter : KAnnotatedElement
KProperty
Представляет свойство, например, объявленное val или var. Экземпляры этого класса можно получить с помощью оператора ::.
interface KProperty<out V> : KCallable<V>
KProperty0
Представляет свойство без какого-либо получателя. Такое свойство либо изначально объявлено в контексте без получателя, таком как пакет, либо имеет привязанный к нему получатель.
interface KProperty0<out V> : KProperty<V>, () -> V
KProperty1
Представляет свойство, операции с которым принимают один получатель в качестве параметра.
interface KProperty1<T, out V> : KProperty<V>, (T) -> V
KProperty2
Представляет свойство, операции с которым принимают два получателя в качестве параметров, например, расширяющее свойство, объявленное в классе.
interface KProperty2<D, E, out V> : KProperty<V>, (D, E) -> V
KType
Представляет тип. Тип обычно является либо классом с необязательными аргументами типа, либо параметром типа какого-либо объявления, плюс возможность нулевого значения.
interface KType
interface KType : KAnnotatedElement
KTypeParameter
Представляет объявление параметра типа класса или вызываемого элемента. Дополнительную информацию см. в документации по языку Kotlin.
interface KTypeParameter : KClassifier
KTypeProjection
Представляет проекцию типа. Проекция типа обычно является аргументом другого типа в использовании типа. Например, в типе Array<out Number>, out Number является коварианой проекцией типа, представленного классом Number.
data class KTypeProjection
KVariance
Представляет вариативность, применённую к параметру типа на месте объявления (вариативность места объявления) или к типу в проекции (вариативность места использования).
enum class KVariance
KVisibility
Видимость — это аспект объявления Kotlin, регулирующий, где это объявление доступно в исходном коде. Видимость может быть изменена с помощью одного из следующих модификаторов: public, protected, internal, private.
enum class KVisibility
Аннотации
AssociatedObjectKey
Делает аннотированный класс аннотаций ключом связанного объекта.
annotation class AssociatedObjectKey
ExperimentalAssociatedObjects
Экспериментальная метка для API связанных объектов.
annotation class ExperimentalAssociatedObjects
Свойства
Функции
cast
findAssociatedObject
Если T — аннотированный аннотацией @AssociatedObjectKey класс, а класс -this- аннотирован с помощью @T (S::class), возвращает объект S.
fun <T : Annotation> KClass<*>.findAssociatedObject(): Any?
safeCast
© 2010–2020 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/index.html