[Commonizer] Simplify creation of SerializedMetadataLibraryProvider

This commit is contained in:
Dmitriy Dolovov
2021-02-04 17:00:02 +03:00
parent 6c92ea518b
commit 33c1ca01f4
2 changed files with 9 additions and 2 deletions
@@ -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<FragmentPartContents>
@@ -38,6 +39,12 @@ class SerializedMetadataLibraryProvider(
}.toMap()
}
constructor(serializedMetadata: SerializedMetadata) : this(
serializedMetadata.module,
serializedMetadata.fragments,
serializedMetadata.fragmentNames
)
override fun packageMetadataParts(fqName: String): Set<String> {
return fragmentMap.getValue(fqName).keys
}
@@ -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