Spec-Zone.ru › Kotlin 1.8

PublishedApi

kotlin-stdlib / kotlin / PublishedApi
Требования к платформе и версии: JVM (1.1), JS (1.1), Native (1.1)
@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:

  • это позволяет вызывать это объявление из общедоступных встроенных функций;
  • объявление становится фактически общедоступным, и это следует учитывать при сохранении двоичной совместимости.

Конструкторы

Требования к платформе и версии: JVM (1.0), JS (1.0), Native (1.0)

<init>

При применении к классу или члену с внутренней видимостью позволяет использовать его из общедоступных встроенных функций и делает его фактически общедоступным.

<init>()

Расширяемые свойства

Требования к платформе и версии: JVM (1.0)

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API