Spec-Zone.ru › Kotlin 1.9

Метаданные

kotlin-stdlib / kotlin / Метаданные
Требования к платформе и версии: JVM (1.3)
@Target([AnnotationTarget.CLASS]) annotation class Metadata

Эта аннотация присутствует в любом файле класса, созданном компилятором Kotlin, и используется компилятором и рефлексией. Параметры специально имеют очень короткие имена JVM: эти имена появляются во всех сгенерированных файлах классов, и мы хотим уменьшить их размер.

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

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

<init>

Эта аннотация присутствует в любом файле класса, созданном компилятором Kotlin, и используется компилятором и рефлексией. Параметры специально имеют очень короткие имена JVM: эти имена появляются во всех сгенерированных файлах классов, и мы хотим уменьшить их размер.

Metadata(
    kind: Int = 1, 
    metadataVersion: IntArray = [], 
    bytecodeVersion: IntArray = [1, 0, 3], 
    data1: Array<String> = [], 
    data2: Array<String> = [], 
    extraString: String = "", 
    packageName: String = "", 
    extraInt: Int = 0)

Свойства

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

bytecodeVersion

Версия байт-кода интерфейса (правила именования, сигнатуры) файла класса, помеченного этой аннотацией.

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

data1

Метаданные в пользовательском формате. Формат может отличаться (или даже отсутствовать) для разных типов.

val data1: Array<String>
Требования к платформе и версии: JVM (1.0)

data2

Добавление к data1: массив строк, которые встречаются в метаданных, записанные в обычном текстовом формате, чтобы уже присутствующие в пуле констант строки использовались повторно. Эти строки затем могут быть индексированы в метаданных целочисленным индексом в этом массиве.

val data2: Array<String>
Требования к платформе и версии: JVM (1.1)

extraInt

Дополнительное целое число. Биты этого числа представляют следующие флаги:

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

extraString

Дополнительная строка. Для многофайлового класса, внутреннее имя класса-фасада.

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

kind

Тип метаданных, которые кодирует эта аннотация. Компилятор Kotlin распознает следующие типы (см. KotlinClassHeader.Kind):

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

metadataVersion

Версия метаданных, предоставленная в аргументах этой аннотации.

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

packageName

Полное квалифицированное имя пакета, в котором находится этот класс, с точки зрения Kotlin, или пустая строка, если это имя не отличается от полного квалифицированного имени пакета JVM. Эти имена могут отличаться в случае использования аннотации JvmPackageName. Обратите внимание, что эта информация также хранится в соответствующем модульном файле .kotlin_module.

val packageName: String

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

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

annotationClass

Возвращает экземпляр KClass, соответствующий типу аннотации этой аннотации.

val <T : Annotation> T.annotationClass: KClass<out T>

© 2010–2023 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/-metadata/index.html

Spec-Zone.ru

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