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 c232ec8f1f4..75d2dfb86b2 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/FirCallResolver.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/FirCallResolver.kt @@ -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") diff --git a/compiler/testData/diagnostics/tests/PackageInExpressionPosition.fir.kt b/compiler/testData/diagnostics/tests/PackageInExpressionPosition.fir.kt index 81208da3b4f..9813fcd7181 100644 --- a/compiler/testData/diagnostics/tests/PackageInExpressionPosition.fir.kt +++ b/compiler/testData/diagnostics/tests/PackageInExpressionPosition.fir.kt @@ -7,7 +7,7 @@ val ss = System val sss = X val x = "${System}" val xs = java.lang -val xss = java.lang.System +val xss = java.lang.System val xsss = foo.X val xssss = foo val f = { System }