Spec-Zone.ru › Kotlin 1.8

Пакет 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.8)

JvmSerializableLambda

Заставляет аннотированную лямбда-функцию реализовывать java.io.Serializable, генерирует реализацию toString и добавляет метаданные рефлексии.

annotation class JvmSerializableLambda
Требования к платформе и версии: 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>> Enum<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–2023 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