[K2 MPP] Fix hasStableParameterNames check for fake overrides

This fixes a false positive error regarding different
parameter names in expect actual matching with fake overrides.

#KT-59737 Fixed
This commit is contained in:
Kirill Rakhman
2023-07-05 11:24:54 +02:00
committed by Space Team
parent 116de97f54
commit 04f16d75d2
6 changed files with 112 additions and 12 deletions
@@ -407,11 +407,19 @@ internal abstract class IrExpectActualMatchingContext(
}
override val CallableSymbolMarker.hasStableParameterNames: Boolean
get() = when (asIr().origin) {
IrDeclarationOrigin.IR_EXTERNAL_DECLARATION_STUB,
IrDeclarationOrigin.IR_EXTERNAL_JAVA_DECLARATION_STUB,
-> false
else -> true
get() {
var ir = asIr()
if (ir.isFakeOverride && ir is IrOverridableDeclaration<*>) {
ir.resolveFakeOverrideOrNull()?.let { ir = it }
}
return when (ir.origin) {
IrDeclarationOrigin.IR_EXTERNAL_DECLARATION_STUB,
IrDeclarationOrigin.IR_EXTERNAL_JAVA_DECLARATION_STUB,
-> false
else -> true
}
}
override fun onMatchedMembers(expectSymbol: DeclarationSymbolMarker, actualSymbol: DeclarationSymbolMarker) {