From 51560f2f172bf5f4cc2982eff526db794fbd4549 Mon Sep 17 00:00:00 2001 From: Dmitriy Novozhilov Date: Tue, 10 Dec 2019 11:54:16 +0300 Subject: [PATCH] [FIR] Fix order of resolving children of FirProperty --- .../body/resolve/FirDeclarationsResolveTransformer.kt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) 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 355bb2e9894..ac631c9d399 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 @@ -21,8 +21,6 @@ import org.jetbrains.kotlin.fir.resolve.calls.extractLambdaInfoFromFunctionalTyp import org.jetbrains.kotlin.fir.resolve.substitution.ConeSubstitutor import org.jetbrains.kotlin.fir.resolve.transformers.* import org.jetbrains.kotlin.fir.resolve.transformers.FirStatusResolveTransformer.Companion.resolveStatus -import org.jetbrains.kotlin.fir.resolve.transformers.StoreType -import org.jetbrains.kotlin.fir.resolve.transformers.transformVarargTypeToArrayType import org.jetbrains.kotlin.fir.resolvedTypeFromPrototype import org.jetbrains.kotlin.fir.scopes.impl.FirLocalScope import org.jetbrains.kotlin.fir.scopes.impl.FirMemberTypeParameterScope @@ -126,8 +124,8 @@ class FirDeclarationsResolveTransformer(transformer: FirBodyResolveTransformer) private fun transformLocalVariable(variable: FirProperty): CompositeTransformResult { assert(variable.isLocal) val resolutionMode = withExpectedType(variable.returnTypeRef) - variable.transformOtherChildren(transformer, resolutionMode) - .transformInitializer(transformer, resolutionMode) + variable.transformInitializer(transformer, resolutionMode) + .transformOtherChildren(transformer, resolutionMode) .transformInitializer(integerLiteralTypeApproximator, null) if (variable.initializer != null) { storeVariableReturnType(variable) @@ -141,7 +139,9 @@ class FirDeclarationsResolveTransformer(transformer: FirBodyResolveTransformer) private fun FirProperty.transformChildrenWithoutAccessors(returnTypeRef: FirTypeRef): FirProperty { val data = withExpectedType(returnTypeRef) - return transformInitializer(transformer, data).transformOtherChildren(transformer, data) + return transformReturnTypeRef(transformer, data) + .transformInitializer(transformer, data) + .transformOtherChildren(transformer, data) } private fun > FirVariable.transformAccessors() {