From c8a9928624f1f385ff7e20ef4a51143a113852d6 Mon Sep 17 00:00:00 2001 From: Nikita Bobko Date: Thu, 16 Nov 2023 19:11:50 +0100 Subject: [PATCH] [FIR] Deduplicate isFakeOverride Reuse isFakeOverride from ExpectActualMatchingContext. It does the same thing Review: https://jetbrains.team/p/kt/reviews/13094/timeline --- ...ArgumentsInExpectActualizedByFakeOverrideChecker.kt | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirDefaultArgumentsInExpectActualizedByFakeOverrideChecker.kt b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirDefaultArgumentsInExpectActualizedByFakeOverrideChecker.kt index 59b9e9f021d..035efa7a59d 100644 --- a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirDefaultArgumentsInExpectActualizedByFakeOverrideChecker.kt +++ b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirDefaultArgumentsInExpectActualizedByFakeOverrideChecker.kt @@ -61,21 +61,13 @@ internal object FirDefaultArgumentsInExpectActualizedByFakeOverrideChecker : Fir ): List { val actualFakeOverrideMembers = actualClassSymbol.collectAllMembers(isActualDeclaration = true) .filterIsInstance() - .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,