[FIR] introduce FirValueParameter.containingFunctionSymbol

^KT-55034 fixed
This commit is contained in:
Ilya Kirillov
2022-07-20 16:01:48 +02:00
parent c8e3103af9
commit 7781ad67d4
39 changed files with 175 additions and 76 deletions
@@ -62,8 +62,14 @@ fun newSimpleTypeParameter(firSession: FirSession, containingDeclarationSymbol:
addDefaultBoundIfNecessary()
}
fun newSimpleValueParameter(firSession: FirSession, typeRef: FirResolvedTypeRef, name: Name) = buildValueParameter {
fun newSimpleValueParameter(
firSession: FirSession,
typeRef: FirResolvedTypeRef,
functionSymbol: FirFunctionSymbol<*>,
name: Name
) = buildValueParameter {
moduleData = firSession.moduleData
this.containingFunctionSymbol = functionSymbol
origin = SerializationPluginKey.origin
this.name = name
this.symbol = FirValueParameterSymbol(this.name)
@@ -208,6 +208,7 @@ class SerializationFirResolveExtension(session: FirSession) : FirDeclarationGene
newSimpleValueParameter(
session,
kSerializerId.constructClassLikeType(arrayOf(parametersAsArguments[i]), false).toFirResolvedTypeRef(),
symbol,
Name.identifier("${SerialEntityNames.typeArgPrefix}$i")
)
})
@@ -280,6 +281,7 @@ class SerializationFirResolveExtension(session: FirSession) : FirDeclarationGene
newSimpleValueParameter(
session,
kSerializerId.constructClassLikeType(arrayOf(typeParam.toConeType()), false).toFirResolvedTypeRef(),
symbol,
Name.identifier("${SerialEntityNames.typeArgPrefix}$i")
)
})