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>()
© 2010–2020 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