blob: 60a6396a07d0c2e4be442e4fe20e670c8d1f243d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
/*
* Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license.
*/
package org.jetbrains.dokka.base.transformers.documentables
import org.jetbrains.dokka.model.Annotations
import org.jetbrains.dokka.model.Documentable
import org.jetbrains.dokka.model.ExceptionInSupertypes
import org.jetbrains.dokka.model.properties.WithExtraProperties
public val <T : Documentable> WithExtraProperties<T>.isException: Boolean
get() = extra[ExceptionInSupertypes] != null
public val <T : Documentable> WithExtraProperties<T>.deprecatedAnnotation: Annotations.Annotation?
get() = extra[Annotations]?.let { annotations ->
annotations.directAnnotations.values.flatten().firstOrNull {
it.isDeprecated()
}
}
/**
* @return true if [T] has [kotlin.Deprecated] or [java.lang.Deprecated]
* annotation for **any** source set
*/
public fun <T : Documentable> WithExtraProperties<T>.isDeprecated(): Boolean = deprecatedAnnotation != null
/**
* @return true for [kotlin.Deprecated] and [java.lang.Deprecated]
*/
public fun Annotations.Annotation.isDeprecated(): Boolean {
return (this.dri.packageName == "kotlin" && this.dri.classNames == "Deprecated") ||
(this.dri.packageName == "java.lang" && this.dri.classNames == "Deprecated")
}
|