[Analysis API Standalone] extract functions for getting GlobalSearchScope by roots to utils

^KT-60884
This commit is contained in:
Ilya Kirillov
2023-08-29 20:19:35 +02:00
committed by Space Team
parent 3f689494ad
commit 97a7c0b6ff
3 changed files with 27 additions and 14 deletions
@@ -56,7 +56,7 @@ abstract class KtModuleByCompilerConfiguration(
private fun createJdkFromConfiguration(): KtSdkModule? = configuration.get(JVMConfigurationKeys.JDK_HOME)?.let { jdkHome ->
val jdkHomePaths = StandaloneProjectFactory.getDefaultJdkModulePaths(project, jdkHome.toPath())
val scope = TestModuleStructureFactory.getScopeForLibraryByRoots(jdkHomePaths, project, testServices)
val scope = TestModuleStructureFactory.getScopeForLibraryByRoots(jdkHomePaths, testServices)
KtJdkModuleImpl(
"jdk",
@@ -146,7 +146,7 @@ private class LibraryByRoot(
override val project: Project,
testServices: TestServices,
) : KtLibraryModule {
override val contentScope: GlobalSearchScope = TestModuleStructureFactory.getScopeForLibraryByRoots(listOf(root), project, testServices)
override val contentScope: GlobalSearchScope = TestModuleStructureFactory.getScopeForLibraryByRoots(listOf(root), testServices)
override val libraryName: String get() = "Test Library $root"
override val directRegularDependencies: List<KtModule> get() = emptyList()
override val directDependsOnDependencies: List<KtModule> get() = emptyList()
@@ -9,7 +9,6 @@ import com.intellij.openapi.project.Project
import com.intellij.psi.PsiFile
import com.intellij.psi.PsiManager
import com.intellij.psi.search.GlobalSearchScope
import org.jetbrains.kotlin.analysis.api.impl.base.util.LibraryUtils
import org.jetbrains.kotlin.analysis.api.standalone.base.project.structure.KtModuleProjectStructure
import org.jetbrains.kotlin.analysis.api.standalone.base.project.structure.KtModuleWithFiles
import org.jetbrains.kotlin.analysis.api.standalone.base.project.structure.StandaloneProjectFactory
@@ -131,7 +130,7 @@ object TestModuleStructureFactory {
return KtLibraryModuleImpl(
libraryName,
JvmPlatforms.defaultJvmPlatform,
getScopeForLibraryByRoots(listOf(jar), project, testServices),
getScopeForLibraryByRoots(listOf(jar), testServices),
project,
listOf(jar),
librarySources = null,
@@ -168,24 +167,17 @@ object TestModuleStructureFactory {
return KtJdkModuleImpl(
"jdk",
JvmPlatforms.defaultJvmPlatform,
getScopeForLibraryByRoots(jdkSourceRoots, project, testServices),
getScopeForLibraryByRoots(jdkSourceRoots, testServices),
project,
jdkSourceRoots
)
}
fun getScopeForLibraryByRoots(roots: Collection<Path>, project: Project, testServices: TestServices): GlobalSearchScope {
val virtualFileRoots = StandaloneProjectFactory.getVirtualFilesForLibraryRoots(
fun getScopeForLibraryByRoots(roots: Collection<Path>, testServices: TestServices): GlobalSearchScope {
return StandaloneProjectFactory.createSearchScopeByLibraryRoots(
roots,
testServices.environmentManager.getProjectEnvironment()
)
return GlobalSearchScope.filesScope(
project,
buildList {
addAll(virtualFileRoots)
virtualFileRoots.flatMapTo(this) { LibraryUtils.getAllVirtualFilesFromRoot(it, includeRoot = true) }
}
)
}
fun createSourcePsiFiles(