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) {