[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:
+1
-9
@@ -61,21 +61,13 @@ internal object FirDefaultArgumentsInExpectActualizedByFakeOverrideChecker : Fir
|
|||||||
): List<FirNamedFunctionSymbol> {
|
): List<FirNamedFunctionSymbol> {
|
||||||
val actualFakeOverrideMembers = actualClassSymbol.collectAllMembers(isActualDeclaration = true)
|
val actualFakeOverrideMembers = actualClassSymbol.collectAllMembers(isActualDeclaration = true)
|
||||||
.filterIsInstance<FirNamedFunctionSymbol>()
|
.filterIsInstance<FirNamedFunctionSymbol>()
|
||||||
.filter { isFakeOverride(it, actualClassSymbol) }
|
.filter { it.isFakeOverride(actualClassSymbol) || it.isDelegated }
|
||||||
|
|
||||||
return actualFakeOverrideMembers
|
return actualFakeOverrideMembers
|
||||||
.mapNotNull { getSingleMatchingExpect(it, expectClassSymbol, actualClassSymbol) }
|
.mapNotNull { getSingleMatchingExpect(it, expectClassSymbol, actualClassSymbol) }
|
||||||
.filter(::hasDefaultArgumentValues)
|
.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(
|
private fun FirExpectActualMatchingContext.getSingleMatchingExpect(
|
||||||
actualMember: FirNamedFunctionSymbol,
|
actualMember: FirNamedFunctionSymbol,
|
||||||
expectSymbol: FirRegularClassSymbol,
|
expectSymbol: FirRegularClassSymbol,
|
||||||
|
|||||||
Reference in New Issue
Block a user