FIR resolve (minor): provide source element for resolved qualifier

This commit is contained in:
Mikhail Glukhikh
2019-12-02 16:50:34 +03:00
parent 8808c775a4
commit 74a7a8c881
2 changed files with 3 additions and 3 deletions
@@ -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) {
@@ -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) }