Опубликованный Api
Начиная с Kotlin: 1.1
annotation class PublishedApi@Target(allowedTargets = [AnnotationTarget.CLASS,AnnotationTarget.CONSTRUCTOR, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY ] )
При применении к классу или члену с внутренней видимостью позволяет использовать его из общедоступных inline-функций и фактически делает его общедоступным.
Общедоступные inline-функции не могут использовать непубличный API, поскольку при их встраивании такие ссылки на непубличный API нарушали бы ограничения доступа в месте вызова (см. ограничения для общедоступных inline-функций API).
Чтобы обойти это ограничение, объявление internal можно аннотировать аннотацией @PublishedApi:
это позволяет вызывать такое объявление из общедоступных inline-функций;
объявление фактически становится общедоступным, и это следует учитывать при обеспечении бинарной совместимости.
© 2010–2026 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-published-api/index.html