Spec-Zone.ru › Kotlin 1.4

Пакет kotlin.jvm

kotlin-stdlib / kotlin.jvm

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

Аннотации

Platform and version requirements: JVM (1.2)

JvmDefault

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

annotation class JvmDefault
Platform and version requirements: JVM (1.4)

JvmDefaultWithoutCompatibility

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

annotation class JvmDefaultWithoutCompatibility
Platform and version requirements: JVM (1.0)

JvmField

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

annotation class JvmField
Platform and version requirements: JVM (1.0)

JvmMultifileClass

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

annotation class JvmMultifileClass
Platform and version requirements: JVM (1.0)

JvmName

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

annotation class JvmName
Platform and version requirements: JVM (1.0)

JvmOverloads

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

annotation class JvmOverloads
Platform and version requirements: JVM (1.0)

JvmStatic

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

annotation class JvmStatic
Platform and version requirements: JVM (1.0)

JvmSuppressWildcards

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

annotation class JvmSuppressWildcards
Platform and version requirements: JVM (1.0)

JvmSynthetic

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

annotation class JvmSynthetic
Platform and version requirements: JVM (1.0)

JvmWildcard

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

annotation class JvmWildcard
Platform and version requirements: JVM (1.0)

PurelyImplements

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

annotation class PurelyImplements
Platform and version requirements: JVM (1.0)

Strictfp

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

annotation class Strictfp
Platform and version requirements: JVM (1.0), JS (1.0)

Synchronized

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

annotation class Synchronized
Platform and version requirements: JVM (1.0)

Throws

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

annotation class Throws
Platform and version requirements: JVM (1.0)

Transient

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

annotation class Transient
Platform and version requirements: JVM (1.0), JS (1.0)

Volatile

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

annotation class Volatile

Исключения

Platform and version requirements: JVM (1.0)

KotlinReflectionNotSupportedError

open class KotlinReflectionNotSupportedError : Error

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

Platform and version requirements: JVM (1.0)

java.lang.Class

Свойства

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

annotationClass

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

val <T : Annotation> T.annotationClass: KClass<out T>
Требования к платформе и версии: 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–2020 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