Spec-Zone.ru › Kotlin 1.8

Аннотация

kotlin-stdlib / kotlin / Аннотация
Требования к платформе и версии: JVM (1.0), JS (1.1), Native (1.3)
interface Annotation

Базовый интерфейс, неявно реализованный всеми интерфейсами аннотаций. Подробнее об аннотациях см. в документации языка Kotlin.

Расширяемые свойства

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

annotationClass

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

val <T : Annotation> T.annotationClass: KClass<out T>

Наследники

Требования к платформе и версии: JS (1.1), Native (1.1)

AssociatedObjectKey

Делает аннотированный класс аннотации ключом связанного объекта.

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

BuilderInference

Позволяет выводить общие типы аргументов функции из вызовов в параметре аннотированной функции этой функции.

annotation class BuilderInference
Требования к платформе и версии: Native (1.3)

CCall

annotation class CCall
Требования к платформе и версии: Native (1.3)

CEnumEntryAlias

Обозначает свойство, являющееся псевдонимом для некоторой записи перечисления.

annotation class CEnumEntryAlias
Требования к платформе и версии: Native (1.3)

CEnumVarTypeSize

Хранит размер экземпляра типа T: CEnumVar.

annotation class CEnumVarTypeSize
Требования к платформе и версии: Native (1.3)

CName

Делает функцию верхнего уровня доступной из кода C/C++ с данным именем.

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

ContextFunctionTypeParams

annotation class ContextFunctionTypeParams
Требования к платформе и версии: Native (1.3)

CStruct

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

Deprecated

Помечает аннотируемое объявление как устаревшее.

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

DeprecatedSinceKotlin

Помечает аннотируемое объявление как устаревшее. В отличие от Deprecated, степень сообщаемой диагностики не является постоянной величиной, а зависит от версии API использования (значение аргумента -api-version при компиляции модуля, в котором расположено использование). Если версия API больше или равна hiddenSince, объявление не будет доступно из кода (как если бы оно было устаревшим с уровнем DeprecationLevel.HIDDEN), иначе, если версия API больше или равна errorSince, использование будет помечено как ошибка (как с DeprecationLevel.ERROR), иначе, если версия API больше или равна warningSince, использование будет помечено как предупреждение (как с DeprecationLevel.WARNING), в противном случае аннотация игнорируется.

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

DslMarker

При применении к классу аннотаций X указывает, что X определяет язык DSL.

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

EagerInitialization

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

annotation class EagerInitialization
Требования к платформе и версии: Native (1.3)

EagerInitialization

Принудительно инициализирует свойство верхнего уровня немедленно, в отличие от отложенной инициализации при первом доступе к файлу и/или свойству. Эта аннотация может быть использована в качестве временной помощи при миграции во время перехода от предыдущей схемы инициализации Kotlin/Native «немедленная по умолчанию» к новой «отложенная по умолчанию».

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

ExperimentalAssociatedObjects

Экспериментальный маркер для API связанных объектов.

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

ExperimentalContracts

Этот маркер отличает экспериментальный API декларации контрактов и используется для включения этой функции при декларации контрактов пользовательских функций.

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

ExperimentalJsExport

Помечает экспериментальные аннотации экспорта JS.

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

ExperimentalMultiplatform

Экспериментальный маркер API поддержки многоплатформенности.

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

ExperimentalObjCName

Эта аннотация отмечает экспериментальную аннотацию ObjCName.

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

ExperimentalObjCRefinement

Эта аннотация отмечает экспериментальные аннотации уточнения экспорта Objective-C.

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

ExperimentalPathApi

Эта аннотация помечает расширения и функции верхнего уровня для работы с java.nio.file.Path, которые считаются экспериментальными.

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

ExperimentalReflectionOnLambdas

Эта аннотация помечает экспериментальный API kotlin-reflect, который позволяет аппроксимировать экземпляр лямбда-выражения Kotlin или функционального выражения к экземпляру KFunction. Поведение этого API может быть изменено, или API может быть полностью удалено в любом последующем релизе.

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

ExperimentalStdlibApi

Эта аннотация помечает API стандартной библиотеки, который считается экспериментальным и не подлежит общей гарантии совместимости, данной для стандартной библиотеки: поведение такого API может быть изменено, или API может быть полностью удалено в любом последующем релизе.

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

ExperimentalSubclassOptIn

Эта аннотация помечает экспериментальный предварительный просмотр функциональной возможности языка SubclassOptInRequired.

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

ExperimentalTime

Эта аннотация помечает экспериментальный предварительный просмотр API стандартной библиотеки для измерения времени и работы с длительностями.

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

ExperimentalTypeInference

Экспериментальный маркер для аннотаций, расширяющих вывод типов.

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

ExperimentalUnsignedTypes

Помечает API, который зависит от экспериментальных беззнаковых типов, включая сами эти типы.

annotation class ExperimentalUnsignedTypes
Требования к платформе и версии: Native (1.3)

ExportObjCClass

Делает подкласс Kotlin класса Objective-C видимым для поиска во время выполнения после того, как вызовется функция Kotlin main.

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

ExtensionFunctionType

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

annotation class ExtensionFunctionType
Требования к платформе и версии: Native (1.3)

ExternalObjCClass

annotation class ExternalObjCClass
Требования к платформе и версии:

FreezingIsDeprecated

API Freezing устарел, начиная с версии 1.7.20.

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

HiddenFromObjC

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

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

HidesFromObjC

Мета-аннотация, которая инструктирует компилятор Kotlin удалить аннотированную функцию или свойство из публичного API Objective-C.

annotation class HidesFromObjC
Требования к платформе и версии: Native (1.3)

InteropStubs

annotation class InteropStubs
Требования к платформе и версии: Native (1.7)

IntrinsicConstEvaluation

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

annotation class IntrinsicConstEvaluation
Требования к платформе и версии: JS (1.3)

JsExport

Экспортирует объявление верхнего уровня на платформе JS.

annotation class JsExport
Требования к платформе и версии: JS (1.1)

JsModule

Обозначает external объявление, которое должно быть импортировано из нативной JavaScript библиотеки.

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

JsName

Присваивает объявлению (функции, свойству или классу) определённое имя в JavaScript.

annotation class JsName
Требования к платформе и версии: JS (1.1)

JsNonModule

Обозначает external объявление, которое может использоваться без системы модулей.

annotation class JsNonModule
Требования к платформе и версии: JS (1.1)

JsQualifier

Добавляет префикс к external объявлениям в исходном файле.

annotation class JsQualifier
Требования к платформе и версии: 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.3)

Metadata

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

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

MustBeDocumented

Эта мета-аннотация определяет, что аннотация является частью публичного API и поэтому должна быть включена в сгенерированную документацию для элемента, к которому применяется аннотация.

annotation class MustBeDocumented
Требования к платформе и версии: JS (1.1)

nativeGetter

annotation class nativeGetter
Требования к платформе и версии: JS (1.1)

nativeInvoke

annotation class nativeInvoke
Требования к платформе и версии: JS (1.1)

nativeSetter

annotation class nativeSetter
Требования к платформе и версии: Native (1.3)

ObjCAction

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

annotation class ObjCAction
Требования к платформе и версии: Native (1.3)

ObjCConstructor

annotation class ObjCConstructor
Требования к платформе и версии: Native (1.3)

ObjCFactory

annotation class ObjCFactory
Требования к платформе и версии: Native (1.3)

ObjCMethod

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

ObjCName

Инструктирует компилятор Kotlin использовать пользовательское имя Objective-C и/или Swift для этого класса, свойства, параметра или функции.

annotation class ObjCName
Требования к платформе и версии: Native (1.3)

ObjCOutlet

Делает свойство Kotlin в классе Objective-C доступным для изменения через диспетчеризацию Objective-C для использования в качестве выхода IB.

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

OptIn

Позволяет использовать API, обозначенный заданными маркерами, в аннотированном файле, объявлении или выражении. Если объявление аннотировано с помощью OptIn, его использование не требует явного разрешения на использование этого API.

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

OptionalExpectation

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

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

OverloadResolutionByLambdaReturnType

Включает выбор перегрузки на основе типа значения, возвращаемого из лямбда-аргумента.

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

ParameterName

Аннотирует типы аргументов функционального типа и содержит соответствующее имя параметра, указанное пользователем в объявлении типа (если таковое имеется).

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

PublishedApi

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

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

PurelyImplements

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

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

RefinesInSwift

Мета-аннотация, которая инструктирует компилятор Kotlin пометить аннотированную функцию или свойство как swift_private в сгенерированном API Objective-C.

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

Repeatable

Эта мета-аннотация определяет, что аннотация применима дважды или более к одному элементу кода.

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

ReplaceWith

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

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

RequiresOptIn

Сигнализирует о том, что аннотированный класс аннотации является маркером API, который требует явного разрешения на использование.

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

RestrictsSuspension

Классы и интерфейсы, помеченные этой аннотацией, ограничены при использовании в качестве получателей для расширений suspend функций. Эти suspend расширения могут вызывать только другие функции-члены или расширения suspend для этого конкретного получателя и ограничены вызовом произвольных функций приостановки.

annotation class RestrictsSuspension
Требования к платформе и версии: Native (1.3)

Retain

Сохраняет точку входа функции во время глобальной оптимизации.

annotation class Retain
Требования к платформе и версии: Native (1.3)

RetainForTarget

Сохраняет точку входа функции во время глобальной оптимизации только для указанной цели.

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

Retention

Эта мета-аннотация определяет, сохраняется ли аннотация в двоичном выводе и видна ли для рефлексии. По умолчанию оба значения истинны.

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

SharedImmutable

Примечание: эта аннотация работает только в Kotlin/Native с устаревшим менеджером памяти.

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

ShouldRefineInSwift

Инструктирует компилятор Kotlin пометить эту функцию или свойство как swift_private в сгенерированном API Objective-C.

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

SinceKotlin

Указывает первую версию Kotlin, в которой появилось объявление. Использование объявления и указание более старой версии API (с помощью параметра командной строки -api-version) приведет к ошибке.

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

Strictfp

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

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

SubclassOptInRequired

Аннотация, которая помечает классы и интерфейсы, открытые для наследования, и делает реализацию и расширение таких деклараций требующими явного opt-in.

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

Suppress

Подавляет заданные предупреждения компиляции в аннотированном элементе.

annotation class Suppress
Требования к платформе и версии: Native (1.3)

SymbolName

Это опасная устаревшая и внутренняя аннотация. Пожалуйста, избегайте её использования.

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

Synchronized

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

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

Target

Эта мета-аннотация указывает типы элементов кода, которые могут быть целевыми для аннотации.

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

ThreadLocal

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

annotation class ThreadLocal

Throws

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

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

Throws

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

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

Transient

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

annotation class Transient
Требования к платформе и версии: Native (1.3)

UnsafeNumber

Маркер для деклараций, зависящих от числовых типов разной разрядности как минимум на двух платформах.

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

UnsafeVariance

Подавляет ошибки о конфликте вариативности

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

Volatile

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

annotation class Volatile

© 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/-annotation.html

Spec-Zone.ru

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