From 1d32cab11dd02b2275601ca1db7ee68767c23b9b Mon Sep 17 00:00:00 2001 From: Dmitriy Novozhilov Date: Fri, 29 May 2020 17:14:28 +0300 Subject: [PATCH] Revert "[FIR] Don't save original user type in FirResolvedTypeRef" Also fix `FirGeneratedElementsValidator` so it doesn't check `FirResolvedTypeRef.delegatedTypeRef` --- .../kotlin/fir/declarations/GeneratedDeclarationValidation.kt | 4 ++++ .../transformers/FirSpecificTypeResolverTransformer.kt | 4 +--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/declarations/GeneratedDeclarationValidation.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/declarations/GeneratedDeclarationValidation.kt index 821a8f70f92..a4164e9f398 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/declarations/GeneratedDeclarationValidation.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/declarations/GeneratedDeclarationValidation.kt @@ -53,6 +53,10 @@ object FirGeneratedElementsValidator : FirDefaultVisitorVoid() { typeRef.acceptChildren(this) } + override fun visitResolvedTypeRef(resolvedTypeRef: FirResolvedTypeRef) { + resolvedTypeRef.annotations.forEach { it.accept(this) } + } + override fun visitDeclarationStatus(declarationStatus: FirDeclarationStatus) { require(declarationStatus is FirResolvedDeclarationStatus) } diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirSpecificTypeResolverTransformer.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirSpecificTypeResolverTransformer.kt index 3980941fcf5..085c4103781 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirSpecificTypeResolverTransformer.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirSpecificTypeResolverTransformer.kt @@ -47,9 +47,7 @@ class FirSpecificTypeResolverTransformer( source = typeRef.source type = resolvedType.takeIfAcceptable() ?: return typeRef.compose() annotations += typeRef.annotations - if (typeRef !is FirUserTypeRef) { - delegatedTypeRef = typeRef - } + delegatedTypeRef = typeRef }.compose() }