Устаревшее
@Target([AnnotationTarget.CLASS, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY, AnnotationTarget.ANNOTATION_CLASS, AnnotationTarget.CONSTRUCTOR, AnnotationTarget.PROPERTY_SETTER, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.TYPEALIAS]) annotation class Deprecated
Помечает аннотированное объявление как устаревшее.
Элемент устаревшего API не рекомендуется использовать, как правило, потому что он выводится из обращения или существует лучшая альтернатива.
Чтобы помочь в постепенном удалении устаревшего API, можно использовать свойство уровень. Обычно постепенный вывод из обращения проходит через этапы «предупреждение», затем «ошибка», а затем «скрытый» или «удаленный»:
- Сначала, и по умолчанию, используется DeprecationLevel.WARNING, чтобы уведомить потребителей API, но не нарушить их компиляцию или использование в среде выполнения.
- Затем, через некоторое время, уровень устаревания повышается до DeprecationLevel.ERROR, чтобы новый код Kotlin не мог компилироваться с использованием устаревшего API.
- Наконец, API либо полностью удаляется, либо скрывается (DeprecationLevel.HIDDEN) из кода, поэтому его использование выглядит как неразрешенные ссылки, в то время как API остается в скомпилированном коде, сохраняя двоичную совместимость с ранее скомпилированным кодом.
Конструкторы
<init>
Помечает аннотированное объявление как устаревшее.
<init>(
message: String,
replaceWith: ReplaceWith = ReplaceWith(""),
level: DeprecationLevel = DeprecationLevel.WARNING) Свойства
уровень
Указывает, как обращения к устаревшему элементу отображаются в коде. См. перечисление DeprecationLevel для возможных значений.
val level: DeprecationLevel
сообщение
Сообщение, объясняющее устаревание и рекомендующее альтернативный API для использования.
val message: String
заменить на
Если присутствует, указывает фрагмент кода, который следует использовать в качестве замены использования устаревшего API.
val replaceWith: ReplaceWith
Расширяемые свойства
annotationClass
Возвращает экземпляр KClass, соответствующий типу аннотации этой аннотации.
val <T : Annotation> T.annotationClass: KClass<out T>
© 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/-deprecated/