Spec-Zone.ru › Kotlin 1.7

Пакет kotlin.jvm

kotlin-stdlib / kotlin.jvm

Функции и аннотации, специфичные для платформы Java.

Типы

Требования к платформе и версии: JVM (1.6), JRE8 (1.6)

JvmRepeatable

Делает класс аннотаций повторяемой в Java и Kotlin. Повторяемая аннотация может быть применена более одного раза к одному элементу.

typealias JvmRepeatable = Repeatable

Аннотации

Требования к платформе и версии: JVM (1.2)

JvmDefault

Указывает, что для неабстрактного члена интерфейса Kotlin должен быть сгенерирован метод по умолчанию JVM.

annotation class JvmDefault
Требования к платформе и версии: JVM (1.6)

JvmDefaultWithCompatibility

Принуждает компилятор генерировать аксессоры совместимости для аннотированного интерфейса в классе DefaultImpls. Обратите внимание, что если интерфейс аннотирован этой аннотацией для бинарной совместимости, публичные производные Kotlin-интерфейсы также должны быть аннотированы ей, потому что их методы DefaultImpls будут использоваться для доступа к реализациям из класса DefaultImpls исходного интерфейса.

annotation class JvmDefaultWithCompatibility
Требования к платформе и версии: JVM (1.4)

JvmDefaultWithoutCompatibility

Препятствует компилятору генерировать аксессоры совместимости для аннотированного класса или интерфейса и подавляет связанные предупреждения о совместимости. Другими словами, эта аннотация заставляет компилятор генерировать аннотированный класс или интерфейс в режиме -Xjvm-default=all, где генерируются только методы по умолчанию JVM без DefaultImpls.

annotation class JvmDefaultWithoutCompatibility
Требования к платформе и версии: JVM (1.0)

JvmField

Указывает Kotlin-компилятору не генерировать геттеры/сеттеры для этого свойства и экспонировать его как поле.

annotation class JvmField
Требования к платформе и версии: JVM (1.5)

JvmInline

Указывает, что данный класс значений является встроенным классом.

annotation class JvmInline
Требования к платформе и версии: JVM (1.0)

JvmMultifileClass

Указывает Kotlin-компилятору генерировать многофайловый класс с функциями и свойствами верхнего уровня, объявленными в этом файле, как одной из его частей. Имя соответствующего многофайлового класса предоставляется аннотацией JvmName.

annotation class JvmMultifileClass
Требования к платформе и версии: JVM (1.0)

JvmName

Указывает имя для класса или метода Java, сгенерированного из этого элемента.

annotation class JvmName
Требования к платформе и версии: JVM (1.0)

JvmOverloads

Указывает Kotlin-компилятору генерировать перегрузки для этой функции, которые подставляют значения параметров по умолчанию.

annotation class JvmOverloads
Требования к платформе и версии: JVM (1.5)

JvmRecord

Указывает компилятору отметить класс как запись и сгенерировать соответствующие методы toString/equals/hashCode.

annotation class JvmRecord
Требования к платформе и версии: JVM (1.0)

JvmStatic

Указывает, что дополнительный статический метод должен быть сгенерирован из этого элемента, если это функция. Если этот элемент является свойством, должны быть сгенерированы дополнительные статические геттеры/сеттеры.

annotation class JvmStatic
Требования к платформе и версии: JVM (1.0)

JvmSuppressWildcards

Указывает компилятору сгенерировать или опустить дикие карты для аргументов типа, соответствующих параметрам с вариативностью на месте объявления, например, такой как Collection<out T>.

annotation class JvmSuppressWildcards
Требования к платформе и версии: JVM (1.0)

JvmSynthetic

Устанавливает флаг ACC_SYNTHETIC на аннотированную цель в байткоде Java.

annotation class JvmSynthetic
Требования к платформе и версии: JVM (1.0)

JvmWildcard

Указывает компилятору сгенерировать дикую карту для аргументов типа, соответствующих параметрам с вариативностью на месте объявления.

annotation class JvmWildcard
Требования к платформе и версии: JVM (1.0)

PurelyImplements

Указывает Kotlin-компилятору рассматривать аннотированный Java-класс как чистую реализацию данного Kotlin-интерфейса. "Чистый" в данном случае означает, что каждый параметр типа класса становится неплатформенным аргументом типа этого интерфейса.

annotation class PurelyImplements
Требования к платформе и версии: JVM (1.0)

Strictfp

Помечает сгенерированный JVM-метод из аннотированной функции как strictfp, что означает, что точность операций с плавающей запятой, выполняемых внутри метода, должна быть ограничена для достижения лучшей переносимости.

annotation class Strictfp
Требования к платформе и версии: JVM (1.0), JS (1.0)

Synchronized

Помечает сгенерированный JVM-метод из аннотированной функции как synchronized, что означает, что метод будет защищен от одновременного выполнения несколькими потоками монитором экземпляра (или, для статических методов, класса), в котором определен метод.

annotation class Synchronized
Требования к платформе и версии: JVM (1.0)

Throws

Эта аннотация указывает, какие исключения должны быть объявлены функцией при компиляции в JVM-метод.

annotation class Throws
Требования к платформе и версии: JVM (1.0)

Transient

Помечает JVM-поле, соответствующее аннотированному свойству, как transient, что означает, что оно не входит в стандартную сериализованную форму объекта.

annotation class Transient
Требования к платформе и версии: JVM (1.0), JS (1.0)

Volatile

Помечает JVM-поле, соответствующее аннотированному свойству, как volatile, что означает, что записи в это поле немедленно становятся видимыми для других потоков.

annotation class Volatile

Исключения

Требования к платформе и версии: JVM (1.0)

KotlinReflectionNotSupportedError

open class KotlinReflectionNotSupportedError : Error

Расширения для внешних классов

Требования к платформе и версии: JVM (1.0)

java.lang.Class

Свойства

Требования к платформе и версии: JVM (1.0)

annotationClass

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

val <T : Annotation> T.annotationClass: KClass<out T>
Требования к платформе и версии: JVM (1.7)

declaringJavaClass

Возвращает экземпляр Java Class перечисления, к которому принадлежит данный констант.

val <E : Enum<E>> E.declaringJavaClass: Class<E>
Требования к платформе и версии: JVM (1.0)

java

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

val <T> KClass<T>.java: Class<T>
Требования к платформе и версии: JVM (1.0)

javaClass

Возвращает Java-класс этого объекта во время выполнения.

val <T : Any> T.javaClass: Class<T>
val <T : Any> KClass<T>.javaClass: Class<KClass<T>>
Требования к платформе и версии: JVM (1.0)

javaObjectType

Возвращает экземпляр Java Class, соответствующий данному экземпляру KClass. В случае примитивных типов возвращает соответствующие классы-обертки.

val <T : Any> KClass<T>.javaObjectType: Class<T>
Требования к платформе и версии: JVM (1.0)

javaPrimitiveType

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

val <T : Any> KClass<T>.javaPrimitiveType: Class<T>?

Функции

Требования к платформе и версии: JVM (1.0)

isArrayOf

Проверяет, может ли массив содержать элемент типа T.

fun <T : Any> Array<*>.isArrayOf(): Boolean

© 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

Spec-Zone.ru

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