[fir2ir] Create separate symbols for serialized parameters
This commit is contained in:
+3
-4
@@ -24,10 +24,7 @@ import org.jetbrains.kotlin.fir.resolve.toFirRegularClass
|
|||||||
import org.jetbrains.kotlin.fir.serialization.FirElementAwareStringTable
|
import org.jetbrains.kotlin.fir.serialization.FirElementAwareStringTable
|
||||||
import org.jetbrains.kotlin.fir.serialization.FirElementSerializer
|
import org.jetbrains.kotlin.fir.serialization.FirElementSerializer
|
||||||
import org.jetbrains.kotlin.fir.serialization.TypeApproximatorForMetadataSerializer
|
import org.jetbrains.kotlin.fir.serialization.TypeApproximatorForMetadataSerializer
|
||||||
import org.jetbrains.kotlin.fir.symbols.impl.FirAnonymousFunctionSymbol
|
import org.jetbrains.kotlin.fir.symbols.impl.*
|
||||||
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.types.*
|
import org.jetbrains.kotlin.fir.types.*
|
||||||
import org.jetbrains.kotlin.ir.declarations.IrClass
|
import org.jetbrains.kotlin.ir.declarations.IrClass
|
||||||
import org.jetbrains.kotlin.ir.declarations.IrDeclarationOrigin
|
import org.jetbrains.kotlin.ir.declarations.IrDeclarationOrigin
|
||||||
@@ -230,6 +227,7 @@ private fun FirFunction.copyToFreeAnonymousFunction(approximator: AbstractTypeAp
|
|||||||
hasExplicitParameterList = (function as? FirAnonymousFunction)?.hasExplicitParameterList == true
|
hasExplicitParameterList = (function as? FirAnonymousFunction)?.hasExplicitParameterList == true
|
||||||
valueParameters.addAll(function.valueParameters.map {
|
valueParameters.addAll(function.valueParameters.map {
|
||||||
buildValueParameterCopy(it) {
|
buildValueParameterCopy(it) {
|
||||||
|
symbol = FirValueParameterSymbol(it.name)
|
||||||
returnTypeRef = it.returnTypeRef.approximated(approximator, typeParameterSet, toSuper = false)
|
returnTypeRef = it.returnTypeRef.approximated(approximator, typeParameterSet, toSuper = false)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
@@ -254,6 +252,7 @@ private fun FirPropertyAccessor.copyToFreeAccessor(
|
|||||||
status = accessor.status
|
status = accessor.status
|
||||||
accessor.valueParameters.mapTo(valueParameters) {
|
accessor.valueParameters.mapTo(valueParameters) {
|
||||||
buildValueParameterCopy(it) {
|
buildValueParameterCopy(it) {
|
||||||
|
symbol = FirValueParameterSymbol(it.name)
|
||||||
returnTypeRef = it.returnTypeRef.approximated(approximator, typeParameterSet, toSuper = false)
|
returnTypeRef = it.returnTypeRef.approximated(approximator, typeParameterSet, toSuper = false)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user