From 365d45f49ee68f7f30d791c8c50087be4d32006b Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Wed, 27 May 2015 13:16:40 +0200 Subject: [PATCH] add missing API to retrieve Kotlin source roots from a CompilerConfiguration --- .../kotlin/cli/jvm/compiler/KotlinCoreEnvironment.kt | 4 ++-- .../src/org/jetbrains/kotlin/config/ContentRoots.kt | 6 ++++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/KotlinCoreEnvironment.kt b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/KotlinCoreEnvironment.kt index cee4e2742f7..8169ae7bf8a 100644 --- a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/KotlinCoreEnvironment.kt +++ b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/KotlinCoreEnvironment.kt @@ -69,6 +69,7 @@ import org.jetbrains.kotlin.compiler.plugin.ComponentRegistrar import org.jetbrains.kotlin.config.CommonConfigurationKeys import org.jetbrains.kotlin.config.CompilerConfiguration import org.jetbrains.kotlin.config.KotlinSourceRoot +import org.jetbrains.kotlin.config.kotlinSourceRoots import org.jetbrains.kotlin.extensions.ExternalDeclarationsProvider import org.jetbrains.kotlin.idea.JetFileType import org.jetbrains.kotlin.load.kotlin.JvmVirtualFileFinderFactory @@ -214,8 +215,7 @@ public class KotlinCoreEnvironment private( private fun getSourceRootsCheckingForDuplicates(): Collection { val uniqueSourceRoots = Sets.newLinkedHashSet() - configuration.getList(CommonConfigurationKeys.CONTENT_ROOTS).filterIsInstance().forEach { sourceRoot -> - val path = sourceRoot.path + configuration.kotlinSourceRoots.forEach { path -> if (!uniqueSourceRoots.add(path)) { report(WARNING, "Duplicate source root: $path") } diff --git a/compiler/frontend/src/org/jetbrains/kotlin/config/ContentRoots.kt b/compiler/frontend/src/org/jetbrains/kotlin/config/ContentRoots.kt index b7b0d953601..e04e3c6f6b8 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/config/ContentRoots.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/config/ContentRoots.kt @@ -16,6 +16,8 @@ package org.jetbrains.kotlin.config +import java.io.File + public trait ContentRoot public data class KotlinSourceRoot(public val path: String): ContentRoot @@ -26,3 +28,7 @@ public fun CompilerConfiguration.addKotlinSourceRoot(source: String) { public fun CompilerConfiguration.addKotlinSourceRoots(sources: List): Unit = sources.forEach { addKotlinSourceRoot(it) } +public val CompilerConfiguration.kotlinSourceRoots: List + get() { + return get(CommonConfigurationKeys.CONTENT_ROOTS)?.filterIsInstance()?.map { it.path } ?: emptyList() + }