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