[FIR] Get rid of FirSymbolProvider.getClassNamesInPackage

There was one non-removable usage of those function in FirJavaElementFinder
  and three non-trivial implementation
- `FirProvider.SymbolProvider`
- `KotlinDeserializedJvmSymbolsProvider`
- `FirBuiltinSymbolProvider`

First implementation was moved to `FirProvider` and other two was
  deleted, because in FirJavaElementFinder we need lookup only in
  classes from source code, so such methods in library providers are
  useless

#KT-41048
This commit is contained in:
Dmitriy Novozhilov
2020-08-13 13:44:37 +03:00
parent b31f80aee3
commit d7cfb2fb13
10 changed files with 20 additions and 34 deletions
@@ -43,13 +43,12 @@ class FirJavaElementFinder(
private val firProvider = session.firProvider
override fun findPackage(qualifiedName: String): PsiPackage? {
if (firProvider.symbolProvider.getClassNamesInPackage(FqName(qualifiedName)).isEmpty()) return null
if (firProvider.symbolProvider.getPackage(FqName(qualifiedName)) == null) return null
return PsiPackageImpl(psiManager, qualifiedName)
}
override fun getClasses(psiPackage: PsiPackage, scope: GlobalSearchScope): Array<PsiClass> {
return firProvider.symbolProvider
.getClassNamesInPackage(FqName(psiPackage.qualifiedName))
return firProvider.getClassNamesInPackage(FqName(psiPackage.qualifiedName))
.mapNotNull { findClass(psiPackage.qualifiedName + "." + it.identifier, scope) }
.toTypedArray()
}
@@ -408,11 +408,6 @@ class KotlinDeserializedJvmSymbolsProvider(
}
}
override fun getClassNamesInPackage(fqName: FqName): Set<Name> =
javaClassFinder.findPackage(fqName)
?.getClasses { true }.orEmpty()
.mapTo(sortedSetOf(), JavaClass::name)
private fun findRegularClass(classId: ClassId): FirRegularClass? =
getClassLikeSymbolByFqName(classId)?.fir as? FirRegularClass