diff --git a/libraries/kotlinx-metadata/jvm/ChangeLog.md b/libraries/kotlinx-metadata/jvm/ChangeLog.md index afb1350244c..52f17bfc5c8 100644 --- a/libraries/kotlinx-metadata/jvm/ChangeLog.md +++ b/libraries/kotlinx-metadata/jvm/ChangeLog.md @@ -2,6 +2,7 @@ ## 0.1.1 +- Breaking change: `KotlinClassMetadata.*.Writer.write` no longer accept `bytecodeVersion`. - [`KT-42429`](https://youtrack.jetbrains.com/issue/KT-42429) Wrong interpretation of Flag.Constructor.IS_PRIMARY - Breaking change: `Flag.Constructor.IS_PRIMARY` is deprecated, use `Flag.Constructor.IS_SECONDARY` instead - [`KT-37421`](https://youtrack.jetbrains.com/issue/KT-37421) Add Flag.Class.IS_FUN for functional interfaces diff --git a/libraries/kotlinx-metadata/jvm/src/kotlinx/metadata/jvm/KotlinClassMetadata.kt b/libraries/kotlinx-metadata/jvm/src/kotlinx/metadata/jvm/KotlinClassMetadata.kt index 881dfed1632..9ad54554626 100644 --- a/libraries/kotlinx-metadata/jvm/src/kotlinx/metadata/jvm/KotlinClassMetadata.kt +++ b/libraries/kotlinx-metadata/jvm/src/kotlinx/metadata/jvm/KotlinClassMetadata.kt @@ -58,20 +58,18 @@ sealed class KotlinClassMetadata(val header: KotlinClassHeader) { * * @param metadataVersion metadata version to be written to the metadata (see [KotlinClassHeader.metadataVersion]), * [KotlinClassHeader.COMPATIBLE_METADATA_VERSION] by default - * @param bytecodeVersion bytecode version to be written to the metadata (see [KotlinClassHeader.bytecodeVersion]), - * [KotlinClassHeader.COMPATIBLE_BYTECODE_VERSION] by default * @param extraInt the value of the class-level flags to be written to the metadata (see [KotlinClassHeader.extraInt]), * 0 by default */ @JvmOverloads fun write( metadataVersion: IntArray = KotlinClassHeader.COMPATIBLE_METADATA_VERSION, - bytecodeVersion: IntArray = KotlinClassHeader.COMPATIBLE_BYTECODE_VERSION, extraInt: Int = 0 ): Class { val (d1, d2) = writeProtoBufData(t.build(), c) val metadata = KotlinClassHeader( - KotlinClassHeader.CLASS_KIND, metadataVersion, bytecodeVersion, d1, d2, null, null, extraInt + KotlinClassHeader.CLASS_KIND, metadataVersion, KotlinClassHeader.COMPATIBLE_BYTECODE_VERSION, + d1, d2, null, null, extraInt ) return Class(metadata) } @@ -113,20 +111,18 @@ sealed class KotlinClassMetadata(val header: KotlinClassHeader) { * * @param metadataVersion metadata version to be written to the metadata (see [KotlinClassHeader.metadataVersion]), * [KotlinClassHeader.COMPATIBLE_METADATA_VERSION] by default - * @param bytecodeVersion bytecode version to be written to the metadata (see [KotlinClassHeader.bytecodeVersion]), - * [KotlinClassHeader.COMPATIBLE_BYTECODE_VERSION] by default * @param extraInt the value of the class-level flags to be written to the metadata (see [KotlinClassHeader.extraInt]), * 0 by default */ @JvmOverloads fun write( metadataVersion: IntArray = KotlinClassHeader.COMPATIBLE_METADATA_VERSION, - bytecodeVersion: IntArray = KotlinClassHeader.COMPATIBLE_BYTECODE_VERSION, extraInt: Int = 0 ): FileFacade { val (d1, d2) = writeProtoBufData(t.build(), c) val metadata = KotlinClassHeader( - KotlinClassHeader.FILE_FACADE_KIND, metadataVersion, bytecodeVersion, d1, d2, null, null, extraInt + KotlinClassHeader.FILE_FACADE_KIND, metadataVersion, KotlinClassHeader.COMPATIBLE_BYTECODE_VERSION, + d1, d2, null, null, extraInt ) return FileFacade(metadata) } @@ -186,15 +182,12 @@ sealed class KotlinClassMetadata(val header: KotlinClassHeader) { * * @param metadataVersion metadata version to be written to the metadata (see [KotlinClassHeader.metadataVersion]), * [KotlinClassHeader.COMPATIBLE_METADATA_VERSION] by default - * @param bytecodeVersion bytecode version to be written to the metadata (see [KotlinClassHeader.bytecodeVersion]), - * [KotlinClassHeader.COMPATIBLE_BYTECODE_VERSION] by default * @param extraInt the value of the class-level flags to be written to the metadata (see [KotlinClassHeader.extraInt]), * 0 by default */ @JvmOverloads fun write( metadataVersion: IntArray = KotlinClassHeader.COMPATIBLE_METADATA_VERSION, - bytecodeVersion: IntArray = KotlinClassHeader.COMPATIBLE_BYTECODE_VERSION, extraInt: Int = 0 ): SyntheticClass { val proto = t?.build() @@ -202,7 +195,8 @@ sealed class KotlinClassMetadata(val header: KotlinClassHeader) { if (proto != null) writeProtoBufData(proto, c) else Pair(emptyArray(), emptyArray()) val metadata = KotlinClassHeader( - KotlinClassHeader.SYNTHETIC_CLASS_KIND, metadataVersion, bytecodeVersion, d1, d2, null, null, extraInt + KotlinClassHeader.SYNTHETIC_CLASS_KIND, metadataVersion, KotlinClassHeader.COMPATIBLE_BYTECODE_VERSION, + d1, d2, null, null, extraInt ) return SyntheticClass(metadata) } @@ -230,8 +224,6 @@ sealed class KotlinClassMetadata(val header: KotlinClassHeader) { * @param partClassNames JVM internal names of the part classes which this multi-file class combines * @param metadataVersion metadata version to be written to the metadata (see [KotlinClassHeader.metadataVersion]), * [KotlinClassHeader.COMPATIBLE_METADATA_VERSION] by default - * @param bytecodeVersion bytecode version to be written to the metadata (see [KotlinClassHeader.bytecodeVersion]), - * [KotlinClassHeader.COMPATIBLE_BYTECODE_VERSION] by default * @param extraInt the value of the class-level flags to be written to the metadata (see [KotlinClassHeader.extraInt]), * 0 by default */ @@ -239,12 +231,11 @@ sealed class KotlinClassMetadata(val header: KotlinClassHeader) { fun write( partClassNames: List, metadataVersion: IntArray = KotlinClassHeader.COMPATIBLE_METADATA_VERSION, - bytecodeVersion: IntArray = KotlinClassHeader.COMPATIBLE_BYTECODE_VERSION, extraInt: Int = 0 ): MultiFileClassFacade { val metadata = KotlinClassHeader( - KotlinClassHeader.MULTI_FILE_CLASS_FACADE_KIND, metadataVersion, bytecodeVersion, partClassNames.toTypedArray(), - null, null, null, extraInt + KotlinClassHeader.MULTI_FILE_CLASS_FACADE_KIND, metadataVersion, KotlinClassHeader.COMPATIBLE_BYTECODE_VERSION, + partClassNames.toTypedArray(), null, null, null, extraInt ) return MultiFileClassFacade(metadata) } @@ -296,8 +287,6 @@ sealed class KotlinClassMetadata(val header: KotlinClassHeader) { * @param facadeClassName JVM internal name of the corresponding multi-file class facade * @param metadataVersion metadata version to be written to the metadata (see [KotlinClassHeader.metadataVersion]), * [KotlinClassHeader.COMPATIBLE_METADATA_VERSION] by default - * @param bytecodeVersion bytecode version to be written to the metadata (see [KotlinClassHeader.bytecodeVersion]), - * [KotlinClassHeader.COMPATIBLE_BYTECODE_VERSION] by default * @param extraInt the value of the class-level flags to be written to the metadata (see [KotlinClassHeader.extraInt]), * 0 by default */ @@ -305,12 +294,12 @@ sealed class KotlinClassMetadata(val header: KotlinClassHeader) { fun write( facadeClassName: String, metadataVersion: IntArray = KotlinClassHeader.COMPATIBLE_METADATA_VERSION, - bytecodeVersion: IntArray = KotlinClassHeader.COMPATIBLE_BYTECODE_VERSION, extraInt: Int = 0 ): MultiFileClassPart { val (d1, d2) = writeProtoBufData(t.build(), c) val metadata = KotlinClassHeader( - KotlinClassHeader.MULTI_FILE_CLASS_PART_KIND, metadataVersion, bytecodeVersion, d1, d2, facadeClassName, null, extraInt + KotlinClassHeader.MULTI_FILE_CLASS_PART_KIND, metadataVersion, KotlinClassHeader.COMPATIBLE_BYTECODE_VERSION, + d1, d2, facadeClassName, null, extraInt ) return MultiFileClassPart(metadata) }