[Commonizer] Minor. Post-review changes, p.2

This commit is contained in:
Dmitriy Dolovov
2021-02-02 12:34:07 +03:00
parent c8a938275c
commit ff45e58543
2 changed files with 15 additions and 3 deletions
@@ -11,8 +11,14 @@ import org.jetbrains.kotlin.descriptors.commonizer.utils.KNI_BRIDGE_FUNCTION_PRE
import java.util.*
import kotlin.reflect.KProperty0
/**
* Compares two metadata modules ([KlibModuleMetadata]). Returns [Result], which may hold a list
* of found [Mismatch]s.
*
* The entry point is [MetadataDeclarationsComparator.Companion.compareModules] function.
*/
// TODO: extract to kotlinx-metadata-klib library?
class MetadataDeclarationsComparator(private val config: Config = Config.Default) {
class MetadataDeclarationsComparator private constructor(private val config: Config) {
interface Config {
val rootPathElement: String
@@ -82,7 +88,7 @@ class MetadataDeclarationsComparator(private val config: Config = Config.Default
private fun toResult() = if (mismatches.isEmpty()) Result.Success else Result.Failure(mismatches)
fun compare(
private fun compareModules(
metadataA: KlibModuleMetadata,
metadataB: KlibModuleMetadata
): Result {
@@ -748,6 +754,12 @@ class MetadataDeclarationsComparator(private val config: Config = Config.Default
}
companion object {
fun compare(
metadataA: KlibModuleMetadata,
metadataB: KlibModuleMetadata,
config: Config = Config.Default
): Result = MetadataDeclarationsComparator(config).compareModules(metadataA, metadataB)
private val VISIBILITY_FLAGS: Array<KProperty0<Flag>> = arrayOf(
Flag.Common::IS_INTERNAL,
Flag.Common::IS_PRIVATE,
@@ -26,7 +26,7 @@ fun assertModulesAreEqual(reference: SerializedMetadata, generated: SerializedMe
val referenceModule = with(reference) { KlibModuleMetadata.read(SerializedMetadataLibraryProvider(module, fragments, fragmentNames)) }
val generatedModule = with(generated) { KlibModuleMetadata.read(SerializedMetadataLibraryProvider(module, fragments, fragmentNames)) }
when (val result = MetadataDeclarationsComparator().compare(referenceModule, generatedModule)) {
when (val result = MetadataDeclarationsComparator.compare(referenceModule, generatedModule)) {
is Result.Success -> Unit
is Result.Failure -> {
val mismatches = result.mismatches