From e81c2c5c6d6ba540ee8a4a76d4e8fcb710b65da8 Mon Sep 17 00:00:00 2001 From: Mikhail Glukhikh Date: Wed, 29 Apr 2020 13:14:38 +0300 Subject: [PATCH] FirStatusResolveTransformer: don't enter property accessor bodies --- .../FirStatusResolveTransformer.kt | 31 +++++++++++-------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirStatusResolveTransformer.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirStatusResolveTransformer.kt index c3c72f8ff72..6ae53209496 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirStatusResolveTransformer.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirStatusResolveTransformer.kt @@ -66,22 +66,27 @@ private class FirStatusResolveTransformer( override fun transformDeclaration(declaration: FirDeclaration, data: FirDeclarationStatus?): CompositeTransformResult { declaration.replaceResolvePhase(transformerPhase) - return if (declaration is FirCallableDeclaration<*>) { - when (declaration) { - is FirProperty -> { - declaration.getter?.let { transformPropertyAccessor(it, data) } - declaration.setter?.let { transformPropertyAccessor(it, data) } - } - is FirFunction<*> -> { - // Should we do it here? - for (valueParameter in declaration.valueParameters) { - transformValueParameter(valueParameter, data) + return when (declaration) { + is FirCallableDeclaration<*> -> { + when (declaration) { + is FirProperty -> { + declaration.getter?.let { transformPropertyAccessor(it, data) } + declaration.setter?.let { transformPropertyAccessor(it, data) } + } + is FirFunction<*> -> { + for (valueParameter in declaration.valueParameters) { + transformValueParameter(valueParameter, data) + } } } + declaration.compose() + } + is FirPropertyAccessor -> { + declaration.compose() + } + else -> { + transformElement(declaration, data) } - declaration.compose() - } else { - transformElement(declaration, data) } }