[FIR] Replace inheritance with delegation for FirProvider and FirSymbolProvider

This commit is contained in:
Dmitriy Novozhilov
2020-08-11 17:22:01 +03:00
parent ad9e41b828
commit d5bb87cd1f
7 changed files with 67 additions and 57 deletions
@@ -43,12 +43,12 @@ class FirJavaElementFinder(
private val firProvider = session.firProvider
override fun findPackage(qualifiedName: String): PsiPackage? {
if (firProvider.getClassNamesInPackage(FqName(qualifiedName)).isEmpty()) return null
if (firProvider.symbolProvider.getClassNamesInPackage(FqName(qualifiedName)).isEmpty()) return null
return PsiPackageImpl(psiManager, qualifiedName)
}
override fun getClasses(psiPackage: PsiPackage, scope: GlobalSearchScope): Array<PsiClass> {
return firProvider
return firProvider.symbolProvider
.getClassNamesInPackage(FqName(psiPackage.qualifiedName))
.mapNotNull { findClass(psiPackage.qualifiedName + "." + it.identifier, scope) }
.toTypedArray()
@@ -49,7 +49,7 @@ class FirJavaModuleBasedSession private constructor(
FirSymbolProvider::class,
FirCompositeSymbolProvider(
listOf(
firProvider,
firProvider.symbolProvider,
JavaSymbolProvider(this, sessionProvider.project, scope),
dependenciesProvider ?: FirDependenciesSymbolProviderImpl(this)
)