Skip to content

Commit fd033d5

Browse files
committed
Added message collector to compiler configuration
1 parent f4db854 commit fd033d5

File tree

2 files changed

+21
-2
lines changed

2 files changed

+21
-2
lines changed

src/main/kotlin/org/javacs/kt/Compiler.kt

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,12 @@ import com.intellij.openapi.vfs.VirtualFileManager
77
import com.intellij.psi.PsiFileFactory
88
import com.intellij.mock.MockProject
99
import org.jetbrains.kotlin.cli.common.script.CliScriptDefinitionProvider
10+
import org.jetbrains.kotlin.cli.common.CLIConfigurationKeys
1011
import org.jetbrains.kotlin.cli.jvm.compiler.CliBindingTrace
1112
import org.jetbrains.kotlin.cli.jvm.compiler.EnvironmentConfigFiles
1213
import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment
1314
import org.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM
14-
import org.jetbrains.kotlin.cli.jvm.config.JvmClasspathRoot
15+
import org.jetbrains.kotlin.cli.jvm.config.addJvmClasspathRoots
1516
import org.jetbrains.kotlin.config.CommonConfigurationKeys
1617
import org.jetbrains.kotlin.config.CompilerConfiguration
1718
import org.jetbrains.kotlin.config.JVMConfigurationKeys
@@ -38,6 +39,7 @@ import java.util.concurrent.locks.ReentrantLock
3839
import kotlin.concurrent.withLock
3940
import org.javacs.kt.util.KotlinLSException
4041
import org.javacs.kt.util.KotlinNullableNotNullManager
42+
import org.javacs.kt.util.LoggingMessageCollector
4143

4244
/**
4345
* Incrementally compiles files and expressions.
@@ -46,7 +48,8 @@ import org.javacs.kt.util.KotlinNullableNotNullManager
4648
class Compiler(classPath: Set<Path>) {
4749
private val config = CompilerConfiguration().apply {
4850
put(CommonConfigurationKeys.MODULE_NAME, JvmAbi.DEFAULT_MODULE_NAME)
49-
addAll(JVMConfigurationKeys.CONTENT_ROOTS, classPath.map { JvmClasspathRoot(it.toFile()) })
51+
put(CLIConfigurationKeys.MESSAGE_COLLECTOR_KEY, LoggingMessageCollector)
52+
addJvmClasspathRoots(classPath.map { it.toFile() })
5053
}
5154
val environment: KotlinCoreEnvironment
5255

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
package org.javacs.kt.util
2+
3+
import org.jetbrains.kotlin.cli.common.messages.MessageCollector
4+
import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity
5+
import org.jetbrains.kotlin.cli.common.messages.CompilerMessageLocation
6+
import org.javacs.kt.LOG
7+
8+
object LoggingMessageCollector: MessageCollector {
9+
override fun clear() {}
10+
11+
override fun report(severity: CompilerMessageSeverity, message: String, location: CompilerMessageLocation?) {
12+
LOG.fine("Kotlin compiler: [$severity] $message @ $location")
13+
}
14+
15+
override fun hasErrors() = false
16+
}

0 commit comments

Comments
 (0)