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 075a8bf2dbb..e678c9bcdcc 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 @@ -100,10 +100,13 @@ class FirDeclarationsResolveTransformer(transformer: FirBodyResolveTransformer) dataFlowAnalyzer.enterProperty(property) withFullBodyResolve { withScopeCleanup(localScopes) { - localScopes.addIfNotNull(primaryConstructorParametersScope) + components.withContainer(property) { - property.transformChildrenWithoutAccessors(returnTypeRef) - property.transformInitializer(integerLiteralTypeApproximator, null) + withScopeCleanup(localScopes) { + localScopes.addIfNotNull(primaryConstructorParametersScope) + property.transformChildrenWithoutAccessors(returnTypeRef) + property.transformInitializer(integerLiteralTypeApproximator, null) + } if (property.initializer != null) { storeVariableReturnType(property) } diff --git a/compiler/testData/diagnostics/tests/PropertyInitializers.fir.kt b/compiler/testData/diagnostics/tests/PropertyInitializers.fir.kt index feecafe9145..08153981e4d 100644 --- a/compiler/testData/diagnostics/tests/PropertyInitializers.fir.kt +++ b/compiler/testData/diagnostics/tests/PropertyInitializers.fir.kt @@ -5,5 +5,5 @@ class Foo(val a: Int, b: Int) { get() = a val e: Int - get() = b + get() = b } \ No newline at end of file diff --git a/compiler/testData/diagnostics/tests/properties/inferenceFromGetters/primaryConstructorParameter.fir.kt b/compiler/testData/diagnostics/tests/properties/inferenceFromGetters/primaryConstructorParameter.fir.kt index 9eb73a466d3..45c62b274d7 100644 --- a/compiler/testData/diagnostics/tests/properties/inferenceFromGetters/primaryConstructorParameter.fir.kt +++ b/compiler/testData/diagnostics/tests/properties/inferenceFromGetters/primaryConstructorParameter.fir.kt @@ -8,16 +8,16 @@ fun delegateFactory(p: Any) = Delegate class C(p: Any, val v: Any) { - val test1 get() = p + val test1 get() = p val test2 get() = v // NB here we can use both 'T' (property type parameter) and 'p' (primary constructor parameter) val List.test3 by delegateFactory(p) - val test4 get() { return p } + val test4 get() { return p } var test5 - get() { return p } - set(nv) { p.let {} } + get() { return p } + set(nv) { p.let {} } } \ No newline at end of file