From 74a7a8c8816fe610941eb888e2572daee058fe64 Mon Sep 17 00:00:00 2001 From: Mikhail Glukhikh Date: Mon, 2 Dec 2019 16:50:34 +0300 Subject: [PATCH] FIR resolve (minor): provide source element for resolved qualifier --- .../resolve/src/org/jetbrains/kotlin/fir/FirCallResolver.kt | 2 +- .../src/org/jetbrains/kotlin/fir/FirQualifiedNameResolver.kt | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/FirCallResolver.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/FirCallResolver.kt index f9d38e74719..fe6319c95a9 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/FirCallResolver.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/FirCallResolver.kt @@ -185,7 +185,7 @@ class FirCallResolver( if (qualifiedAccess.explicitReceiver == null && (reducedCandidates.size <= 1 && result.currentApplicability < CandidateApplicability.SYNTHETIC_RESOLVED) ) { - qualifiedResolver.tryResolveAsQualifier()?.let { return it } + qualifiedResolver.tryResolveAsQualifier(qualifiedAccess.source)?.let { return it } } val referencedSymbol = when (nameReference) { diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/FirQualifiedNameResolver.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/FirQualifiedNameResolver.kt index 915de8bb1c8..21e8a2b815e 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/FirQualifiedNameResolver.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/FirQualifiedNameResolver.kt @@ -43,7 +43,7 @@ class FirQualifiedNameResolver(components: BodyResolveComponents) : BodyResolveC null } - fun tryResolveAsQualifier(): FirResolvedQualifier? { + fun tryResolveAsQualifier(source: FirSourceElement?): FirResolvedQualifier? { val symbolProvider = session.firSymbolProvider var qualifierParts = qualifierStack.asReversed().map { it.asString() } var resolved: PackageOrClass? @@ -59,7 +59,7 @@ class FirQualifiedNameResolver(components: BodyResolveComponents) : BodyResolveC if (resolved != null) { qualifierPartsToDrop = qualifierParts.size - 1 return FirResolvedQualifierImpl( - null /* TODO */, + source, resolved.packageFqName, resolved.relativeClassFqName ).apply { resultType = typeForQualifier(this) }