[fir2ir] Create separate symbols for serialized parameters

This commit is contained in:
Yan Zhulanow
2023-06-07 20:28:33 +09:00
committed by Space Team
parent a92c479344
commit 8286ffd232
@@ -24,10 +24,7 @@ import org.jetbrains.kotlin.fir.resolve.toFirRegularClass
import org.jetbrains.kotlin.fir.serialization.FirElementAwareStringTable
import org.jetbrains.kotlin.fir.serialization.FirElementSerializer
import org.jetbrains.kotlin.fir.serialization.TypeApproximatorForMetadataSerializer
import org.jetbrains.kotlin.fir.symbols.impl.FirAnonymousFunctionSymbol
import org.jetbrains.kotlin.fir.symbols.impl.FirDelegateFieldSymbol
import org.jetbrains.kotlin.fir.symbols.impl.FirPropertyAccessorSymbol
import org.jetbrains.kotlin.fir.symbols.impl.FirPropertySymbol
import org.jetbrains.kotlin.fir.symbols.impl.*
import org.jetbrains.kotlin.fir.types.*
import org.jetbrains.kotlin.ir.declarations.IrClass
import org.jetbrains.kotlin.ir.declarations.IrDeclarationOrigin
@@ -230,6 +227,7 @@ private fun FirFunction.copyToFreeAnonymousFunction(approximator: AbstractTypeAp
hasExplicitParameterList = (function as? FirAnonymousFunction)?.hasExplicitParameterList == true
valueParameters.addAll(function.valueParameters.map {
buildValueParameterCopy(it) {
symbol = FirValueParameterSymbol(it.name)
returnTypeRef = it.returnTypeRef.approximated(approximator, typeParameterSet, toSuper = false)
}
})
@@ -254,6 +252,7 @@ private fun FirPropertyAccessor.copyToFreeAccessor(
status = accessor.status
accessor.valueParameters.mapTo(valueParameters) {
buildValueParameterCopy(it) {
symbol = FirValueParameterSymbol(it.name)
returnTypeRef = it.returnTypeRef.approximated(approximator, typeParameterSet, toSuper = false)
}
}