From 67f4ebc022d77cc230d86b27c006a27900f5ad7c Mon Sep 17 00:00:00 2001 From: Ilya Kirillov Date: Wed, 30 Aug 2023 14:46:41 +0200 Subject: [PATCH] [Analysis API Standalone] simplify adding multiple binary roots for `KtBinaryModuleBuilder` ^KT-60884 --- .../project/structure/builder/KtBinaryModuleBuilder.kt | 10 +++++++++- .../analysis/project/structure/impl/KtModuleUtils.kt | 6 +++--- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/analysis/analysis-api-standalone/src/org/jetbrains/kotlin/analysis/project/structure/builder/KtBinaryModuleBuilder.kt b/analysis/analysis-api-standalone/src/org/jetbrains/kotlin/analysis/project/structure/builder/KtBinaryModuleBuilder.kt index 6bbd12145cd..c99460575b4 100644 --- a/analysis/analysis-api-standalone/src/org/jetbrains/kotlin/analysis/project/structure/builder/KtBinaryModuleBuilder.kt +++ b/analysis/analysis-api-standalone/src/org/jetbrains/kotlin/analysis/project/structure/builder/KtBinaryModuleBuilder.kt @@ -9,5 +9,13 @@ import java.nio.file.Path @KtModuleBuilderDsl public abstract class KtBinaryModuleBuilder : KtModuleBuilder() { - public lateinit var binaryRoots: Collection + protected val binaryRoots: MutableList = mutableListOf() + + public fun addBinaryRoot(root: Path) { + binaryRoots.add(root) + } + + public fun addBinaryRoots(roots: Collection) { + binaryRoots.addAll(roots) + } } \ No newline at end of file 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 fbeb387c555..95a3a4884e4 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 @@ -151,7 +151,7 @@ internal fun buildKtModuleProviderByCompilerConfiguration( compilerConfig: CompilerConfiguration, ktFiles: List, ): KtStaticProjectStructureProvider = buildProjectStructureProvider(kotlinCoreProjectEnvironment) { - val (scriptFiles, ordinaryFiles) = ktFiles.partition { it.isScript() } + val (scriptFiles, _) = ktFiles.partition { it.isScript() } val platform = JvmPlatforms.defaultJvmPlatform fun KtModuleBuilder.addModuleDependencies(moduleName: String) { @@ -159,7 +159,7 @@ internal fun buildKtModuleProviderByCompilerConfiguration( addRegularDependency( buildKtLibraryModule { this.platform = platform - binaryRoots = libraryRoots.map { it.toPath() } + addBinaryRoots(libraryRoots.map { it.toPath() }) libraryName = "Library for $moduleName" } ) @@ -171,7 +171,7 @@ internal fun buildKtModuleProviderByCompilerConfiguration( addRegularDependency( buildKtSdkModule { this.platform = platform - this.binaryRoots = binaryRoots + addBinaryRoots(binaryRoots) sdkName = "JDK for $moduleName" } )