From 33c1ca01f49238da3bffc65bc905b3e1d172cafe Mon Sep 17 00:00:00 2001 From: Dmitriy Dolovov Date: Thu, 4 Feb 2021 17:00:02 +0300 Subject: [PATCH] [Commonizer] Simplify creation of SerializedMetadataLibraryProvider --- .../metadata/utils/SerializedMetadataLibraryProvider.kt | 7 +++++++ .../kotlin/descriptors/commonizer/utils/assertions.kt | 4 ++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/metadata/utils/SerializedMetadataLibraryProvider.kt b/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/metadata/utils/SerializedMetadataLibraryProvider.kt index 1970abf8c8b..7620167fd9e 100644 --- a/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/metadata/utils/SerializedMetadataLibraryProvider.kt +++ b/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/metadata/utils/SerializedMetadataLibraryProvider.kt @@ -6,6 +6,7 @@ package org.jetbrains.kotlin.descriptors.commonizer.metadata.utils import kotlinx.metadata.klib.KlibModuleMetadata +import org.jetbrains.kotlin.library.SerializedMetadata private typealias FragmentPartContents = ByteArray private typealias ListOfFragmentParts = List @@ -38,6 +39,12 @@ class SerializedMetadataLibraryProvider( }.toMap() } + constructor(serializedMetadata: SerializedMetadata) : this( + serializedMetadata.module, + serializedMetadata.fragments, + serializedMetadata.fragmentNames + ) + override fun packageMetadataParts(fqName: String): Set { return fragmentMap.getValue(fqName).keys } diff --git a/native/commonizer/tests/org/jetbrains/kotlin/descriptors/commonizer/utils/assertions.kt b/native/commonizer/tests/org/jetbrains/kotlin/descriptors/commonizer/utils/assertions.kt index 492295000b6..d7ff7ad7c44 100644 --- a/native/commonizer/tests/org/jetbrains/kotlin/descriptors/commonizer/utils/assertions.kt +++ b/native/commonizer/tests/org/jetbrains/kotlin/descriptors/commonizer/utils/assertions.kt @@ -23,8 +23,8 @@ fun assertIsDirectory(file: File) { @ExperimentalContracts fun assertModulesAreEqual(reference: SerializedMetadata, generated: SerializedMetadata, target: CommonizerTarget) { - val referenceModule = with(reference) { KlibModuleMetadata.read(SerializedMetadataLibraryProvider(module, fragments, fragmentNames)) } - val generatedModule = with(generated) { KlibModuleMetadata.read(SerializedMetadataLibraryProvider(module, fragments, fragmentNames)) } + val referenceModule = KlibModuleMetadata.read(SerializedMetadataLibraryProvider(reference)) + val generatedModule = KlibModuleMetadata.read(SerializedMetadataLibraryProvider(generated)) when (val result = MetadataDeclarationsComparator.compare(referenceModule, generatedModule)) { is Result.Success -> Unit