[Analysis API Standalone] reuse existing local file system in getPsiFilesFromPaths
^KT-60884
This commit is contained in:
committed by
Space Team
parent
e6bd34b671
commit
52e9167675
+1
-2
@@ -85,11 +85,10 @@ public class StandaloneAnalysisAPISessionBuilder(
|
|||||||
public fun buildKtModuleProviderByCompilerConfiguration(
|
public fun buildKtModuleProviderByCompilerConfiguration(
|
||||||
compilerConfiguration: CompilerConfiguration,
|
compilerConfiguration: CompilerConfiguration,
|
||||||
) {
|
) {
|
||||||
val project = kotlinCoreProjectEnvironment.project
|
|
||||||
projectStructureProvider = buildKtModuleProviderByCompilerConfiguration(
|
projectStructureProvider = buildKtModuleProviderByCompilerConfiguration(
|
||||||
kotlinCoreProjectEnvironment,
|
kotlinCoreProjectEnvironment,
|
||||||
compilerConfiguration,
|
compilerConfiguration,
|
||||||
getPsiFilesFromPaths(project, getSourceFilePaths(compilerConfiguration)),
|
getPsiFilesFromPaths(kotlinCoreProjectEnvironment, getSourceFilePaths(compilerConfiguration)),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+4
-6
@@ -7,8 +7,6 @@ package org.jetbrains.kotlin.analysis.project.structure.impl
|
|||||||
|
|
||||||
import com.google.common.io.Files.getFileExtension
|
import com.google.common.io.Files.getFileExtension
|
||||||
import com.intellij.ide.highlighter.JavaFileType
|
import com.intellij.ide.highlighter.JavaFileType
|
||||||
import com.intellij.openapi.project.Project
|
|
||||||
import com.intellij.openapi.vfs.StandardFileSystems
|
|
||||||
import com.intellij.psi.PsiFileSystemItem
|
import com.intellij.psi.PsiFileSystemItem
|
||||||
import com.intellij.psi.PsiManager
|
import com.intellij.psi.PsiManager
|
||||||
import com.intellij.util.io.URLUtil
|
import com.intellij.util.io.URLUtil
|
||||||
@@ -130,11 +128,11 @@ private fun collectSourceFilePaths(
|
|||||||
}
|
}
|
||||||
|
|
||||||
internal inline fun <reified T : PsiFileSystemItem> getPsiFilesFromPaths(
|
internal inline fun <reified T : PsiFileSystemItem> getPsiFilesFromPaths(
|
||||||
project: Project,
|
kotlinCoreProjectEnvironment: KotlinCoreProjectEnvironment,
|
||||||
paths: Collection<Path>,
|
paths: Collection<Path>,
|
||||||
): List<T> {
|
): List<T> {
|
||||||
val fs = StandardFileSystems.local()
|
val fs = kotlinCoreProjectEnvironment.environment.localFileSystem
|
||||||
val psiManager = PsiManager.getInstance(project)
|
val psiManager = PsiManager.getInstance(kotlinCoreProjectEnvironment.project)
|
||||||
return buildList {
|
return buildList {
|
||||||
for (path in paths) {
|
for (path in paths) {
|
||||||
val vFile = fs.findFileByPath(path.toString()) ?: continue
|
val vFile = fs.findFileByPath(path.toString()) ?: continue
|
||||||
@@ -202,7 +200,7 @@ internal fun buildKtModuleProviderByCompilerConfiguration(
|
|||||||
contentScope = TopDownAnalyzerFacadeForJVM.newModuleSearchScope(kotlinCoreProjectEnvironment.project, ordinaryFiles)
|
contentScope = TopDownAnalyzerFacadeForJVM.newModuleSearchScope(kotlinCoreProjectEnvironment.project, ordinaryFiles)
|
||||||
addSourceRoots(
|
addSourceRoots(
|
||||||
getPsiFilesFromPaths(
|
getPsiFilesFromPaths(
|
||||||
kotlinCoreProjectEnvironment.project,
|
kotlinCoreProjectEnvironment,
|
||||||
getSourceFilePaths(compilerConfig, includeDirectoryRoot = true)
|
getSourceFilePaths(compilerConfig, includeDirectoryRoot = true)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user