fixup! WIP speculative access optimization with "simple name -> class ID" index
diff --git a/compiler/fir/providers/src/org/jetbrains/kotlin/fir/scopes/impl/FirPackageMemberScope.kt b/compiler/fir/providers/src/org/jetbrains/kotlin/fir/scopes/impl/FirPackageMemberScope.kt
index 00d674a..ef9f66e 100644
--- a/compiler/fir/providers/src/org/jetbrains/kotlin/fir/scopes/impl/FirPackageMemberScope.kt
+++ b/compiler/fir/providers/src/org/jetbrains/kotlin/fir/scopes/impl/FirPackageMemberScope.kt
@@ -41,8 +41,14 @@
if (name in excludedNames) return
val symbol = classifierCache.getOrPut(name) {
- val unambiguousFqName = ClassId(fqName, name)
- symbolProvider.getClassLikeSymbolByClassId(unambiguousFqName)
+ val unambiguousClassId = ClassId(fqName, name)
+
+ val possibleClassIds = symbolProvider.symbolNamesProvider.getTopLevelClassIdsByShortName(name)
+ if (possibleClassIds != null && unambiguousClassId !in possibleClassIds) {
+ return@getOrPut null
+ }
+
+ symbolProvider.getClassLikeSymbolByClassId(unambiguousClassId)
}
if (symbol != null) {