PublishedApi
@Target([AnnotationTarget.CLASS, AnnotationTarget.CONSTRUCTOR, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY]) annotation class PublishedApi
При применении к классу или члену с внутренней видимостью позволяет использовать его из публичных inline-функций и делает его фактически публичным.
Публичные inline-функции не могут использовать непубличный API, так как при их инлайнинге эти ссылки на непубличный API нарушают ограничения доступа в месте вызова (https://kotlinlang.org/docs/reference/inline-functions.html#public-inline-restrictions).
Чтобы преодолеть это ограничение, объявление internal может быть аннотировано аннотацией @PublishedApi.
- это позволяет вызывать это объявление из публичных inline-функций;
- объявление становится фактически публичным, и это следует учитывать с точки зрения сохранения двоичной совместимости.
Конструкторы
<init>
При применении к классу или члену с внутренней видимостью позволяет использовать его из публичных inline-функций и делает его фактически публичным.
<init>()
Расширяемые свойства
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/-published-api/index.html