From 52e9167675cf2dca874706d08bd6c7b1925cc25c Mon Sep 17 00:00:00 2001 From: Ilya Kirillov Date: Tue, 29 Aug 2023 20:51:33 +0200 Subject: [PATCH] [Analysis API Standalone] reuse existing local file system in `getPsiFilesFromPaths` ^KT-60884 --- .../standalone/StandaloneAnalysisAPISessionBuilder.kt | 3 +-- .../analysis/project/structure/impl/KtModuleUtils.kt | 10 ++++------ 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/analysis/analysis-api-standalone/src/org/jetbrains/kotlin/analysis/api/standalone/StandaloneAnalysisAPISessionBuilder.kt b/analysis/analysis-api-standalone/src/org/jetbrains/kotlin/analysis/api/standalone/StandaloneAnalysisAPISessionBuilder.kt index 9bbc35e7bf9..4f6be1a197e 100644 --- a/analysis/analysis-api-standalone/src/org/jetbrains/kotlin/analysis/api/standalone/StandaloneAnalysisAPISessionBuilder.kt +++ b/analysis/analysis-api-standalone/src/org/jetbrains/kotlin/analysis/api/standalone/StandaloneAnalysisAPISessionBuilder.kt @@ -85,11 +85,10 @@ public class StandaloneAnalysisAPISessionBuilder( public fun buildKtModuleProviderByCompilerConfiguration( compilerConfiguration: CompilerConfiguration, ) { - val project = kotlinCoreProjectEnvironment.project projectStructureProvider = buildKtModuleProviderByCompilerConfiguration( kotlinCoreProjectEnvironment, compilerConfiguration, - getPsiFilesFromPaths(project, getSourceFilePaths(compilerConfiguration)), + getPsiFilesFromPaths(kotlinCoreProjectEnvironment, getSourceFilePaths(compilerConfiguration)), ) } diff --git a/analysis/analysis-api-standalone/src/org/jetbrains/kotlin/analysis/project/structure/impl/KtModuleUtils.kt b/analysis/analysis-api-standalone/src/org/jetbrains/kotlin/analysis/project/structure/impl/KtModuleUtils.kt index bce9263d7a3..fbeb387c555 100644 --- a/analysis/analysis-api-standalone/src/org/jetbrains/kotlin/analysis/project/structure/impl/KtModuleUtils.kt +++ b/analysis/analysis-api-standalone/src/org/jetbrains/kotlin/analysis/project/structure/impl/KtModuleUtils.kt @@ -7,8 +7,6 @@ package org.jetbrains.kotlin.analysis.project.structure.impl import com.google.common.io.Files.getFileExtension 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.PsiManager import com.intellij.util.io.URLUtil @@ -130,11 +128,11 @@ private fun collectSourceFilePaths( } internal inline fun getPsiFilesFromPaths( - project: Project, + kotlinCoreProjectEnvironment: KotlinCoreProjectEnvironment, paths: Collection, ): List { - val fs = StandardFileSystems.local() - val psiManager = PsiManager.getInstance(project) + val fs = kotlinCoreProjectEnvironment.environment.localFileSystem + val psiManager = PsiManager.getInstance(kotlinCoreProjectEnvironment.project) return buildList { for (path in paths) { val vFile = fs.findFileByPath(path.toString()) ?: continue @@ -202,7 +200,7 @@ internal fun buildKtModuleProviderByCompilerConfiguration( contentScope = TopDownAnalyzerFacadeForJVM.newModuleSearchScope(kotlinCoreProjectEnvironment.project, ordinaryFiles) addSourceRoots( getPsiFilesFromPaths( - kotlinCoreProjectEnvironment.project, + kotlinCoreProjectEnvironment, getSourceFilePaths(compilerConfig, includeDirectoryRoot = true) ) )