[Commonizer] Minor. Post-review changes, p.2
This commit is contained in:
+14
-2
@@ -11,8 +11,14 @@ import org.jetbrains.kotlin.descriptors.commonizer.utils.KNI_BRIDGE_FUNCTION_PRE
|
|||||||
import java.util.*
|
import java.util.*
|
||||||
import kotlin.reflect.KProperty0
|
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?
|
// 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 {
|
interface Config {
|
||||||
val rootPathElement: String
|
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)
|
private fun toResult() = if (mismatches.isEmpty()) Result.Success else Result.Failure(mismatches)
|
||||||
|
|
||||||
fun compare(
|
private fun compareModules(
|
||||||
metadataA: KlibModuleMetadata,
|
metadataA: KlibModuleMetadata,
|
||||||
metadataB: KlibModuleMetadata
|
metadataB: KlibModuleMetadata
|
||||||
): Result {
|
): Result {
|
||||||
@@ -748,6 +754,12 @@ class MetadataDeclarationsComparator(private val config: Config = Config.Default
|
|||||||
}
|
}
|
||||||
|
|
||||||
companion object {
|
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(
|
private val VISIBILITY_FLAGS: Array<KProperty0<Flag>> = arrayOf(
|
||||||
Flag.Common::IS_INTERNAL,
|
Flag.Common::IS_INTERNAL,
|
||||||
Flag.Common::IS_PRIVATE,
|
Flag.Common::IS_PRIVATE,
|
||||||
|
|||||||
+1
-1
@@ -26,7 +26,7 @@ fun assertModulesAreEqual(reference: SerializedMetadata, generated: SerializedMe
|
|||||||
val referenceModule = with(reference) { KlibModuleMetadata.read(SerializedMetadataLibraryProvider(module, fragments, fragmentNames)) }
|
val referenceModule = with(reference) { KlibModuleMetadata.read(SerializedMetadataLibraryProvider(module, fragments, fragmentNames)) }
|
||||||
val generatedModule = with(generated) { 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.Success -> Unit
|
||||||
is Result.Failure -> {
|
is Result.Failure -> {
|
||||||
val mismatches = result.mismatches
|
val mismatches = result.mismatches
|
||||||
|
|||||||
Reference in New Issue
Block a user