Пакет kotlin.jvm
Функции и аннотации, специфичные для платформы Java.
Типы
JvmRepeatable
Делает класс аннотаций повторяемой в Java и Kotlin. Повторяемая аннотация может быть применена более одного раза к одному элементу.
typealias JvmRepeatable = Repeatable
Аннотации
JvmDefault
Указывает, что для неабстрактного члена интерфейса Kotlin должен быть сгенерирован метод по умолчанию JVM.
annotation class JvmDefault
JvmDefaultWithCompatibility
Принуждает компилятор генерировать аксессоры совместимости для аннотированного интерфейса в классе DefaultImpls. Обратите внимание, что если интерфейс аннотирован этой аннотацией для бинарной совместимости, публичные производные Kotlin-интерфейсы также должны быть аннотированы ей, потому что их методы DefaultImpls будут использоваться для доступа к реализациям из класса DefaultImpls исходного интерфейса.
annotation class JvmDefaultWithCompatibility
JvmDefaultWithoutCompatibility
Препятствует компилятору генерировать аксессоры совместимости для аннотированного класса или интерфейса и подавляет связанные предупреждения о совместимости. Другими словами, эта аннотация заставляет компилятор генерировать аннотированный класс или интерфейс в режиме -Xjvm-default=all, где генерируются только методы по умолчанию JVM без DefaultImpls.
annotation class JvmDefaultWithoutCompatibility
JvmField
Указывает Kotlin-компилятору не генерировать геттеры/сеттеры для этого свойства и экспонировать его как поле.
annotation class JvmField
JvmInline
Указывает, что данный класс значений является встроенным классом.
annotation class JvmInline
JvmMultifileClass
Указывает Kotlin-компилятору генерировать многофайловый класс с функциями и свойствами верхнего уровня, объявленными в этом файле, как одной из его частей. Имя соответствующего многофайлового класса предоставляется аннотацией JvmName.
annotation class JvmMultifileClass
JvmName
Указывает имя для класса или метода Java, сгенерированного из этого элемента.
annotation class JvmName
JvmOverloads
Указывает Kotlin-компилятору генерировать перегрузки для этой функции, которые подставляют значения параметров по умолчанию.
annotation class JvmOverloads
JvmRecord
Указывает компилятору отметить класс как запись и сгенерировать соответствующие методы toString/equals/hashCode.
annotation class JvmRecord
JvmStatic
Указывает, что дополнительный статический метод должен быть сгенерирован из этого элемента, если это функция. Если этот элемент является свойством, должны быть сгенерированы дополнительные статические геттеры/сеттеры.
annotation class JvmStatic
JvmSuppressWildcards
Указывает компилятору сгенерировать или опустить дикие карты для аргументов типа, соответствующих параметрам с вариативностью на месте объявления, например, такой как Collection<out T>.
annotation class JvmSuppressWildcards
JvmSynthetic
Устанавливает флаг ACC_SYNTHETIC на аннотированную цель в байткоде Java.
annotation class JvmSynthetic
JvmWildcard
Указывает компилятору сгенерировать дикую карту для аргументов типа, соответствующих параметрам с вариативностью на месте объявления.
annotation class JvmWildcard
PurelyImplements
Указывает Kotlin-компилятору рассматривать аннотированный Java-класс как чистую реализацию данного Kotlin-интерфейса. "Чистый" в данном случае означает, что каждый параметр типа класса становится неплатформенным аргументом типа этого интерфейса.
annotation class PurelyImplements
Strictfp
Помечает сгенерированный JVM-метод из аннотированной функции как strictfp, что означает, что точность операций с плавающей запятой, выполняемых внутри метода, должна быть ограничена для достижения лучшей переносимости.
annotation class Strictfp
Synchronized
Помечает сгенерированный JVM-метод из аннотированной функции как synchronized, что означает, что метод будет защищен от одновременного выполнения несколькими потоками монитором экземпляра (или, для статических методов, класса), в котором определен метод.
annotation class Synchronized
Throws
Эта аннотация указывает, какие исключения должны быть объявлены функцией при компиляции в JVM-метод.
annotation class Throws
Transient
Помечает JVM-поле, соответствующее аннотированному свойству, как transient, что означает, что оно не входит в стандартную сериализованную форму объекта.
annotation class Transient
Volatile
Помечает JVM-поле, соответствующее аннотированному свойству, как volatile, что означает, что записи в это поле немедленно становятся видимыми для других потоков.
annotation class Volatile
Исключения
KotlinReflectionNotSupportedError
open class KotlinReflectionNotSupportedError : Error
Расширения для внешних классов
java.lang.Class
Свойства
annotationClass
Возвращает экземпляр KClass, соответствующий типу аннотации этой аннотации.
val <T : Annotation> T.annotationClass: KClass<out T>
declaringJavaClass
Возвращает экземпляр Java Class перечисления, к которому принадлежит данный констант.
val <E : Enum<E>> E.declaringJavaClass: Class<E>
java
javaClass
Возвращает Java-класс этого объекта во время выполнения.
val <T : Any> T.javaClass: Class<T>
val <T : Any> KClass<T>.javaClass: Class<KClass<T>>
javaObjectType
javaPrimitiveType
Функции
© 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.jvm/index.html