diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/mpp/FirExpectActualMatcherTransformer.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/mpp/FirExpectActualMatcherTransformer.kt index a92cf94f6fa..65b1668efc3 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/mpp/FirExpectActualMatcherTransformer.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/mpp/FirExpectActualMatcherTransformer.kt @@ -89,12 +89,5 @@ open class FirExpectActualMatcherTransformer( scopeSession ) ?: mapOf() memberDeclaration.expectForActual = expectForActualData - for ((compatibility, expectSymbols) in expectForActualData) { - if (compatibility.compatible) { - for (expectSymbol in expectSymbols) { - expectSymbol.fir.setActualForExpect(session, actualSymbol) - } - } - } } } 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 433c22a3c43..2285bd227ad 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 @@ -5,23 +5,19 @@ package org.jetbrains.kotlin.fir.declarations -import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol 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 -import java.util.* private object ExpectForActualAttributeKey : FirDeclarationDataKey() -private object ActualForExpectAttributeKey : FirDeclarationDataKey() typealias ExpectForActualData = Map>, List>> @SymbolInternals var FirDeclaration.expectForActual: ExpectForActualData? by FirDeclarationDataRegistry.data(ExpectForActualAttributeKey) -private var FirDeclaration.actualForExpectMap: WeakHashMap>? by FirDeclarationDataRegistry.data(ActualForExpectAttributeKey) fun FirFunctionSymbol<*>.getSingleCompatibleExpectForActualOrNull() = (this as FirBasedSymbol<*>).getSingleCompatibleExpectForActualOrNull() as? FirFunctionSymbol<*> @@ -47,32 +43,3 @@ val FirBasedSymbol<*>.expectForActual: ExpectForActualData? return fir.expectForActual } -private fun FirDeclaration.getOrCreateActualForExpectMap(): WeakHashMap> { - var map = actualForExpectMap - if (map != null) return map - synchronized(this) { - map = actualForExpectMap - if (map == null) { - map = WeakHashMap() - actualForExpectMap = map - } - } - return map!! -} - -@SymbolInternals -fun FirDeclaration.getActualForExpect(useSiteSession: FirSession): FirBasedSymbol<*>? { - return actualForExpectMap?.get(useSiteSession) -} - -fun FirBasedSymbol<*>.getActualForExpect(session: FirSession): FirBasedSymbol<*>? { - lazyResolveToPhase(FirResolvePhase.EXPECT_ACTUAL_MATCHING) - return fir.getActualForExpect(session) -} - -@SymbolInternals -fun FirDeclaration.setActualForExpect(useSiteSession: FirSession, actualSymbol: FirBasedSymbol<*>) { - val map = getOrCreateActualForExpectMap() - map[useSiteSession] = actualSymbol -} -