add missing API to retrieve Kotlin source roots from a CompilerConfiguration
This commit is contained in:
@@ -69,6 +69,7 @@ import org.jetbrains.kotlin.compiler.plugin.ComponentRegistrar
|
|||||||
import org.jetbrains.kotlin.config.CommonConfigurationKeys
|
import org.jetbrains.kotlin.config.CommonConfigurationKeys
|
||||||
import org.jetbrains.kotlin.config.CompilerConfiguration
|
import org.jetbrains.kotlin.config.CompilerConfiguration
|
||||||
import org.jetbrains.kotlin.config.KotlinSourceRoot
|
import org.jetbrains.kotlin.config.KotlinSourceRoot
|
||||||
|
import org.jetbrains.kotlin.config.kotlinSourceRoots
|
||||||
import org.jetbrains.kotlin.extensions.ExternalDeclarationsProvider
|
import org.jetbrains.kotlin.extensions.ExternalDeclarationsProvider
|
||||||
import org.jetbrains.kotlin.idea.JetFileType
|
import org.jetbrains.kotlin.idea.JetFileType
|
||||||
import org.jetbrains.kotlin.load.kotlin.JvmVirtualFileFinderFactory
|
import org.jetbrains.kotlin.load.kotlin.JvmVirtualFileFinderFactory
|
||||||
@@ -214,8 +215,7 @@ public class KotlinCoreEnvironment private(
|
|||||||
private fun getSourceRootsCheckingForDuplicates(): Collection<String> {
|
private fun getSourceRootsCheckingForDuplicates(): Collection<String> {
|
||||||
val uniqueSourceRoots = Sets.newLinkedHashSet<String>()
|
val uniqueSourceRoots = Sets.newLinkedHashSet<String>()
|
||||||
|
|
||||||
configuration.getList(CommonConfigurationKeys.CONTENT_ROOTS).filterIsInstance<KotlinSourceRoot>().forEach { sourceRoot ->
|
configuration.kotlinSourceRoots.forEach { path ->
|
||||||
val path = sourceRoot.path
|
|
||||||
if (!uniqueSourceRoots.add(path)) {
|
if (!uniqueSourceRoots.add(path)) {
|
||||||
report(WARNING, "Duplicate source root: $path")
|
report(WARNING, "Duplicate source root: $path")
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,6 +16,8 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.config
|
package org.jetbrains.kotlin.config
|
||||||
|
|
||||||
|
import java.io.File
|
||||||
|
|
||||||
public trait ContentRoot
|
public trait ContentRoot
|
||||||
|
|
||||||
public data class KotlinSourceRoot(public val path: String): 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<String>): Unit = sources.forEach { addKotlinSourceRoot(it) }
|
public fun CompilerConfiguration.addKotlinSourceRoots(sources: List<String>): Unit = sources.forEach { addKotlinSourceRoot(it) }
|
||||||
|
|
||||||
|
public val CompilerConfiguration.kotlinSourceRoots: List<String>
|
||||||
|
get() {
|
||||||
|
return get(CommonConfigurationKeys.CONTENT_ROOTS)?.filterIsInstance<KotlinSourceRoot>()?.map { it.path } ?: emptyList()
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user