Spec-Zone.ru › Kotlin 2

Объявления уровня пакета

kotlin-reflect/kotlin.reflect.jvm

Расширения для преобразования между типами рефлексии Kotlin и рефлексии Java, а также другие расширения, специфичные для JVM.

Типы

ExperimentalReflectionOnLambdas

Начиная с Kotlin: 1.5

@RequiresOptIn(level = RequiresOptIn.Level.WARNING)
@Target(allowedTargets = [AnnotationTarget.CLASS, AnnotationTarget.ANNOTATION_CLASS, AnnotationTarget.PROPERTY, AnnotationTarget.FIELD, AnnotationTarget.LOCAL_VARIABLE, AnnotationTarget.VALUE_PARAMETER, AnnotationTarget.CONSTRUCTOR, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER, AnnotationTarget.TYPEALIAS])
annotation class ExperimentalReflectionOnLambdas

Эта аннотация помечает экспериментальный API kotlin-reflect, позволяющий сопоставить экземпляр лямбда-выражения или функционального выражения Kotlin с экземпляром KFunction. Поведение этого API может измениться или API может быть полностью удалён в одном из следующих выпусков.

Свойства

isAccessible

Начиная с Kotlin: 1.0

var KCallable<*>.isAccessible: Boolean

Позволяет отключить проверки доступа JVM для вызываемого объекта.

javaConstructor

Начиная с Kotlin: 1.0

val <T> KFunction<T>.javaConstructor: Constructor<T>?

Возвращает экземпляр Java Constructor, соответствующий данной функции Kotlin, или null, если эта функция не является конструктором или не может быть представлена в виде Java Constructor.

javaField

Начиная с Kotlin: 1.0

val KProperty<*>.javaField: Field?

Возвращает экземпляр Java Field, соответствующий полю хранения данного свойства, или null, если у свойства нет поля хранения.

javaGetter

Начиная с Kotlin: 1.0

val KProperty<*>.javaGetter: Method?

Возвращает экземпляр Java Method, соответствующий геттеру данного свойства, или null, если у свойства нет геттера, например в случае простого приватного val в классе.

javaMethod

Начиная с Kotlin: 1.0

val KFunction<*>.javaMethod: Method?

Возвращает экземпляр Java Method, соответствующий данной функции Kotlin, или null, если эта функция является конструктором или не может быть представлена в виде Java Method.

javaSetter

Начиная с Kotlin: 1.0

val KMutableProperty<*>.javaSetter: Method?

Возвращает экземпляр Java Method, соответствующий сеттеру данного изменяемого свойства, или null, если у свойства нет сеттера, например в случае простого приватного var в классе.

javaType

Начиная с Kotlin: 1.0

val KType.javaType: Type

Возвращает экземпляр Java Type, соответствующий данному типу Kotlin. Обратите внимание, что одному типу Kotlin могут соответствовать разные типы JVM в зависимости от контекста. Например, Unit соответствует классу JVM Unit, если он является типом параметра, или void, если он является типом возвращаемого значения функции.

jvmErasure

Начиная с Kotlin: 1.1

val KType.jvmErasure: KClass<*>

Возвращает экземпляр KClass, представляющий класс времени выполнения, к которому этот тип сводится на JVM.

jvmName

Начиная с Kotlin: 1.0

val KClass<*>.jvmName: String

Возвращает имя JVM класса, представленного этим экземпляром KClass.

kotlinFunction

Начиная с Kotlin: 1.0

val <T : Any> Constructor<T>.kotlinFunction: KFunction<T>?

Возвращает экземпляр KFunction, соответствующий данному экземпляру Java Constructor, или null, если этот конструктор не может быть представлен функцией Kotlin (например, если это синтетический конструктор).

val Method.kotlinFunction: KFunction<*>?

Возвращает экземпляр KFunction, соответствующий данному экземпляру Java Method, или null, если этот метод не может быть представлен функцией Kotlin.

kotlinProperty

Начиная с Kotlin: 1.0

val Field.kotlinProperty: KProperty<*>?

Возвращает экземпляр KProperty, соответствующий данному экземпляру Java Field, или null, если это поле не может быть представлено свойством Kotlin (например, если это синтетическое поле).

Функции

reflect

Начиная с Kotlin: 1.0

@ExperimentalReflectionOnLambdas
fun <R> Function<R>.reflect(): KFunction<R>?

Это экспериментальный API. Для класса скомпилированной лямбды Kotlin или функционального выражения возвращает экземпляр KFunction, предоставляющий возможности интроспекции для этой лямбды или функционального выражения и его параметров. В настоящее время поддерживаются не все возможности; в частности, вызовы KCallable.call и KCallable.callBy завершатся ошибкой.

© 2010–2026 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/core/kotlin-reflect/kotlin.reflect.jvm/index.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API