Add possibility to use ModuleLibrariesSearchScope in other modules

The type is made private to avoid direct usage of it
This commit is contained in:
Roman Golyshev
2021-04-20 17:42:55 +05:00
committed by Space
parent 598501aaf0
commit e50d643213
2 changed files with 6 additions and 4 deletions
@@ -44,8 +44,8 @@ import org.jetbrains.kotlin.idea.fir.low.level.api.providers.FirIdeLibrariesSess
import org.jetbrains.kotlin.idea.fir.low.level.api.providers.FirIdeProvider
import org.jetbrains.kotlin.idea.fir.low.level.api.providers.FirModuleWithDependenciesSymbolProvider
import org.jetbrains.kotlin.idea.fir.low.level.api.providers.FirThreadSafeSymbolProviderWrapper
import org.jetbrains.kotlin.idea.fir.low.level.api.util.ModuleLibrariesSearchScope
import org.jetbrains.kotlin.idea.fir.low.level.api.util.checkCanceled
import org.jetbrains.kotlin.idea.fir.low.level.api.util.createScopeForModuleLibraries
import org.jetbrains.kotlin.idea.project.languageVersionSettings
import org.jetbrains.kotlin.load.java.JavaClassFinderImpl
import org.jetbrains.kotlin.load.kotlin.VirtualFileFinderFactory
@@ -161,7 +161,7 @@ internal object FirIdeSessionFactory {
configureSession: (FirIdeSession.() -> Unit)?,
): FirIdeLibrariesSession = librariesCache.cached(moduleInfo) {
checkCanceled()
val searchScope = ModuleLibrariesSearchScope(moduleInfo.module)
val searchScope = createScopeForModuleLibraries(moduleInfo.module)
val javaClassFinder = JavaClassFinderImpl().apply {
setProjectInstance(project)
setScope(searchScope)
@@ -13,7 +13,7 @@ import com.intellij.openapi.util.Comparing
import com.intellij.openapi.vfs.VirtualFile
import com.intellij.psi.search.GlobalSearchScope
internal class ModuleLibrariesSearchScope(private val module: Module) : GlobalSearchScope(module.project) {
private class ModuleLibrariesSearchScope(private val module: Module) : GlobalSearchScope(module.project) {
override fun contains(file: VirtualFile): Boolean {
val orderEntry = ModuleRootManager.getInstance(module).fileIndex.getOrderEntryForFile(file)
return orderEntry is JdkOrderEntry || orderEntry is LibraryOrderEntry
@@ -27,4 +27,6 @@ internal class ModuleLibrariesSearchScope(private val module: Module) : GlobalSe
override fun isSearchInModuleContent(aModule: Module): Boolean = false
override fun isSearchInLibraries(): Boolean = true
}
}
fun createScopeForModuleLibraries(module: Module): GlobalSearchScope = ModuleLibrariesSearchScope(module)