Объявления уровня пакета
Расширения для преобразования между типами рефлексии Kotlin и рефлексии Java, а также другие расширения, специфичные для JVM.
Типы
Начиная с Kotlin: 1.5
annotation class ExperimentalReflectionOnLambdas@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 ] )
Эта аннотация помечает экспериментальный API kotlin-reflect, позволяющий сопоставить экземпляр лямбда-выражения или функционального выражения Kotlin с экземпляром KFunction. Поведение этого API может измениться или API может быть полностью удалён в одном из следующих выпусков.
Свойства
Начиная с Kotlin: 1.0
var KCallable<*>.isAccessible: Boolean
Позволяет отключить проверки доступа JVM для вызываемого объекта.
Начиная с Kotlin: 1.0
val <T> KFunction<T>.javaConstructor: Constructor<T>?
Возвращает экземпляр Java Constructor, соответствующий данной функции Kotlin, или null, если эта функция не является конструктором или не может быть представлена в виде Java Constructor.
Начиная с Kotlin: 1.0
val KProperty<*>.javaGetter: Method?
Возвращает экземпляр Java Method, соответствующий геттеру данного свойства, или null, если у свойства нет геттера, например в случае простого приватного val в классе.
Начиная с Kotlin: 1.0
val KFunction<*>.javaMethod: Method?
Начиная с Kotlin: 1.0
val KMutableProperty<*>.javaSetter: Method?
Возвращает экземпляр Java Method, соответствующий сеттеру данного изменяемого свойства, или null, если у свойства нет сеттера, например в случае простого приватного var в классе.
Начиная с Kotlin: 1.0
val KType.javaType: Type
Возвращает экземпляр Java Type, соответствующий данному типу Kotlin. Обратите внимание, что одному типу Kotlin могут соответствовать разные типы JVM в зависимости от контекста. Например, Unit соответствует классу JVM Unit, если он является типом параметра, или void, если он является типом возвращаемого значения функции.
Начиная с Kotlin: 1.1
val KType.jvmErasure: KClass<*>
Возвращает экземпляр KClass, представляющий класс времени выполнения, к которому этот тип сводится на JVM.
Начиная с Kotlin: 1.0
val <T : Any> Constructor<T>.kotlinFunction: KFunction<T>?
Возвращает экземпляр KFunction, соответствующий данному экземпляру Java Constructor, или null, если этот конструктор не может быть представлен функцией Kotlin (например, если это синтетический конструктор).
val Method.kotlinFunction: KFunction<*>?
Начиная с Kotlin: 1.0
val Field.kotlinProperty: KProperty<*>?
Функции
Начиная с Kotlin: 1.0
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