Add possibility to use ModuleLibrariesSearchScope in other modules
The type is made private to avoid direct usage of it
This commit is contained in:
+2
-2
@@ -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.FirIdeProvider
|
||||||
import org.jetbrains.kotlin.idea.fir.low.level.api.providers.FirModuleWithDependenciesSymbolProvider
|
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.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.checkCanceled
|
||||||
|
import org.jetbrains.kotlin.idea.fir.low.level.api.util.createScopeForModuleLibraries
|
||||||
import org.jetbrains.kotlin.idea.project.languageVersionSettings
|
import org.jetbrains.kotlin.idea.project.languageVersionSettings
|
||||||
import org.jetbrains.kotlin.load.java.JavaClassFinderImpl
|
import org.jetbrains.kotlin.load.java.JavaClassFinderImpl
|
||||||
import org.jetbrains.kotlin.load.kotlin.VirtualFileFinderFactory
|
import org.jetbrains.kotlin.load.kotlin.VirtualFileFinderFactory
|
||||||
@@ -161,7 +161,7 @@ internal object FirIdeSessionFactory {
|
|||||||
configureSession: (FirIdeSession.() -> Unit)?,
|
configureSession: (FirIdeSession.() -> Unit)?,
|
||||||
): FirIdeLibrariesSession = librariesCache.cached(moduleInfo) {
|
): FirIdeLibrariesSession = librariesCache.cached(moduleInfo) {
|
||||||
checkCanceled()
|
checkCanceled()
|
||||||
val searchScope = ModuleLibrariesSearchScope(moduleInfo.module)
|
val searchScope = createScopeForModuleLibraries(moduleInfo.module)
|
||||||
val javaClassFinder = JavaClassFinderImpl().apply {
|
val javaClassFinder = JavaClassFinderImpl().apply {
|
||||||
setProjectInstance(project)
|
setProjectInstance(project)
|
||||||
setScope(searchScope)
|
setScope(searchScope)
|
||||||
|
|||||||
+4
-2
@@ -13,7 +13,7 @@ import com.intellij.openapi.util.Comparing
|
|||||||
import com.intellij.openapi.vfs.VirtualFile
|
import com.intellij.openapi.vfs.VirtualFile
|
||||||
import com.intellij.psi.search.GlobalSearchScope
|
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 {
|
override fun contains(file: VirtualFile): Boolean {
|
||||||
val orderEntry = ModuleRootManager.getInstance(module).fileIndex.getOrderEntryForFile(file)
|
val orderEntry = ModuleRootManager.getInstance(module).fileIndex.getOrderEntryForFile(file)
|
||||||
return orderEntry is JdkOrderEntry || orderEntry is LibraryOrderEntry
|
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 isSearchInModuleContent(aModule: Module): Boolean = false
|
||||||
|
|
||||||
override fun isSearchInLibraries(): Boolean = true
|
override fun isSearchInLibraries(): Boolean = true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun createScopeForModuleLibraries(module: Module): GlobalSearchScope = ModuleLibrariesSearchScope(module)
|
||||||
Reference in New Issue
Block a user