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