FIR call resolve: make earlier qualifier resolver reset
This commit is contained in:
@@ -33,9 +33,7 @@ import org.jetbrains.kotlin.fir.resolve.transformers.phasedFir
|
||||
import org.jetbrains.kotlin.fir.scopes.FirScope
|
||||
import org.jetbrains.kotlin.fir.scopes.ProcessorAction
|
||||
import org.jetbrains.kotlin.fir.scopes.impl.FirLocalScope
|
||||
import org.jetbrains.kotlin.fir.symbols.StandardClassIds
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.*
|
||||
import org.jetbrains.kotlin.fir.symbols.invoke
|
||||
import org.jetbrains.kotlin.fir.types.*
|
||||
import org.jetbrains.kotlin.fir.types.impl.FirResolvedTypeRefImpl
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
@@ -203,6 +201,11 @@ class FirCallResolver(
|
||||
is FirNamedReferenceWithCandidate -> nameReference.candidateSymbol
|
||||
else -> null
|
||||
}
|
||||
|
||||
if (qualifiedAccess.explicitReceiver == null) {
|
||||
qualifiedResolver.reset()
|
||||
}
|
||||
|
||||
when {
|
||||
referencedSymbol is FirClassLikeSymbol<*> -> {
|
||||
val classId = referencedSymbol.classId
|
||||
@@ -222,9 +225,6 @@ class FirCallResolver(
|
||||
resultType = typeForReifiedParameterReference(this)
|
||||
}
|
||||
}
|
||||
qualifiedAccess.explicitReceiver == null -> {
|
||||
qualifiedResolver.reset()
|
||||
}
|
||||
}
|
||||
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
|
||||
@@ -7,7 +7,7 @@ val ss = System
|
||||
val sss = X
|
||||
val x = "${System}"
|
||||
val xs = java.lang
|
||||
val xss = java.<!UNRESOLVED_REFERENCE!>lang<!>.<!UNRESOLVED_REFERENCE!>System<!>
|
||||
val xss = java.lang.System
|
||||
val xsss = foo.X
|
||||
val xssss = foo
|
||||
val f = { System }
|
||||
|
||||
Reference in New Issue
Block a user