Пакет 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
Представляет параметр, переданный функции или свойству-геттеру/сеттеру, включая 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–2022 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