FIR: cache functional type symbols in type resolver
This commit is contained in:
+6
-1
@@ -161,8 +161,13 @@ class FirTypeResolverImpl(private val session: FirSession) : FirTypeResolver() {
|
|||||||
StandardNames.getFunctionClassId(typeRef.parametersCount)
|
StandardNames.getFunctionClassId(typeRef.parametersCount)
|
||||||
}
|
}
|
||||||
val attributes = typeRef.annotations.computeTypeAttributes()
|
val attributes = typeRef.annotations.computeTypeAttributes()
|
||||||
|
val symbol = resolveBuiltInQualified(classId, session)
|
||||||
return ConeClassLikeTypeImpl(
|
return ConeClassLikeTypeImpl(
|
||||||
resolveBuiltInQualified(classId, session).toLookupTag(),
|
symbol.toLookupTag().also {
|
||||||
|
if (it is ConeClassLikeLookupTagImpl) {
|
||||||
|
it.bindSymbolToLookupTag(session, symbol)
|
||||||
|
}
|
||||||
|
},
|
||||||
parameters.toTypedArray(),
|
parameters.toTypedArray(),
|
||||||
typeRef.isMarkedNullable,
|
typeRef.isMarkedNullable,
|
||||||
attributes
|
attributes
|
||||||
|
|||||||
Reference in New Issue
Block a user