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 && if (qualifiedAccess.explicitReceiver == null &&
(reducedCandidates.size <= 1 && result.currentApplicability < CandidateApplicability.SYNTHETIC_RESOLVED) (reducedCandidates.size <= 1 && result.currentApplicability < CandidateApplicability.SYNTHETIC_RESOLVED)
) { ) {
qualifiedResolver.tryResolveAsQualifier()?.let { return it } qualifiedResolver.tryResolveAsQualifier(qualifiedAccess.source)?.let { return it }
} }
val referencedSymbol = when (nameReference) { val referencedSymbol = when (nameReference) {
@@ -43,7 +43,7 @@ class FirQualifiedNameResolver(components: BodyResolveComponents) : BodyResolveC
null null
} }
fun tryResolveAsQualifier(): FirResolvedQualifier? { fun tryResolveAsQualifier(source: FirSourceElement?): FirResolvedQualifier? {
val symbolProvider = session.firSymbolProvider val symbolProvider = session.firSymbolProvider
var qualifierParts = qualifierStack.asReversed().map { it.asString() } var qualifierParts = qualifierStack.asReversed().map { it.asString() }
var resolved: PackageOrClass? var resolved: PackageOrClass?
@@ -59,7 +59,7 @@ class FirQualifiedNameResolver(components: BodyResolveComponents) : BodyResolveC
if (resolved != null) { if (resolved != null) {
qualifierPartsToDrop = qualifierParts.size - 1 qualifierPartsToDrop = qualifierParts.size - 1
return FirResolvedQualifierImpl( return FirResolvedQualifierImpl(
null /* TODO */, source,
resolved.packageFqName, resolved.packageFqName,
resolved.relativeClassFqName resolved.relativeClassFqName
).apply { resultType = typeForQualifier(this) } ).apply { resultType = typeForQualifier(this) }