From 52988b555113c2a12c17466df151ac9032f9ba19 Mon Sep 17 00:00:00 2001 From: Sergey Bogolepov Date: Tue, 28 Jul 2020 13:13:10 +0700 Subject: [PATCH] [Interop][Tests] Check function flags --- .../jetbrains/kotlin/klib/metadata/KmComparator.kt | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/build-tools/src/main/kotlin/org/jetbrains/kotlin/klib/metadata/KmComparator.kt b/build-tools/src/main/kotlin/org/jetbrains/kotlin/klib/metadata/KmComparator.kt index a8b043bbd7b..c71e427bcf9 100644 --- a/build-tools/src/main/kotlin/org/jetbrains/kotlin/klib/metadata/KmComparator.kt +++ b/build-tools/src/main/kotlin/org/jetbrains/kotlin/klib/metadata/KmComparator.kt @@ -32,7 +32,8 @@ internal class KmComparator(private val configuration: ComparisonConfig) { fun compare(function1: KmFunction, function2: KmFunction): MetadataCompareResult = serialComparator( compare(KmFunction::name, ::compare) to "Different names", compare(KmFunction::returnType, ::compareTypes) to "Return type mismatch", - compare(KmFunction::valueParameters, compareLists(::compare)) to "Value parameters mismatch" + compare(KmFunction::valueParameters, compareLists(::compare)) to "Value parameters mismatch", + ::compareFunctionFlags to "Flags mismatch" )(function1, function2) fun compare(property1: KmProperty, property2: KmProperty): MetadataCompareResult = serialComparator( @@ -68,6 +69,14 @@ internal class KmComparator(private val configuration: ComparisonConfig) { else -> Fail("$string1 != $string2") } + private fun compareFunctionFlags(function1: KmFunction, function2: KmFunction): MetadataCompareResult = + serialComparator( + checkFlag(Flag.Function.IS_EXTERNAL, "IS_EXTERNAL"), + checkFlag(Flag.Function.IS_DECLARATION, "IS_DECLARATION"), + ::compareVisibilityFlags, + ::compareModalityFlags + )(function1.flags, function2.flags) + private fun comparePropertyFlags(property1: KmProperty, property2: KmProperty): MetadataCompareResult = serialComparator( checkFlag(Flag.Property.IS_CONST, "IS_CONST"),