diff --git a/compiler/fir/fir-serialization/src/org/jetbrains/kotlin/fir/serialization/FirElementSerializer.kt b/compiler/fir/fir-serialization/src/org/jetbrains/kotlin/fir/serialization/FirElementSerializer.kt index 64bbbb5b7e0..8a0fc3fde0a 100644 --- a/compiler/fir/fir-serialization/src/org/jetbrains/kotlin/fir/serialization/FirElementSerializer.kt +++ b/compiler/fir/fir-serialization/src/org/jetbrains/kotlin/fir/serialization/FirElementSerializer.kt @@ -702,7 +702,7 @@ class FirElementSerializer private constructor( val builder = ProtoBuf.ValueParameter.newBuilder() val declaresDefaultValue = parameter.defaultValue != null || - function.symbol.getSingleExpectForActualOrNull(compatibleOnly = true).containsDefaultValue(index) + function.symbol.getSingleExpectForActualOrNull().containsDefaultValue(index) val flags = Flags.getValueParameterFlags( additionalAnnotations.isNotEmpty() diff --git a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/ExpectActualAttributes.kt b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/ExpectActualAttributes.kt index 4c2d8dd4f6d..b3e2d0f22ac 100644 --- a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/ExpectActualAttributes.kt +++ b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/ExpectActualAttributes.kt @@ -10,7 +10,6 @@ import org.jetbrains.kotlin.fir.symbols.SymbolInternals import org.jetbrains.kotlin.fir.symbols.impl.FirFunctionSymbol import org.jetbrains.kotlin.fir.symbols.lazyResolveToPhase import org.jetbrains.kotlin.resolve.multiplatform.ExpectActualCompatibility -import org.jetbrains.kotlin.resolve.multiplatform.compatible private object ExpectForActualAttributeKey : FirDeclarationDataKey() @@ -19,22 +18,11 @@ typealias ExpectForActualData = Map> @SymbolInternals var FirDeclaration.expectForActual: ExpectForActualData? by FirDeclarationDataRegistry.data(ExpectForActualAttributeKey) -fun FirFunctionSymbol<*>.getSingleExpectForActualOrNull(compatibleOnly: Boolean = false) = - (this as FirBasedSymbol<*>).getSingleExpectForActualOrNull(compatibleOnly) as? FirFunctionSymbol<*> +fun FirFunctionSymbol<*>.getSingleExpectForActualOrNull(): FirFunctionSymbol<*>? = + (this as FirBasedSymbol<*>).getSingleExpectForActualOrNull() as? FirFunctionSymbol<*> -fun FirBasedSymbol<*>.getSingleExpectForActualOrNull(compatibleOnly: Boolean = false): FirBasedSymbol<*>? { - val expectForActual = expectForActual ?: return null - var actuals: List>? = null - for ((key, item) in expectForActual) { - if (!compatibleOnly || key.compatible) { - if (actuals == null) { - actuals = item - } else { - return null // Exit if there are more than one list with actuals - } - } - } - return actuals?.singleOrNull() +fun FirBasedSymbol<*>.getSingleExpectForActualOrNull(): FirBasedSymbol<*>? { + return expectForActual?.values?.singleOrNull()?.singleOrNull() } val FirBasedSymbol<*>.expectForActual: ExpectForActualData?