[Interop][Tests] Check function flags
This commit is contained in:
committed by
Sergey Bogolepov
parent
6efc488084
commit
52988b5551
@@ -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"),
|
||||
|
||||
Reference in New Issue
Block a user