W3cubDocs

/Kotlin

PublishedApi

@Target([AnnotationTarget.CLASS, AnnotationTarget.CONSTRUCTOR, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY]) annotation class PublishedApi

Platform and version requirements: Kotlin 1.1

When applied to a class or a member with internal visibility allows to use it from public inline functions and makes it effectively public.

Public inline functions cannot use non-public API, since if they are inlined, those non-public API references would violate access restrictions at a call site (http://kotlinlang.org/docs/reference/inline-functions.html#public-inline-restrictions).

To overcome this restriction an internal declaration can be annotated with the @PublishedApi annotation:

  • this allows to call that declaration from public inline functions;
  • the declaration becomes effectively public, and this should be considered with respect to binary compatibility maintaining.

Constructors

<init>

PublishedApi()

When applied to a class or a member with internal visibility allows to use it from public inline functions and makes it effectively public.

© 2010–2018 JetBrains s.r.o.
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-published-api/index.html