Mark KAnnotatedElement.hasAnnotation as experimental

#KT-29041 Fixed
This commit is contained in:
Alexander Udalov
2019-03-07 13:49:57 +01:00
parent a342f844b8
commit d8b364ea40
5 changed files with 25 additions and 18 deletions
@@ -1,20 +1,10 @@
/*
* Copyright 2010-2016 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* Copyright 2010-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
* that can be found in the license/LICENSE.txt file.
*/
@file:JvmName("KAnnotatedElements")
package kotlin.reflect.full
import kotlin.reflect.*
@@ -24,12 +14,13 @@ import kotlin.reflect.*
*/
@SinceKotlin("1.1")
inline fun <reified T : Annotation> KAnnotatedElement.findAnnotation(): T? =
@Suppress("UNCHECKED_CAST")
annotations.firstOrNull { it is T } as T?
@Suppress("UNCHECKED_CAST")
annotations.firstOrNull { it is T } as T?
/**
* Returns true if this element is annotated with [T], false otherwise
* Returns true if this element is annotated with an annotation of type [T].
*/
@SinceKotlin("1.4")
@ExperimentalStdlibApi
@SinceKotlin("1.3")
inline fun <reified T : Annotation> KAnnotatedElement.hasAnnotation(): Boolean =
findAnnotation<T>() != null
findAnnotation<T>() != null