From 2a7aa2f2406f9d22ae6220c0e206540fb9929eb4 Mon Sep 17 00:00:00 2001 From: Simon Ogorodnik Date: Fri, 11 Feb 2022 23:05:42 +0300 Subject: [PATCH] FirTypeResolver. Prohibit resolving FirResolvedTypeRef --- .../kotlin/fir/resolve/providers/impl/FirTypeResolverImpl.kt | 2 +- .../kotlin/fir/resolve/transformers/FirSupertypesResolution.kt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/providers/impl/FirTypeResolverImpl.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/providers/impl/FirTypeResolverImpl.kt index faf33dcf0c7..7ddbb7741fd 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/providers/impl/FirTypeResolverImpl.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/providers/impl/FirTypeResolverImpl.kt @@ -471,7 +471,7 @@ class FirTypeResolverImpl(private val session: FirSession) : FirTypeResolver() { supertypeSupplier: SupertypeSupplier ): Pair { return when (typeRef) { - is FirResolvedTypeRef -> typeRef.type to null + is FirResolvedTypeRef -> error("Do not resolve, resolved type-refs") is FirUserTypeRef -> { val (symbol, substitutor, diagnostic) = resolveToSymbol(typeRef, scopeClassDeclaration, useSiteFile, supertypeSupplier) resolveUserType( diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirSupertypesResolution.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirSupertypesResolution.kt index 9182805850a..3d4eee14d19 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirSupertypesResolution.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirSupertypesResolution.kt @@ -401,7 +401,7 @@ open class FirSupertypeResolverVisitor( So we create a copy of supertypeRefs to avoid it */ supertypeRefs.createCopy().mapTo(mutableListOf()) { - val superTypeRef = transformer.transformTypeRef(it, scopeDeclaration) + val superTypeRef = it.transform(transformer, scopeDeclaration) val typeParameterType = superTypeRef.coneTypeSafe() when { typeParameterType != null ->