Improve @PublishedApi annotation docs #KT-19881
This commit is contained in:
@@ -130,7 +130,15 @@ public annotation class DslMarker
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Specifies that this part of internal API is effectively public exposed by using in public inline function
|
* 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.
|
||||||
*/
|
*/
|
||||||
@Target(AnnotationTarget.CLASS, AnnotationTarget.CONSTRUCTOR, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY)
|
@Target(AnnotationTarget.CLASS, AnnotationTarget.CONSTRUCTOR, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY)
|
||||||
@Retention(AnnotationRetention.BINARY)
|
@Retention(AnnotationRetention.BINARY)
|
||||||
|
|||||||
Reference in New Issue
Block a user