[FIR] Deduplicate isFakeOverride

Reuse isFakeOverride from ExpectActualMatchingContext. It does the same
thing

Review: https://jetbrains.team/p/kt/reviews/13094/timeline
This commit is contained in:
Nikita Bobko
2023-11-16 19:11:50 +01:00
committed by teamcity
parent 5b72c127bd
commit c8a9928624
@@ -61,21 +61,13 @@ internal object FirDefaultArgumentsInExpectActualizedByFakeOverrideChecker : Fir
): List<FirNamedFunctionSymbol> {
val actualFakeOverrideMembers = actualClassSymbol.collectAllMembers(isActualDeclaration = true)
.filterIsInstance<FirNamedFunctionSymbol>()
.filter { isFakeOverride(it, actualClassSymbol) }
.filter { it.isFakeOverride(actualClassSymbol) || it.isDelegated }
return actualFakeOverrideMembers
.mapNotNull { getSingleMatchingExpect(it, expectClassSymbol, actualClassSymbol) }
.filter(::hasDefaultArgumentValues)
}
private fun isFakeOverride(member: FirNamedFunctionSymbol, containingClassSymbol: FirRegularClassSymbol): Boolean {
val memberReceiverClassId = member.dispatchReceiverType?.classId ?: return false
if (memberReceiverClassId != containingClassSymbol.classId) {
return true
}
return member.isSubstitutionOrIntersectionOverride || member.isDelegated
}
private fun FirExpectActualMatchingContext.getSingleMatchingExpect(
actualMember: FirNamedFunctionSymbol,
expectSymbol: FirRegularClassSymbol,