JvmDefaultWithoutCompatibility
@Target([AnnotationTarget.CLASS]) annotation class JvmDefaultWithoutCompatibility
Препятствует компилятору от генерации аксессоров совместимости для аннотированного класса или интерфейса и подавляет любые связанные с этим предупреждения о совместимости. Другими словами, эта аннотация заставляет компилятор генерировать аннотированный класс или интерфейс в режиме -Xjvm-default=all, где генерируются только методы по умолчанию JVM, без DefaultImpls.
Аннотирование существующего класса этой аннотацией является изменением, несовместимым с двоичным кодом. Поэтому эта аннотация имеет больше смысла для новых классов в библиотеках, которые выбрали режим совместимости.
Используется только с -Xjvm-default=compatibility|all-compatibility.
Конструкторы
<init>
Препятствует компилятору от генерации аксессоров совместимости для аннотированного класса или интерфейса и подавляет любые связанные с этим предупреждения о совместимости. Другими словами, эта аннотация заставляет компилятор генерировать аннотированный класс или интерфейс в режиме -Xjvm-default=all , где генерируются только методы по умолчанию JVM, без DefaultImpls.
JvmDefaultWithoutCompatibility()
Расширяющие свойства
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.jvm/-jvm-default-without-compatibility/index.html