FIR deserializer: load type-parameters for kotlin function properly
This commit is contained in:
committed by
Mikhail Glukhikh
parent
9bbf5bebd2
commit
2e966a7ded
+2
-1
@@ -12,6 +12,7 @@ import org.jetbrains.kotlin.fir.declarations.FirNamedFunction
|
|||||||
import org.jetbrains.kotlin.fir.declarations.FirValueParameter
|
import org.jetbrains.kotlin.fir.declarations.FirValueParameter
|
||||||
import org.jetbrains.kotlin.fir.declarations.impl.*
|
import org.jetbrains.kotlin.fir.declarations.impl.*
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||||
|
import org.jetbrains.kotlin.fir.resolve.transformers.firUnsafe
|
||||||
import org.jetbrains.kotlin.fir.symbols.CallableId
|
import org.jetbrains.kotlin.fir.symbols.CallableId
|
||||||
import org.jetbrains.kotlin.fir.symbols.impl.FirFunctionSymbol
|
import org.jetbrains.kotlin.fir.symbols.impl.FirFunctionSymbol
|
||||||
import org.jetbrains.kotlin.fir.symbols.impl.FirTypeParameterSymbol
|
import org.jetbrains.kotlin.fir.symbols.impl.FirTypeParameterSymbol
|
||||||
@@ -153,7 +154,7 @@ class FirMemberDeserializer(private val c: FirDeserializationContext) {
|
|||||||
proto.receiverType(c.typeTable)?.let(local.typeDeserializer::type)?.toTypeRef(),
|
proto.receiverType(c.typeTable)?.let(local.typeDeserializer::type)?.toTypeRef(),
|
||||||
local.typeDeserializer.type(proto.returnType(c.typeTable)).toTypeRef()
|
local.typeDeserializer.type(proto.returnType(c.typeTable)).toTypeRef()
|
||||||
).apply {
|
).apply {
|
||||||
typeParameters += local.typeDeserializer.ownTypeParameters.map { createTypeParameterSymbol(it.name).fir }
|
typeParameters += local.typeDeserializer.ownTypeParameters.map { it.firUnsafe() }
|
||||||
valueParameters += local.memberDeserializer.valueParameters(proto.valueParameterList)
|
valueParameters += local.memberDeserializer.valueParameters(proto.valueParameterList)
|
||||||
annotations += getAnnotations(proto, flags, AnnotatedCallableKind.FUNCTION)
|
annotations += getAnnotations(proto, flags, AnnotatedCallableKind.FUNCTION)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user