diff --git a/libraries/kotlinx-metadata/jvm/src/kotlinx/metadata/jvm/KotlinClassHeader.kt b/libraries/kotlinx-metadata/jvm/src/kotlinx/metadata/jvm/KotlinClassHeader.kt index baa88fddb99..a14db2afebf 100644 --- a/libraries/kotlinx-metadata/jvm/src/kotlinx/metadata/jvm/KotlinClassHeader.kt +++ b/libraries/kotlinx-metadata/jvm/src/kotlinx/metadata/jvm/KotlinClassHeader.kt @@ -3,6 +3,8 @@ * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. */ +@file:Suppress("MemberVisibilityCanBePrivate") + package kotlinx.metadata.jvm import org.jetbrains.kotlin.metadata.jvm.deserialization.JvmBytecodeBinaryVersion 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 2dfa35983d3..881dfed1632 100644 --- a/libraries/kotlinx-metadata/jvm/src/kotlinx/metadata/jvm/KotlinClassMetadata.kt +++ b/libraries/kotlinx-metadata/jvm/src/kotlinx/metadata/jvm/KotlinClassMetadata.kt @@ -29,7 +29,7 @@ sealed class KotlinClassMetadata(val header: KotlinClassHeader) { class Class internal constructor(header: KotlinClassHeader) : KotlinClassMetadata(header) { private val classData by lazy(PUBLICATION) { val data1 = (header.data1.takeIf(Array<*>::isNotEmpty) - ?: throw InconsistentKotlinMetadataException("data1 must not be empty")) + ?: throw InconsistentKotlinMetadataException("data1 must not be empty")) JvmProtoBufUtil.readClassDataFrom(data1, header.data2) } @@ -68,12 +68,12 @@ sealed class KotlinClassMetadata(val header: KotlinClassHeader) { metadataVersion: IntArray = KotlinClassHeader.COMPATIBLE_METADATA_VERSION, bytecodeVersion: IntArray = KotlinClassHeader.COMPATIBLE_BYTECODE_VERSION, extraInt: Int = 0 - ): KotlinClassMetadata.Class { + ): Class { val (d1, d2) = writeProtoBufData(t.build(), c) val metadata = KotlinClassHeader( KotlinClassHeader.CLASS_KIND, metadataVersion, bytecodeVersion, d1, d2, null, null, extraInt ) - return KotlinClassMetadata.Class(metadata) + return Class(metadata) } } } @@ -84,7 +84,7 @@ sealed class KotlinClassMetadata(val header: KotlinClassHeader) { class FileFacade internal constructor(header: KotlinClassHeader) : KotlinClassMetadata(header) { private val packageData by lazy(PUBLICATION) { val data1 = (header.data1.takeIf(Array<*>::isNotEmpty) - ?: throw InconsistentKotlinMetadataException("data1 must not be empty")) + ?: throw InconsistentKotlinMetadataException("data1 must not be empty")) JvmProtoBufUtil.readPackageDataFrom(data1, header.data2) } @@ -123,12 +123,12 @@ sealed class KotlinClassMetadata(val header: KotlinClassHeader) { metadataVersion: IntArray = KotlinClassHeader.COMPATIBLE_METADATA_VERSION, bytecodeVersion: IntArray = KotlinClassHeader.COMPATIBLE_BYTECODE_VERSION, extraInt: Int = 0 - ): KotlinClassMetadata.FileFacade { + ): FileFacade { val (d1, d2) = writeProtoBufData(t.build(), c) val metadata = KotlinClassHeader( KotlinClassHeader.FILE_FACADE_KIND, metadataVersion, bytecodeVersion, d1, d2, null, null, extraInt ) - return KotlinClassMetadata.FileFacade(metadata) + return FileFacade(metadata) } } } @@ -196,15 +196,15 @@ sealed class KotlinClassMetadata(val header: KotlinClassHeader) { metadataVersion: IntArray = KotlinClassHeader.COMPATIBLE_METADATA_VERSION, bytecodeVersion: IntArray = KotlinClassHeader.COMPATIBLE_BYTECODE_VERSION, extraInt: Int = 0 - ): KotlinClassMetadata.SyntheticClass { + ): SyntheticClass { val proto = t?.build() val (d1, d2) = - if (proto != null) writeProtoBufData(proto, c) - else Pair(emptyArray(), emptyArray()) + if (proto != null) writeProtoBufData(proto, c) + else Pair(emptyArray(), emptyArray()) val metadata = KotlinClassHeader( KotlinClassHeader.SYNTHETIC_CLASS_KIND, metadataVersion, bytecodeVersion, d1, d2, null, null, extraInt ) - return KotlinClassMetadata.SyntheticClass(metadata) + return SyntheticClass(metadata) } } } @@ -241,12 +241,12 @@ sealed class KotlinClassMetadata(val header: KotlinClassHeader) { metadataVersion: IntArray = KotlinClassHeader.COMPATIBLE_METADATA_VERSION, bytecodeVersion: IntArray = KotlinClassHeader.COMPATIBLE_BYTECODE_VERSION, extraInt: Int = 0 - ): KotlinClassMetadata.MultiFileClassFacade { + ): MultiFileClassFacade { val metadata = KotlinClassHeader( KotlinClassHeader.MULTI_FILE_CLASS_FACADE_KIND, metadataVersion, bytecodeVersion, partClassNames.toTypedArray(), null, null, null, extraInt ) - return KotlinClassMetadata.MultiFileClassFacade(metadata) + return MultiFileClassFacade(metadata) } } } @@ -260,7 +260,7 @@ sealed class KotlinClassMetadata(val header: KotlinClassHeader) { class MultiFileClassPart internal constructor(header: KotlinClassHeader) : KotlinClassMetadata(header) { private val packageData by lazy(PUBLICATION) { val data1 = (header.data1.takeIf(Array<*>::isNotEmpty) - ?: throw InconsistentKotlinMetadataException("data1 must not be empty")) + ?: throw InconsistentKotlinMetadataException("data1 must not be empty")) JvmProtoBufUtil.readPackageDataFrom(data1, header.data2) } @@ -307,12 +307,12 @@ sealed class KotlinClassMetadata(val header: KotlinClassHeader) { metadataVersion: IntArray = KotlinClassHeader.COMPATIBLE_METADATA_VERSION, bytecodeVersion: IntArray = KotlinClassHeader.COMPATIBLE_BYTECODE_VERSION, extraInt: Int = 0 - ): KotlinClassMetadata.MultiFileClassPart { + ): MultiFileClassPart { val (d1, d2) = writeProtoBufData(t.build(), c) val metadata = KotlinClassHeader( KotlinClassHeader.MULTI_FILE_CLASS_PART_KIND, metadataVersion, bytecodeVersion, d1, d2, facadeClassName, null, extraInt ) - return KotlinClassMetadata.MultiFileClassPart(metadata) + return MultiFileClassPart(metadata) } } } @@ -344,12 +344,12 @@ sealed class KotlinClassMetadata(val header: KotlinClassHeader) { return try { when (header.kind) { - KotlinClassHeader.CLASS_KIND -> KotlinClassMetadata.Class(header) - KotlinClassHeader.FILE_FACADE_KIND -> KotlinClassMetadata.FileFacade(header) - KotlinClassHeader.SYNTHETIC_CLASS_KIND -> KotlinClassMetadata.SyntheticClass(header) - KotlinClassHeader.MULTI_FILE_CLASS_FACADE_KIND -> KotlinClassMetadata.MultiFileClassFacade(header) - KotlinClassHeader.MULTI_FILE_CLASS_PART_KIND -> KotlinClassMetadata.MultiFileClassPart(header) - else -> KotlinClassMetadata.Unknown(header) + KotlinClassHeader.CLASS_KIND -> Class(header) + KotlinClassHeader.FILE_FACADE_KIND -> FileFacade(header) + KotlinClassHeader.SYNTHETIC_CLASS_KIND -> SyntheticClass(header) + KotlinClassHeader.MULTI_FILE_CLASS_FACADE_KIND -> MultiFileClassFacade(header) + KotlinClassHeader.MULTI_FILE_CLASS_PART_KIND -> MultiFileClassPart(header) + else -> Unknown(header) } } catch (e: InconsistentKotlinMetadataException) { throw e diff --git a/libraries/kotlinx-metadata/jvm/src/kotlinx/metadata/jvm/jvmExtensions.kt b/libraries/kotlinx-metadata/jvm/src/kotlinx/metadata/jvm/jvmExtensions.kt index fc5bafd904d..c86a8900b16 100644 --- a/libraries/kotlinx-metadata/jvm/src/kotlinx/metadata/jvm/jvmExtensions.kt +++ b/libraries/kotlinx-metadata/jvm/src/kotlinx/metadata/jvm/jvmExtensions.kt @@ -3,6 +3,8 @@ * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. */ +@file:Suppress("unused") + package kotlinx.metadata.jvm import kotlinx.metadata.* diff --git a/libraries/kotlinx-metadata/jvm/src/kotlinx/metadata/jvm/jvmMetadataUtil.kt b/libraries/kotlinx-metadata/jvm/src/kotlinx/metadata/jvm/jvmMetadataUtil.kt index f6b88eb9a09..4a70f123154 100644 --- a/libraries/kotlinx-metadata/jvm/src/kotlinx/metadata/jvm/jvmMetadataUtil.kt +++ b/libraries/kotlinx-metadata/jvm/src/kotlinx/metadata/jvm/jvmMetadataUtil.kt @@ -4,6 +4,7 @@ */ @file:JvmName("JvmMetadataUtil") + package kotlinx.metadata.jvm import kotlinx.metadata.ClassName diff --git a/libraries/kotlinx-metadata/src/kotlinx/metadata/ClassName.kt b/libraries/kotlinx-metadata/src/kotlinx/metadata/ClassName.kt index 5d814579d07..51cadd79426 100644 --- a/libraries/kotlinx-metadata/src/kotlinx/metadata/ClassName.kt +++ b/libraries/kotlinx-metadata/src/kotlinx/metadata/ClassName.kt @@ -4,6 +4,7 @@ */ @file:JvmName("ClassNameKt") + package kotlinx.metadata /** diff --git a/libraries/kotlinx-metadata/src/kotlinx/metadata/Flags.kt b/libraries/kotlinx-metadata/src/kotlinx/metadata/Flags.kt index a7d0e6dbbfb..72bc003539a 100644 --- a/libraries/kotlinx-metadata/src/kotlinx/metadata/Flags.kt +++ b/libraries/kotlinx-metadata/src/kotlinx/metadata/Flags.kt @@ -4,6 +4,7 @@ */ @file:JvmName("FlagsKt") + package kotlinx.metadata /** diff --git a/libraries/kotlinx-metadata/src/kotlinx/metadata/impl/extensions/MetadataExtensions.kt b/libraries/kotlinx-metadata/src/kotlinx/metadata/impl/extensions/MetadataExtensions.kt index 92f48349a7b..291e556b7dc 100644 --- a/libraries/kotlinx-metadata/src/kotlinx/metadata/impl/extensions/MetadataExtensions.kt +++ b/libraries/kotlinx-metadata/src/kotlinx/metadata/impl/extensions/MetadataExtensions.kt @@ -56,7 +56,9 @@ interface MetadataExtensions { fun writeTypeAliasExtensions(type: KmExtensionType, proto: ProtoBuf.TypeAlias.Builder, c: WriteContext): KmTypeAliasExtensionVisitor? - fun writeValueParameterExtensions(type: KmExtensionType, proto: ProtoBuf.ValueParameter.Builder, c: WriteContext): KmValueParameterExtensionVisitor? + fun writeValueParameterExtensions( + type: KmExtensionType, proto: ProtoBuf.ValueParameter.Builder, c: WriteContext + ): KmValueParameterExtensionVisitor? fun createClassExtension(): KmClassExtension diff --git a/libraries/kotlinx-metadata/src/kotlinx/metadata/impl/readers.kt b/libraries/kotlinx-metadata/src/kotlinx/metadata/impl/readers.kt index a9f443cdeff..4639ffdbbaf 100644 --- a/libraries/kotlinx-metadata/src/kotlinx/metadata/impl/readers.kt +++ b/libraries/kotlinx-metadata/src/kotlinx/metadata/impl/readers.kt @@ -12,7 +12,7 @@ import org.jetbrains.kotlin.metadata.deserialization.* import org.jetbrains.kotlin.metadata.deserialization.Flags as F /** - * Allows to populate [BasicReadContext] with additional data + * Allows to populate [ReadContext] with additional data * that can be used when reading metadata in [MetadataExtensions]. */ interface ReadContextExtension @@ -337,7 +337,7 @@ private fun ProtoBuf.Type.accept(v: KmTypeVisitor, c: ReadContext) { hasTypeParameter() -> v.visitTypeParameter(typeParameter) hasTypeParameterName() -> { val id = c.getTypeParameterId(typeParameterName) - ?: throw InconsistentKotlinMetadataException("No type parameter id for ${c[typeParameterName]}") + ?: throw InconsistentKotlinMetadataException("No type parameter id for ${c[typeParameterName]}") v.visitTypeParameter(id) } else -> { @@ -355,7 +355,7 @@ private fun ProtoBuf.Type.accept(v: KmTypeVisitor, c: ReadContext) { if (variance != null) { val argumentType = argument.type(c.types) - ?: throw InconsistentKotlinMetadataException("No type argument for non-STAR projection in Type") + ?: throw InconsistentKotlinMetadataException("No type argument for non-STAR projection in Type") v.visitArgument(argumentType.typeFlags, variance)?.let { argumentType.accept(it, c) } } else { v.visitStarProjection() diff --git a/libraries/kotlinx-metadata/src/kotlinx/metadata/impl/writeUtils.kt b/libraries/kotlinx-metadata/src/kotlinx/metadata/impl/writeUtils.kt index 780a886c75a..b76c0453c44 100644 --- a/libraries/kotlinx-metadata/src/kotlinx/metadata/impl/writeUtils.kt +++ b/libraries/kotlinx-metadata/src/kotlinx/metadata/impl/writeUtils.kt @@ -76,7 +76,7 @@ fun KmAnnotationArgument<*>.writeAnnotationArgument(strings: StringTable): Proto } is KmAnnotationArgument.ULongValue -> { this.type = ProtoBuf.Annotation.Argument.Value.Type.LONG - this.intValue = value.toLong() + this.intValue = value this.flags = Flags.IS_UNSIGNED.toFlags(true) } is KmAnnotationArgument.StringValue -> { diff --git a/libraries/kotlinx-metadata/src/kotlinx/metadata/impl/writers.kt b/libraries/kotlinx-metadata/src/kotlinx/metadata/impl/writers.kt index 52b1d7c549b..bddb1c83ed1 100644 --- a/libraries/kotlinx-metadata/src/kotlinx/metadata/impl/writers.kt +++ b/libraries/kotlinx-metadata/src/kotlinx/metadata/impl/writers.kt @@ -499,7 +499,7 @@ open class PackageWriter(stringTable: StringTable, contextExtensions: List = emptyList()) : KmModuleFragmentVisitor() { - protected val t = ProtoBuf.PackageFragment.newBuilder() + protected val t = ProtoBuf.PackageFragment.newBuilder()!! protected val c: WriteContext = WriteContext(stringTable, contextExtensions) override fun visitPackage(): KmPackageVisitor? = object : PackageWriter(c.strings, c.contextExtensions) { diff --git a/libraries/kotlinx-metadata/src/kotlinx/metadata/util.kt b/libraries/kotlinx-metadata/src/kotlinx/metadata/util.kt index e7d81770386..8433f5ab5f0 100644 --- a/libraries/kotlinx-metadata/src/kotlinx/metadata/util.kt +++ b/libraries/kotlinx-metadata/src/kotlinx/metadata/util.kt @@ -3,6 +3,8 @@ * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. */ +@file:Suppress("unused") + package kotlinx.metadata /**