From 583e07b3e49dbda3898e1d2c39657251b29424d8 Mon Sep 17 00:00:00 2001 From: Dmitriy Novozhilov Date: Fri, 6 Dec 2019 12:46:27 +0300 Subject: [PATCH] [FIR] Don't analyze properties twice --- .../body/resolve/FirDeclarationsResolveTransformer.kt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirDeclarationsResolveTransformer.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirDeclarationsResolveTransformer.kt index 36f3aecc046..eb830a1f1c7 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirDeclarationsResolveTransformer.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirDeclarationsResolveTransformer.kt @@ -87,6 +87,10 @@ class FirDeclarationsResolveTransformer(transformer: FirBodyResolveTransformer) val returnTypeRef = property.returnTypeRef if (returnTypeRef !is FirImplicitTypeRef && implicitTypeOnly) return@withScopeCleanup property.compose() if (property.resolvePhase == transformerPhase) return@withScopeCleanup property.compose() + if (property.resolvePhase == FirResolvePhase.IMPLICIT_TYPES_BODY_RESOLVE && transformerPhase == FirResolvePhase.BODY_RESOLVE) { + property.replaceResolvePhase(transformerPhase) + return@withScopeCleanup property.compose() + } dataFlowAnalyzer.enterProperty(property) if (returnTypeRef is FirImplicitTypeRef) { property.transformReturnTypeRef(StoreType, FirComputingImplicitTypeRef)