From edb496f260b750dd76e40be9f349bb7efd7048ac Mon Sep 17 00:00:00 2001 From: Dmitrii Gridin Date: Wed, 6 Dec 2023 15:04:41 +0100 Subject: [PATCH] [FIR] BodyResolveContext: withFile should add container as well This container will be used during an annotation call owner search ^KT-63042 --- .../fir/resolve/transformers/body/resolve/BodyResolveContext.kt | 2 +- .../body/resolve/FirDeclarationsResolveTransformer.kt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/BodyResolveContext.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/BodyResolveContext.kt index b20b8744c14..ea675a55846 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/BodyResolveContext.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/BodyResolveContext.kt @@ -402,7 +402,7 @@ class BodyResolveContext( val importingScopes = createImportingScopes(file, holder.session, holder.scopeSession) fileImportsScope += importingScopes addNonLocalTowerDataElements(importingScopes.map { it.asTowerDataElement(isLocal = false) }) - f() + withContainer(file, f) } } } 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 7bb3fd26832..ecaeeb0d99a 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 @@ -805,7 +805,7 @@ open class FirDeclarationsResolveTransformer( doTransformTypeParameters(simpleFunction) } - if (containingDeclaration != null && containingDeclaration !is FirClass && (containingDeclaration !is FirScript || simpleFunction.isLocal)) { + if (containingDeclaration != null && containingDeclaration !is FirClass && containingDeclaration !is FirFile && (containingDeclaration !is FirScript || simpleFunction.isLocal)) { // For class members everything should be already prepared prepareSignatureForBodyResolve(simpleFunction) simpleFunction.transformStatus(this, simpleFunction.resolveStatus().mode())