FIR: cache functional type symbols in type resolver

This commit is contained in:
Mikhail Glukhikh
2021-06-03 11:46:11 +03:00
parent 1294c8de53
commit 13d91837be
@@ -161,8 +161,13 @@ class FirTypeResolverImpl(private val session: FirSession) : FirTypeResolver() {
StandardNames.getFunctionClassId(typeRef.parametersCount)
}
val attributes = typeRef.annotations.computeTypeAttributes()
val symbol = resolveBuiltInQualified(classId, session)
return ConeClassLikeTypeImpl(
resolveBuiltInQualified(classId, session).toLookupTag(),
symbol.toLookupTag().also {
if (it is ConeClassLikeLookupTagImpl) {
it.bindSymbolToLookupTag(session, symbol)
}
},
parameters.toTypedArray(),
typeRef.isMarkedNullable,
attributes