添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
@Target ( [AnnotationTarget.CLASS, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY, AnnotationTarget.ANNOTATION_CLASS, AnnotationTarget.CONSTRUCTOR, AnnotationTarget.PROPERTY_SETTER, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.TYPEALIAS] ) annotation class Deprecated
(Common source) (Native source)

Marks the annotated declaration as deprecated.

A deprecated API element is not recommended to use, typically because it's being phased out or a better alternative exists.

To help removing deprecated API gradually, the property level could be used. Usually a gradual phase-out goes through the "warning", then "error", then "hidden" or "removed" stages:

  • First and by default, DeprecationLevel.WARNING is used to notify API consumers, but not to break their compilation or runtime usages.
  • Then, some time later the deprecation level is raised to DeprecationLevel.ERROR , so that no new Kotlin code can be compiled using the deprecated API.
  • Finally, the API is either removed entirely, or hidden ( DeprecationLevel.HIDDEN ) from code, so its usages look like unresolved references, while the API remains in the compiled code preserving binary compatibility with previously compiled code.
  • Constructors

    Common
    Native

    Marks the annotated declaration as deprecated.

    <init> (
    message : String ,
    replaceWith : ReplaceWith = ReplaceWith("") ,
    level : DeprecationLevel = DeprecationLevel.WARNING )

    Properties

    Common
    Native

    level

    Specifies how the deprecated element usages are reported in code. See the DeprecationLevel enum for the possible values.

    val level : DeprecationLevel
    Common
    Native

    message

    The message explaining the deprecation and recommending an alternative API to use.

    val message : String
    Common
    Native

    replaceWith

    If present, specifies a code fragment which should be used as a replacement for the deprecated API usage.

    val replaceWith : ReplaceWith

    Extension Properties

    annotationClass

    Returns a KClass instance corresponding to the annotation type of this annotation.

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