From 5e33612238c798325f25650a8d5f6df26537f72d Mon Sep 17 00:00:00 2001 From: Ilya Chernikov Date: Thu, 4 Jun 2020 19:32:05 +0200 Subject: [PATCH] Extract interface from CompilerMessageLocation to ease extension The CompilerMessageLocation is an implicit part of the binary daemon protocol so changing it breaks compatibility with older daemons. This change allows to extend location for non-daemon uses without breaking the binary protocol. --- ...eCollectorToOutputItemsCollectorAdapter.kt | 4 ++-- .../builtins/BuiltInsSerializer.kt | 2 +- .../messages/CompilerMessageLocation.kt | 23 ++++++++++++------- .../messages/FilteringMessageCollector.java | 2 +- .../messages/GroupingMessageCollector.java | 17 +++++++------- .../cli/common/messages/MessageCollector.kt | 4 ++-- .../messages/GradleStyleMessagerRenderer.kt | 2 +- .../cli/common/messages/MessageRenderer.java | 10 ++++---- .../messages/PlainTextMessageRenderer.java | 4 ++-- .../messages/PrintingMessageCollector.java | 2 +- .../common/messages/XmlMessageRenderer.java | 2 +- .../kotlin/cli/jvm/plugins/PluginCliParser.kt | 1 - .../kotlin/cli/metadata/K2MetadataCompiler.kt | 1 - .../experimental/KotlinCompilerClient.kt | 11 +++++---- .../kotlin/daemon/CompilerApiTest.kt | 6 ++--- .../integration/CompilerApiTest.kt | 6 ++--- .../kotlin/daemon/KotlinRemoteReplService.kt | 4 ++-- .../CompileServicesFacadeMessageCollector.kt | 4 ++-- .../CompileServicesFacadeMessageCollector.kt | 13 ++++------- ...NonFirResolveModularizedTotalKotlinTest.kt | 9 ++------ .../incremental/IncrementalCompilerRunner.kt | 6 ++--- .../incremental/utils/TestMessageCollector.kt | 4 ++-- .../kotlin/test/KotlinTestUtils.java | 4 ++-- .../xml/AbstractModuleXmlParserTest.java | 4 ++-- .../KotlinJsr223JvmScriptEngine4Idea.kt | 4 ++-- .../compilerRunner/CompilerRunnerUtil.kt | 7 ++---- .../jps/build/MessageCollectorAdapter.kt | 4 ++-- .../kotlin/compilerRunner/reportUtils.kt | 8 ++----- .../GradleBufferingMessageCollector.kt | 8 +++---- .../logging/GradlePrintingMessageCollector.kt | 4 ++-- .../maven/MavenPluginLogMessageCollector.java | 10 ++++---- .../LocationReportingTestMessageCollector.kt | 6 ++--- .../cli/test/AbstractArgumentParsingTest.kt | 6 ++--- .../compiler/plugin/impl/errorReporting.kt | 4 ++-- .../compiler/plugin/repl/ReplInterpreter.kt | 4 ++-- .../kotlin/scripting/repl/js/JsReplUtils.kt | 4 ++-- .../plugin/ScriptingCompilerPluginTest.kt | 6 ++--- .../compiler/client/CompilerClientIT.kt | 23 +++++++++++-------- 38 files changed, 119 insertions(+), 124 deletions(-) diff --git a/build-common/src/org/jetbrains/kotlin/compilerRunner/MessageCollectorToOutputItemsCollectorAdapter.kt b/build-common/src/org/jetbrains/kotlin/compilerRunner/MessageCollectorToOutputItemsCollectorAdapter.kt index 9dcbbc8f396..6a02fade090 100644 --- a/build-common/src/org/jetbrains/kotlin/compilerRunner/MessageCollectorToOutputItemsCollectorAdapter.kt +++ b/build-common/src/org/jetbrains/kotlin/compilerRunner/MessageCollectorToOutputItemsCollectorAdapter.kt @@ -16,7 +16,7 @@ package org.jetbrains.kotlin.compilerRunner -import org.jetbrains.kotlin.cli.common.messages.CompilerMessageLocation +import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSourceLocation import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity import org.jetbrains.kotlin.cli.common.messages.MessageCollector import org.jetbrains.kotlin.cli.common.messages.OutputMessageUtil @@ -25,7 +25,7 @@ class MessageCollectorToOutputItemsCollectorAdapter( private val delegate: MessageCollector, private val outputCollector: OutputItemsCollector ) : MessageCollector by delegate { - override fun report(severity: CompilerMessageSeverity, message: String, location: CompilerMessageLocation?) { + override fun report(severity: CompilerMessageSeverity, message: String, location: CompilerMessageSourceLocation?) { // TODO: consider adding some other way of passing input -> output mapping from compiler, e.g. dedicated service OutputMessageUtil.parseOutputMessage(message)?.let { outputCollector.add(it.sourceFiles, it.outputFile) diff --git a/compiler/builtins-serializer/src/org/jetbrains/kotlin/serialization/builtins/BuiltInsSerializer.kt b/compiler/builtins-serializer/src/org/jetbrains/kotlin/serialization/builtins/BuiltInsSerializer.kt index 8d4e7b00706..1222090a206 100644 --- a/compiler/builtins-serializer/src/org/jetbrains/kotlin/serialization/builtins/BuiltInsSerializer.kt +++ b/compiler/builtins-serializer/src/org/jetbrains/kotlin/serialization/builtins/BuiltInsSerializer.kt @@ -67,7 +67,7 @@ class BuiltInsSerializer(dependOnOldBuiltIns: Boolean) : MetadataSerializer(Buil PrintingMessageCollector(System.err, MessageRenderer.PLAIN_RELATIVE_PATHS, false), false ) { - override fun report(severity: CompilerMessageSeverity, message: String, location: CompilerMessageLocation?) { + override fun report(severity: CompilerMessageSeverity, message: String, location: CompilerMessageSourceLocation?) { // Only report diagnostics without a particular location because there's plenty of errors in built-in sources // (functions without bodies, incorrect combination of modifiers, etc.) if (location == null) { diff --git a/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/messages/CompilerMessageLocation.kt b/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/messages/CompilerMessageLocation.kt index 1f3a6d349c5..0c542d1fff6 100644 --- a/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/messages/CompilerMessageLocation.kt +++ b/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/messages/CompilerMessageLocation.kt @@ -18,23 +18,30 @@ package org.jetbrains.kotlin.cli.common.messages import java.io.Serializable +interface CompilerMessageSourceLocation : Serializable { + val path: String + val line: Int + val column: Int + val lineContent: String? +} + data class CompilerMessageLocation private constructor( - val path: String, - val line: Int, - val column: Int, - val lineContent: String? -) : Serializable { + override val path: String, + override val line: Int, + override val column: Int, + override val lineContent: String? +) : CompilerMessageSourceLocation { override fun toString(): String = - path + (if (line != -1 || column != -1) " ($line:$column)" else "") + path + (if (line != -1 || column != -1) " ($line:$column)" else "") companion object { @JvmStatic fun create(path: String?): CompilerMessageLocation? = - create(path, -1, -1, null) + create(path, -1, -1, null) @JvmStatic fun create(path: String?, line: Int, column: Int, lineContent: String?): CompilerMessageLocation? = - if (path == null) null else CompilerMessageLocation(path, line, column, lineContent) + if (path == null) null else CompilerMessageLocation(path, line, column, lineContent) private val serialVersionUID: Long = 8228357578L } diff --git a/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/messages/FilteringMessageCollector.java b/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/messages/FilteringMessageCollector.java index 46db83bf941..c053b449dea 100644 --- a/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/messages/FilteringMessageCollector.java +++ b/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/messages/FilteringMessageCollector.java @@ -36,7 +36,7 @@ public class FilteringMessageCollector implements MessageCollector { } @Override - public void report(@NotNull CompilerMessageSeverity severity, @NotNull String message, @Nullable CompilerMessageLocation location) { + public void report(@NotNull CompilerMessageSeverity severity, @NotNull String message, @Nullable CompilerMessageSourceLocation location) { if (!decline.test(severity)) { messageCollector.report(severity, message, location); } diff --git a/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/messages/GroupingMessageCollector.java b/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/messages/GroupingMessageCollector.java index cd9689a8ee0..3aa427f3b65 100644 --- a/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/messages/GroupingMessageCollector.java +++ b/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/messages/GroupingMessageCollector.java @@ -24,7 +24,6 @@ import org.jetbrains.annotations.Nullable; import java.util.Comparator; import java.util.List; -import java.util.Map; import java.util.Objects; public class GroupingMessageCollector implements MessageCollector { @@ -32,7 +31,7 @@ public class GroupingMessageCollector implements MessageCollector { private final boolean treatWarningsAsErrors; // Note that the key in this map can be null - private final Multimap groupedMessages = LinkedHashMultimap.create(); + private final Multimap groupedMessages = LinkedHashMultimap.create(); public GroupingMessageCollector(@NotNull MessageCollector delegate, boolean treatWarningsAsErrors) { this.delegate = delegate; @@ -48,7 +47,7 @@ public class GroupingMessageCollector implements MessageCollector { public void report( @NotNull CompilerMessageSeverity severity, @NotNull String message, - @Nullable CompilerMessageLocation location + @Nullable CompilerMessageSourceLocation location ) { if (CompilerMessageSeverity.VERBOSE.contains(severity)) { delegate.report(severity, message, location); @@ -78,9 +77,9 @@ public class GroupingMessageCollector implements MessageCollector { report(CompilerMessageSeverity.ERROR, "warnings found and -Werror specified", null); } - List sortedKeys = + List sortedKeys = CollectionsKt.sortedWith(groupedMessages.keySet(), Comparator.nullsFirst(CompilerMessageLocationComparator.INSTANCE)); - for (CompilerMessageLocation location : sortedKeys) { + for (CompilerMessageSourceLocation location : sortedKeys) { for (Message message : groupedMessages.get(location)) { if (!hasExplicitErrors || message.severity.isError() || message.severity == CompilerMessageSeverity.STRONG_WARNING) { delegate.report(message.severity, message.message, message.location); @@ -91,7 +90,7 @@ public class GroupingMessageCollector implements MessageCollector { groupedMessages.clear(); } - private static class CompilerMessageLocationComparator implements Comparator { + private static class CompilerMessageLocationComparator implements Comparator { public static final CompilerMessageLocationComparator INSTANCE = new CompilerMessageLocationComparator(); // First, output all messages without any location information. Then, only those with the file path. @@ -104,7 +103,7 @@ public class GroupingMessageCollector implements MessageCollector { // foo.kt:42: error: bad line // foo.kt:42:43: error: bad character @Override - public int compare(CompilerMessageLocation o1, CompilerMessageLocation o2) { + public int compare(CompilerMessageSourceLocation o1, CompilerMessageSourceLocation o2) { if (o1.getColumn() == -1 && o2.getColumn() != -1) return -1; if (o1.getColumn() != -1 && o2.getColumn() == -1) return 1; @@ -118,9 +117,9 @@ public class GroupingMessageCollector implements MessageCollector { private static class Message { private final CompilerMessageSeverity severity; private final String message; - private final CompilerMessageLocation location; + private final CompilerMessageSourceLocation location; - private Message(@NotNull CompilerMessageSeverity severity, @NotNull String message, @Nullable CompilerMessageLocation location) { + private Message(@NotNull CompilerMessageSeverity severity, @NotNull String message, @Nullable CompilerMessageSourceLocation location) { this.severity = severity; this.message = message; this.location = location; diff --git a/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/messages/MessageCollector.kt b/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/messages/MessageCollector.kt index 82a3c212e54..6905bdf4391 100644 --- a/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/messages/MessageCollector.kt +++ b/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/messages/MessageCollector.kt @@ -19,13 +19,13 @@ package org.jetbrains.kotlin.cli.common.messages interface MessageCollector { fun clear() - fun report(severity: CompilerMessageSeverity, message: String, location: CompilerMessageLocation? = null) + fun report(severity: CompilerMessageSeverity, message: String, location: CompilerMessageSourceLocation? = null) fun hasErrors(): Boolean companion object { val NONE: MessageCollector = object : MessageCollector { - override fun report(severity: CompilerMessageSeverity, message: String, location: CompilerMessageLocation?) { + override fun report(severity: CompilerMessageSeverity, message: String, location: CompilerMessageSourceLocation?) { // Do nothing } diff --git a/compiler/cli/src/org/jetbrains/kotlin/cli/common/messages/GradleStyleMessagerRenderer.kt b/compiler/cli/src/org/jetbrains/kotlin/cli/common/messages/GradleStyleMessagerRenderer.kt index 226e22f694e..38b3f5587bc 100644 --- a/compiler/cli/src/org/jetbrains/kotlin/cli/common/messages/GradleStyleMessagerRenderer.kt +++ b/compiler/cli/src/org/jetbrains/kotlin/cli/common/messages/GradleStyleMessagerRenderer.kt @@ -7,7 +7,7 @@ package org.jetbrains.kotlin.cli.common.messages class GradleStyleMessageRenderer : MessageRenderer { - override fun render(severity: CompilerMessageSeverity, message: String, location: CompilerMessageLocation?): String { + override fun render(severity: CompilerMessageSeverity, message: String, location: CompilerMessageSourceLocation?): String { val prefix = when (severity) { CompilerMessageSeverity.WARNING, CompilerMessageSeverity.STRONG_WARNING -> "w" CompilerMessageSeverity.ERROR, CompilerMessageSeverity.EXCEPTION -> "e" diff --git a/compiler/cli/src/org/jetbrains/kotlin/cli/common/messages/MessageRenderer.java b/compiler/cli/src/org/jetbrains/kotlin/cli/common/messages/MessageRenderer.java index aae3f819f38..773d059caf5 100644 --- a/compiler/cli/src/org/jetbrains/kotlin/cli/common/messages/MessageRenderer.java +++ b/compiler/cli/src/org/jetbrains/kotlin/cli/common/messages/MessageRenderer.java @@ -32,7 +32,7 @@ public interface MessageRenderer { MessageRenderer WITHOUT_PATHS = new PlainTextMessageRenderer() { @Nullable @Override - protected String getPath(@NotNull CompilerMessageLocation location) { + protected String getPath(@NotNull CompilerMessageSourceLocation location) { return null; } @@ -45,7 +45,7 @@ public interface MessageRenderer { MessageRenderer PLAIN_FULL_PATHS = new PlainTextMessageRenderer() { @NotNull @Override - protected String getPath(@NotNull CompilerMessageLocation location) { + protected String getPath(@NotNull CompilerMessageSourceLocation location) { return location.getPath(); } @@ -60,7 +60,7 @@ public interface MessageRenderer { @NotNull @Override - protected String getPath(@NotNull CompilerMessageLocation location) { + protected String getPath(@NotNull CompilerMessageSourceLocation location) { return FileUtilsKt.descendantRelativeTo(new File(location.getPath()), cwd).getPath(); } @@ -75,7 +75,7 @@ public interface MessageRenderer { @Nullable @Override - protected String getPath(@NotNull CompilerMessageLocation location) { + protected String getPath(@NotNull CompilerMessageSourceLocation location) { return FileUtil.toSystemIndependentName( FileUtilsKt.descendantRelativeTo(new File(location.getPath()), cwd).getPath() ); @@ -91,7 +91,7 @@ public interface MessageRenderer { String renderPreamble(); - String render(@NotNull CompilerMessageSeverity severity, @NotNull String message, @Nullable CompilerMessageLocation location); + String render(@NotNull CompilerMessageSeverity severity, @NotNull String message, @Nullable CompilerMessageSourceLocation location); String renderUsage(@NotNull String usage); diff --git a/compiler/cli/src/org/jetbrains/kotlin/cli/common/messages/PlainTextMessageRenderer.java b/compiler/cli/src/org/jetbrains/kotlin/cli/common/messages/PlainTextMessageRenderer.java index 7471c8c1e03..d0f073c4ddd 100644 --- a/compiler/cli/src/org/jetbrains/kotlin/cli/common/messages/PlainTextMessageRenderer.java +++ b/compiler/cli/src/org/jetbrains/kotlin/cli/common/messages/PlainTextMessageRenderer.java @@ -58,7 +58,7 @@ public abstract class PlainTextMessageRenderer implements MessageRenderer { } @Override - public String render(@NotNull CompilerMessageSeverity severity, @NotNull String message, @Nullable CompilerMessageLocation location) { + public String render(@NotNull CompilerMessageSeverity severity, @NotNull String message, @Nullable CompilerMessageSourceLocation location) { StringBuilder result = new StringBuilder(); int line = location != null ? location.getLine() : -1; @@ -156,7 +156,7 @@ public abstract class PlainTextMessageRenderer implements MessageRenderer { } @Nullable - protected abstract String getPath(@NotNull CompilerMessageLocation location); + protected abstract String getPath(@NotNull CompilerMessageSourceLocation location); @Override public String renderUsage(@NotNull String usage) { diff --git a/compiler/cli/src/org/jetbrains/kotlin/cli/common/messages/PrintingMessageCollector.java b/compiler/cli/src/org/jetbrains/kotlin/cli/common/messages/PrintingMessageCollector.java index c1ce58914c9..2fb295ed4a5 100644 --- a/compiler/cli/src/org/jetbrains/kotlin/cli/common/messages/PrintingMessageCollector.java +++ b/compiler/cli/src/org/jetbrains/kotlin/cli/common/messages/PrintingMessageCollector.java @@ -42,7 +42,7 @@ public class PrintingMessageCollector implements MessageCollector { public void report( @NotNull CompilerMessageSeverity severity, @NotNull String message, - @Nullable CompilerMessageLocation location + @Nullable CompilerMessageSourceLocation location ) { if (!verbose && CompilerMessageSeverity.VERBOSE.contains(severity)) return; diff --git a/compiler/cli/src/org/jetbrains/kotlin/cli/common/messages/XmlMessageRenderer.java b/compiler/cli/src/org/jetbrains/kotlin/cli/common/messages/XmlMessageRenderer.java index dc9e0292f48..e285f122eb2 100644 --- a/compiler/cli/src/org/jetbrains/kotlin/cli/common/messages/XmlMessageRenderer.java +++ b/compiler/cli/src/org/jetbrains/kotlin/cli/common/messages/XmlMessageRenderer.java @@ -27,7 +27,7 @@ public class XmlMessageRenderer implements MessageRenderer { } @Override - public String render(@NotNull CompilerMessageSeverity severity, @NotNull String message, @Nullable CompilerMessageLocation location) { + public String render(@NotNull CompilerMessageSeverity severity, @NotNull String message, @Nullable CompilerMessageSourceLocation location) { StringBuilder out = new StringBuilder(); String tagName = severity.getPresentableName(); out.append("<").append(tagName); diff --git a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/plugins/PluginCliParser.kt b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/plugins/PluginCliParser.kt index b0ef0223d29..196c241230f 100644 --- a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/plugins/PluginCliParser.kt +++ b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/plugins/PluginCliParser.kt @@ -26,7 +26,6 @@ import org.jetbrains.kotlin.compiler.plugin.* import org.jetbrains.kotlin.config.CompilerConfiguration import java.io.File import java.net.URLClassLoader -import java.util.* object PluginCliParser { @JvmStatic diff --git a/compiler/cli/src/org/jetbrains/kotlin/cli/metadata/K2MetadataCompiler.kt b/compiler/cli/src/org/jetbrains/kotlin/cli/metadata/K2MetadataCompiler.kt index d744bb86758..9b90a813b46 100644 --- a/compiler/cli/src/org/jetbrains/kotlin/cli/metadata/K2MetadataCompiler.kt +++ b/compiler/cli/src/org/jetbrains/kotlin/cli/metadata/K2MetadataCompiler.kt @@ -27,7 +27,6 @@ import org.jetbrains.kotlin.cli.jvm.compiler.EnvironmentConfigFiles import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment import org.jetbrains.kotlin.cli.jvm.config.K2MetadataConfigurationKeys import org.jetbrains.kotlin.cli.jvm.config.addJvmClasspathRoots -import org.jetbrains.kotlin.cli.jvm.plugins.PluginCliParser import org.jetbrains.kotlin.codegen.CompilationException import org.jetbrains.kotlin.config.CommonConfigurationKeys import org.jetbrains.kotlin.config.CompilerConfiguration diff --git a/compiler/daemon/daemon-client-new/src/org/jetbrains/kotlin/daemon/client/experimental/KotlinCompilerClient.kt b/compiler/daemon/daemon-client-new/src/org/jetbrains/kotlin/daemon/client/experimental/KotlinCompilerClient.kt index cf75408bfad..a04d7775ffb 100644 --- a/compiler/daemon/daemon-client-new/src/org/jetbrains/kotlin/daemon/client/experimental/KotlinCompilerClient.kt +++ b/compiler/daemon/daemon-client-new/src/org/jetbrains/kotlin/daemon/client/experimental/KotlinCompilerClient.kt @@ -6,19 +6,21 @@ package org.jetbrains.kotlin.daemon.client.experimental import io.ktor.network.sockets.Socket -import kotlinx.coroutines.* +import kotlinx.coroutines.Deferred +import kotlinx.coroutines.GlobalScope +import kotlinx.coroutines.async +import kotlinx.coroutines.runBlocking import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity import org.jetbrains.kotlin.cli.common.messages.MessageCollector import org.jetbrains.kotlin.daemon.client.CompileServiceSessionAsync -import org.jetbrains.kotlin.daemon.client.KotlinCompilerDaemonClient import org.jetbrains.kotlin.daemon.client.DaemonReportMessage import org.jetbrains.kotlin.daemon.client.DaemonReportingTargets +import org.jetbrains.kotlin.daemon.client.KotlinCompilerDaemonClient +import org.jetbrains.kotlin.daemon.client.launchProcessWithFallback import org.jetbrains.kotlin.daemon.common.* -import org.jetbrains.kotlin.daemon.common.Profiler import org.jetbrains.kotlin.daemon.common.experimental.* import org.jetbrains.kotlin.daemon.common.experimental.socketInfrastructure.Server import org.jetbrains.kotlin.daemon.common.experimental.socketInfrastructure.ServerSocketWrapper -import org.jetbrains.kotlin.daemon.common.* import java.io.File import java.io.Serializable import java.net.SocketException @@ -30,7 +32,6 @@ import java.util.concurrent.Semaphore import java.util.concurrent.TimeUnit import java.util.logging.Logger import kotlin.concurrent.thread -import org.jetbrains.kotlin.daemon.client.launchProcessWithFallback class KotlinCompilerClient : KotlinCompilerDaemonClient { diff --git a/compiler/daemon/daemon-tests/test/org/jetbrains/kotlin/daemon/CompilerApiTest.kt b/compiler/daemon/daemon-tests/test/org/jetbrains/kotlin/daemon/CompilerApiTest.kt index 773158980a5..60fc772faa2 100644 --- a/compiler/daemon/daemon-tests/test/org/jetbrains/kotlin/daemon/CompilerApiTest.kt +++ b/compiler/daemon/daemon-tests/test/org/jetbrains/kotlin/daemon/CompilerApiTest.kt @@ -18,7 +18,7 @@ package org.jetbrains.kotlin.daemon import com.intellij.openapi.application.ApplicationManager import org.jetbrains.kotlin.cli.common.arguments.K2JVMCompilerArguments -import org.jetbrains.kotlin.cli.common.messages.CompilerMessageLocation +import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSourceLocation import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity import org.jetbrains.kotlin.cli.common.messages.MessageCollector import org.jetbrains.kotlin.cli.common.messages.OutputMessageUtil @@ -181,7 +181,7 @@ class CompilerApiTest : KotlinIntegrationTestBase() { } class TestMessageCollector : MessageCollector { - data class Message(val severity: CompilerMessageSeverity, val message: String, val location: CompilerMessageLocation?) + data class Message(val severity: CompilerMessageSeverity, val message: String, val location: CompilerMessageSourceLocation?) val messages = arrayListOf() @@ -189,7 +189,7 @@ class TestMessageCollector : MessageCollector { messages.clear() } - override fun report(severity: CompilerMessageSeverity, message: String, location: CompilerMessageLocation?) { + override fun report(severity: CompilerMessageSeverity, message: String, location: CompilerMessageSourceLocation?) { messages.add(Message(severity, message, location)) } diff --git a/compiler/daemon/daemon-tests/test/org/jetbrains/kotlin/daemon/experimental/integration/CompilerApiTest.kt b/compiler/daemon/daemon-tests/test/org/jetbrains/kotlin/daemon/experimental/integration/CompilerApiTest.kt index 428d14d52ca..2c163181386 100644 --- a/compiler/daemon/daemon-tests/test/org/jetbrains/kotlin/daemon/experimental/integration/CompilerApiTest.kt +++ b/compiler/daemon/daemon-tests/test/org/jetbrains/kotlin/daemon/experimental/integration/CompilerApiTest.kt @@ -8,7 +8,7 @@ package org.jetbrains.kotlin.daemon.experimental.integration import com.intellij.openapi.application.ApplicationManager import kotlinx.coroutines.runBlocking import org.jetbrains.kotlin.cli.common.arguments.K2JVMCompilerArguments -import org.jetbrains.kotlin.cli.common.messages.CompilerMessageLocation +import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSourceLocation import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity import org.jetbrains.kotlin.cli.common.messages.MessageCollector import org.jetbrains.kotlin.cli.common.messages.OutputMessageUtil @@ -301,7 +301,7 @@ class CompilerApiTest : KotlinIntegrationTestBase() { } class TestMessageCollector : MessageCollector { - data class Message(val severity: CompilerMessageSeverity, val message: String, val location: CompilerMessageLocation?) + data class Message(val severity: CompilerMessageSeverity, val message: String, val location: CompilerMessageSourceLocation?) val messages = arrayListOf() @@ -309,7 +309,7 @@ class TestMessageCollector : MessageCollector { messages.clear() } - override fun report(severity: CompilerMessageSeverity, message: String, location: CompilerMessageLocation?) { + override fun report(severity: CompilerMessageSeverity, message: String, location: CompilerMessageSourceLocation?) { messages.add(Message(severity, message, location)) } diff --git a/compiler/daemon/src/org/jetbrains/kotlin/daemon/KotlinRemoteReplService.kt b/compiler/daemon/src/org/jetbrains/kotlin/daemon/KotlinRemoteReplService.kt index 600565c7784..cd3eed256dc 100644 --- a/compiler/daemon/src/org/jetbrains/kotlin/daemon/KotlinRemoteReplService.kt +++ b/compiler/daemon/src/org/jetbrains/kotlin/daemon/KotlinRemoteReplService.kt @@ -168,9 +168,9 @@ internal class KeepFirstErrorMessageCollector(compilerMessagesStream: PrintStrea private val innerCollector = PrintingMessageCollector(compilerMessagesStream, MessageRenderer.WITHOUT_PATHS, false) internal var firstErrorMessage: String? = null - internal var firstErrorLocation: CompilerMessageLocation? = null + internal var firstErrorLocation: CompilerMessageSourceLocation? = null - override fun report(severity: CompilerMessageSeverity, message: String, location: CompilerMessageLocation?) { + override fun report(severity: CompilerMessageSeverity, message: String, location: CompilerMessageSourceLocation?) { if (firstErrorMessage == null && severity.isError) { firstErrorMessage = message firstErrorLocation = location diff --git a/compiler/daemon/src/org/jetbrains/kotlin/daemon/report/CompileServicesFacadeMessageCollector.kt b/compiler/daemon/src/org/jetbrains/kotlin/daemon/report/CompileServicesFacadeMessageCollector.kt index 43101d8a4dd..3ef539f91c1 100644 --- a/compiler/daemon/src/org/jetbrains/kotlin/daemon/report/CompileServicesFacadeMessageCollector.kt +++ b/compiler/daemon/src/org/jetbrains/kotlin/daemon/report/CompileServicesFacadeMessageCollector.kt @@ -16,7 +16,7 @@ package org.jetbrains.kotlin.daemon.report -import org.jetbrains.kotlin.cli.common.messages.CompilerMessageLocation +import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSourceLocation import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity import org.jetbrains.kotlin.cli.common.messages.MessageCollector import org.jetbrains.kotlin.cli.common.messages.MessageRenderer @@ -34,7 +34,7 @@ internal class CompileServicesFacadeMessageCollector( hasErrors = false } - override fun report(severity: CompilerMessageSeverity, message: String, location: CompilerMessageLocation?) { + override fun report(severity: CompilerMessageSeverity, message: String, location: CompilerMessageSourceLocation?) { log.info("Message: " + MessageRenderer.WITHOUT_PATHS.render(severity, message, location)) when (severity) { CompilerMessageSeverity.OUTPUT -> { diff --git a/compiler/daemon/src/org/jetbrains/kotlin/daemon/report/experimental/CompileServicesFacadeMessageCollector.kt b/compiler/daemon/src/org/jetbrains/kotlin/daemon/report/experimental/CompileServicesFacadeMessageCollector.kt index 460c783151f..2bfcab716b0 100644 --- a/compiler/daemon/src/org/jetbrains/kotlin/daemon/report/experimental/CompileServicesFacadeMessageCollector.kt +++ b/compiler/daemon/src/org/jetbrains/kotlin/daemon/report/experimental/CompileServicesFacadeMessageCollector.kt @@ -5,17 +5,14 @@ package org.jetbrains.kotlin.daemon.report.experimental -import kotlinx.coroutines.* -import org.jetbrains.kotlin.cli.common.messages.CompilerMessageLocation +import kotlinx.coroutines.GlobalScope +import kotlinx.coroutines.async +import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSourceLocation import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity import org.jetbrains.kotlin.cli.common.messages.MessageCollector import org.jetbrains.kotlin.cli.common.messages.MessageRenderer import org.jetbrains.kotlin.daemon.KotlinCompileDaemon.log -import org.jetbrains.kotlin.daemon.common.CompilationOptions -import org.jetbrains.kotlin.daemon.common.ReportCategory -import org.jetbrains.kotlin.daemon.common.ReportSeverity -import org.jetbrains.kotlin.daemon.common.CompilerServicesFacadeBaseAsync -import org.jetbrains.kotlin.daemon.common.report +import org.jetbrains.kotlin.daemon.common.* internal class CompileServicesFacadeMessageCollector( private val servicesFacade: CompilerServicesFacadeBaseAsync, @@ -28,7 +25,7 @@ internal class CompileServicesFacadeMessageCollector( hasErrors = false } - override fun report(severity: CompilerMessageSeverity, message: String, location: CompilerMessageLocation?) { + override fun report(severity: CompilerMessageSeverity, message: String, location: CompilerMessageSourceLocation?) { GlobalScope.async { log.info("Message: " + MessageRenderer.WITHOUT_PATHS.render(severity, message, location)) when (severity) { diff --git a/compiler/fir/modularized-tests/tests/org/jetbrains/kotlin/fir/NonFirResolveModularizedTotalKotlinTest.kt b/compiler/fir/modularized-tests/tests/org/jetbrains/kotlin/fir/NonFirResolveModularizedTotalKotlinTest.kt index 91f6b9c01be..25142613ee7 100644 --- a/compiler/fir/modularized-tests/tests/org/jetbrains/kotlin/fir/NonFirResolveModularizedTotalKotlinTest.kt +++ b/compiler/fir/modularized-tests/tests/org/jetbrains/kotlin/fir/NonFirResolveModularizedTotalKotlinTest.kt @@ -6,10 +6,8 @@ package org.jetbrains.kotlin.fir import com.intellij.openapi.util.Disposer -import org.jetbrains.kotlin.cli.common.CLIConfigurationKeys.CONTENT_ROOTS import org.jetbrains.kotlin.cli.common.CLIConfigurationKeys.MESSAGE_COLLECTOR_KEY -import org.jetbrains.kotlin.cli.common.config.KotlinSourceRoot -import org.jetbrains.kotlin.cli.common.messages.CompilerMessageLocation +import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSourceLocation import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity import org.jetbrains.kotlin.cli.common.messages.MessageCollector import org.jetbrains.kotlin.cli.jvm.compiler.EnvironmentConfigFiles @@ -17,9 +15,6 @@ import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment import org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler import org.jetbrains.kotlin.config.* import org.jetbrains.kotlin.fir.scopes.ProcessorAction -import org.jetbrains.kotlin.test.ConfigurationKind -import org.jetbrains.kotlin.test.KotlinTestUtils -import org.jetbrains.kotlin.test.TestJdkKind import java.io.FileOutputStream import java.io.PrintStream import kotlin.system.measureNanoTime @@ -87,7 +82,7 @@ class NonFirResolveModularizedTotalKotlinTest : AbstractModularizedTest() { } - override fun report(severity: CompilerMessageSeverity, message: String, location: CompilerMessageLocation?) { + override fun report(severity: CompilerMessageSeverity, message: String, location: CompilerMessageSourceLocation?) { if (location != null) print(location.toString()) print(":") diff --git a/compiler/incremental-compilation-impl/src/org/jetbrains/kotlin/incremental/IncrementalCompilerRunner.kt b/compiler/incremental-compilation-impl/src/org/jetbrains/kotlin/incremental/IncrementalCompilerRunner.kt index 61f4f84233b..b3afb5fd51e 100644 --- a/compiler/incremental-compilation-impl/src/org/jetbrains/kotlin/incremental/IncrementalCompilerRunner.kt +++ b/compiler/incremental-compilation-impl/src/org/jetbrains/kotlin/incremental/IncrementalCompilerRunner.kt @@ -20,7 +20,7 @@ import org.jetbrains.kotlin.build.DEFAULT_KOTLIN_SOURCE_FILES_EXTENSIONS import org.jetbrains.kotlin.build.GeneratedFile import org.jetbrains.kotlin.cli.common.ExitCode import org.jetbrains.kotlin.cli.common.arguments.CommonCompilerArguments -import org.jetbrains.kotlin.cli.common.messages.CompilerMessageLocation +import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSourceLocation import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity import org.jetbrains.kotlin.cli.common.messages.MessageCollector import org.jetbrains.kotlin.compilerRunner.MessageCollectorToOutputItemsCollectorAdapter @@ -353,7 +353,7 @@ abstract class IncrementalCompilerRunner< } private class TemporaryMessageCollector(private val delegate: MessageCollector) : MessageCollector { - private class Message(val severity: CompilerMessageSeverity, val message: String, val location: CompilerMessageLocation?) + private class Message(val severity: CompilerMessageSeverity, val message: String, val location: CompilerMessageSourceLocation?) private val messages = ArrayList() @@ -361,7 +361,7 @@ private class TemporaryMessageCollector(private val delegate: MessageCollector) messages.clear() } - override fun report(severity: CompilerMessageSeverity, message: String, location: CompilerMessageLocation?) { + override fun report(severity: CompilerMessageSeverity, message: String, location: CompilerMessageSourceLocation?) { messages.add(Message(severity, message, location)) } diff --git a/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/utils/TestMessageCollector.kt b/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/utils/TestMessageCollector.kt index d249b8b1eab..29fe059f735 100644 --- a/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/utils/TestMessageCollector.kt +++ b/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/utils/TestMessageCollector.kt @@ -16,7 +16,7 @@ package org.jetbrains.kotlin.incremental.utils -import org.jetbrains.kotlin.cli.common.messages.CompilerMessageLocation +import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSourceLocation import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity import org.jetbrains.kotlin.cli.common.messages.MessageCollector import java.util.* @@ -24,7 +24,7 @@ import java.util.* class TestMessageCollector : MessageCollector { val errors = ArrayList() - override fun report(severity: CompilerMessageSeverity, message: String, location: CompilerMessageLocation?) { + override fun report(severity: CompilerMessageSeverity, message: String, location: CompilerMessageSourceLocation?) { if (severity.isError) { errors.add(message) } diff --git a/compiler/tests-common/tests/org/jetbrains/kotlin/test/KotlinTestUtils.java b/compiler/tests-common/tests/org/jetbrains/kotlin/test/KotlinTestUtils.java index 7340680eab1..fd08651fa06 100644 --- a/compiler/tests-common/tests/org/jetbrains/kotlin/test/KotlinTestUtils.java +++ b/compiler/tests-common/tests/org/jetbrains/kotlin/test/KotlinTestUtils.java @@ -43,7 +43,7 @@ import org.jetbrains.kotlin.checkers.CompilerTestLanguageVersionSettingsKt; import org.jetbrains.kotlin.cli.common.CLIConfigurationKeys; import org.jetbrains.kotlin.cli.common.config.ContentRootsKt; import org.jetbrains.kotlin.cli.common.config.KotlinSourceRoot; -import org.jetbrains.kotlin.cli.common.messages.CompilerMessageLocation; +import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSourceLocation; import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity; import org.jetbrains.kotlin.cli.common.messages.MessageCollector; import org.jetbrains.kotlin.cli.jvm.compiler.EnvironmentConfigFiles; @@ -308,7 +308,7 @@ public class KotlinTestUtils { @Override public void report( - @NotNull CompilerMessageSeverity severity, @NotNull String message, @Nullable CompilerMessageLocation location + @NotNull CompilerMessageSeverity severity, @NotNull String message, @Nullable CompilerMessageSourceLocation location ) { if (severity == CompilerMessageSeverity.ERROR) { String prefix = location == null diff --git a/compiler/tests/org/jetbrains/kotlin/modules/xml/AbstractModuleXmlParserTest.java b/compiler/tests/org/jetbrains/kotlin/modules/xml/AbstractModuleXmlParserTest.java index 7b8f49a63ff..0ad4ef765cb 100644 --- a/compiler/tests/org/jetbrains/kotlin/modules/xml/AbstractModuleXmlParserTest.java +++ b/compiler/tests/org/jetbrains/kotlin/modules/xml/AbstractModuleXmlParserTest.java @@ -20,7 +20,7 @@ import com.intellij.openapi.util.io.FileUtil; import junit.framework.TestCase; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import org.jetbrains.kotlin.cli.common.messages.CompilerMessageLocation; +import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSourceLocation; import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity; import org.jetbrains.kotlin.cli.common.messages.MessageCollector; import org.jetbrains.kotlin.cli.common.messages.MessageRenderer; @@ -41,7 +41,7 @@ public abstract class AbstractModuleXmlParserTest extends TestCase { ModuleChunk result = ModuleXmlParser.parseModuleScript(xmlPath, new MessageCollector() { @Override public void report( - @NotNull CompilerMessageSeverity severity, @NotNull String message, @Nullable CompilerMessageLocation location + @NotNull CompilerMessageSeverity severity, @NotNull String message, @Nullable CompilerMessageSourceLocation location ) { throw new AssertionError(MessageRenderer.PLAIN_FULL_PATHS.render(severity, message, location)); } diff --git a/idea/idea-repl/src/org/jetbrains/kotlin/jsr223/KotlinJsr223JvmScriptEngine4Idea.kt b/idea/idea-repl/src/org/jetbrains/kotlin/jsr223/KotlinJsr223JvmScriptEngine4Idea.kt index 3dcbe1a7ff0..eab2ad95d4f 100644 --- a/idea/idea-repl/src/org/jetbrains/kotlin/jsr223/KotlinJsr223JvmScriptEngine4Idea.kt +++ b/idea/idea-repl/src/org/jetbrains/kotlin/jsr223/KotlinJsr223JvmScriptEngine4Idea.kt @@ -16,7 +16,7 @@ package org.jetbrains.kotlin.jsr223 -import org.jetbrains.kotlin.cli.common.messages.CompilerMessageLocation +import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSourceLocation import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity import org.jetbrains.kotlin.cli.common.messages.MessageCollector import org.jetbrains.kotlin.cli.common.repl.* @@ -92,7 +92,7 @@ class KotlinJsr223JvmScriptEngine4Idea( private class MyMessageCollector : MessageCollector { private var hasErrors: Boolean = false - override fun report(severity: CompilerMessageSeverity, message: String, location: CompilerMessageLocation?) { + override fun report(severity: CompilerMessageSeverity, message: String, location: CompilerMessageSourceLocation?) { System.err.println(message) // TODO: proper location printing if (!hasErrors) { hasErrors = severity == CompilerMessageSeverity.EXCEPTION || severity == CompilerMessageSeverity.ERROR diff --git a/jps-plugin/src/org/jetbrains/kotlin/compilerRunner/CompilerRunnerUtil.kt b/jps-plugin/src/org/jetbrains/kotlin/compilerRunner/CompilerRunnerUtil.kt index f603bec80e6..282fded48c8 100644 --- a/jps-plugin/src/org/jetbrains/kotlin/compilerRunner/CompilerRunnerUtil.kt +++ b/jps-plugin/src/org/jetbrains/kotlin/compilerRunner/CompilerRunnerUtil.kt @@ -16,19 +16,16 @@ package org.jetbrains.kotlin.compilerRunner +import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity.ERROR import org.jetbrains.kotlin.cli.common.messages.MessageCollector import org.jetbrains.kotlin.preloading.ClassPreloadingUtils import org.jetbrains.kotlin.preloading.Preloader import org.jetbrains.kotlin.utils.KotlinPaths - +import org.jetbrains.kotlin.utils.KotlinPathsFromBaseDirectory import java.io.File import java.io.PrintStream import java.lang.ref.SoftReference -import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity.ERROR -import org.jetbrains.kotlin.utils.KotlinPathsFromBaseDirectory -import org.jetbrains.kotlin.utils.SmartList - object CompilerRunnerUtil { private var ourClassLoaderRef = SoftReference(null) diff --git a/jps-plugin/src/org/jetbrains/kotlin/jps/build/MessageCollectorAdapter.kt b/jps-plugin/src/org/jetbrains/kotlin/jps/build/MessageCollectorAdapter.kt index 870b4fc3d9c..3ac886c1d27 100644 --- a/jps-plugin/src/org/jetbrains/kotlin/jps/build/MessageCollectorAdapter.kt +++ b/jps-plugin/src/org/jetbrains/kotlin/jps/build/MessageCollectorAdapter.kt @@ -8,7 +8,7 @@ package org.jetbrains.kotlin.jps.build import org.jetbrains.jps.incremental.CompileContext import org.jetbrains.jps.incremental.messages.BuildMessage import org.jetbrains.jps.incremental.messages.CompilerMessage -import org.jetbrains.kotlin.cli.common.messages.CompilerMessageLocation +import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSourceLocation import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity import org.jetbrains.kotlin.cli.common.messages.MessageCollector import org.jetbrains.kotlin.config.CompilerRunnerConstants @@ -21,7 +21,7 @@ class MessageCollectorAdapter( ) : MessageCollector { private var hasErrors = false - override fun report(severity: CompilerMessageSeverity, message: String, location: CompilerMessageLocation?) { + override fun report(severity: CompilerMessageSeverity, message: String, location: CompilerMessageSourceLocation?) { hasErrors = hasErrors || severity.isError var prefix = "" diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/compilerRunner/reportUtils.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/compilerRunner/reportUtils.kt index 4eaac5390b1..c4cc16d6dc4 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/compilerRunner/reportUtils.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/compilerRunner/reportUtils.kt @@ -16,11 +16,8 @@ package org.jetbrains.kotlin.compilerRunner -import org.gradle.api.file.FileCollection -import org.gradle.process.ExecOperations -import org.gradle.process.ExecResult import org.jetbrains.kotlin.cli.common.ExitCode -import org.jetbrains.kotlin.cli.common.messages.CompilerMessageLocation +import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSourceLocation import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity import org.jetbrains.kotlin.cli.common.messages.MessageCollector import org.jetbrains.kotlin.cli.common.messages.MessageRenderer @@ -28,7 +25,6 @@ import org.jetbrains.kotlin.config.KotlinCompilerVersion import org.jetbrains.kotlin.daemon.client.DaemonReportingTargets import org.jetbrains.kotlin.daemon.client.launchProcessWithFallback import org.jetbrains.kotlin.gradle.logging.GradleKotlinLogger -import org.jetbrains.kotlin.gradle.tasks.internal.GradleExecOperationsHolder import org.jetbrains.org.objectweb.asm.ClassReader import org.jetbrains.org.objectweb.asm.ClassVisitor import org.jetbrains.org.objectweb.asm.FieldVisitor @@ -144,7 +140,7 @@ private fun createLoggingMessageCollector(log: KotlinLogger): MessageCollector = override fun hasErrors(): Boolean = hasErrors - override fun report(severity: CompilerMessageSeverity, message: String, location: CompilerMessageLocation?) { + override fun report(severity: CompilerMessageSeverity, message: String, location: CompilerMessageSourceLocation?) { val locMessage = messageRenderer.render(severity, message, location) when (severity) { CompilerMessageSeverity.EXCEPTION -> log.error(locMessage) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/logging/GradleBufferingMessageCollector.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/logging/GradleBufferingMessageCollector.kt index 6b35ab64760..9187bfb9472 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/logging/GradleBufferingMessageCollector.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/logging/GradleBufferingMessageCollector.kt @@ -5,21 +5,21 @@ package org.jetbrains.kotlin.gradle.logging -import org.jetbrains.kotlin.cli.common.messages.CompilerMessageLocation +import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSourceLocation import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity import org.jetbrains.kotlin.cli.common.messages.MessageCollector -import java.util.ArrayList +import java.util.* internal class GradleBufferingMessageCollector : MessageCollector { private class MessageData( val severity: CompilerMessageSeverity, val message: String, - val location: CompilerMessageLocation? + val location: CompilerMessageSourceLocation? ) private val messages = ArrayList() - override fun report(severity: CompilerMessageSeverity, message: String, location: CompilerMessageLocation?) { + override fun report(severity: CompilerMessageSeverity, message: String, location: CompilerMessageSourceLocation?) { synchronized(messages) { messages.add(MessageData(severity, message, location)) } diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/logging/GradlePrintingMessageCollector.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/logging/GradlePrintingMessageCollector.kt index 8e6ab13ae5c..755f7bc79da 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/logging/GradlePrintingMessageCollector.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/logging/GradlePrintingMessageCollector.kt @@ -6,7 +6,7 @@ package org.jetbrains.kotlin.gradle.logging import org.gradle.api.logging.Logger -import org.jetbrains.kotlin.cli.common.messages.CompilerMessageLocation +import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSourceLocation import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity import org.jetbrains.kotlin.cli.common.messages.GradleStyleMessageRenderer import org.jetbrains.kotlin.cli.common.messages.MessageCollector @@ -29,7 +29,7 @@ internal class GradlePrintingMessageCollector( // Do nothing } - override fun report(severity: CompilerMessageSeverity, message: String, location: CompilerMessageLocation?) { + override fun report(severity: CompilerMessageSeverity, message: String, location: CompilerMessageSourceLocation?) { val renderedMessage = messageRenderer.render(severity, message, location) when (severity) { diff --git a/libraries/tools/kotlin-maven-plugin/src/main/java/org/jetbrains/kotlin/maven/MavenPluginLogMessageCollector.java b/libraries/tools/kotlin-maven-plugin/src/main/java/org/jetbrains/kotlin/maven/MavenPluginLogMessageCollector.java index 2fa130ef475..7b932d2e548 100644 --- a/libraries/tools/kotlin-maven-plugin/src/main/java/org/jetbrains/kotlin/maven/MavenPluginLogMessageCollector.java +++ b/libraries/tools/kotlin-maven-plugin/src/main/java/org/jetbrains/kotlin/maven/MavenPluginLogMessageCollector.java @@ -21,8 +21,8 @@ import org.apache.maven.plugin.logging.Log; import org.codehaus.plexus.compiler.CompilerMessage; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import org.jetbrains.kotlin.cli.common.messages.CompilerMessageLocation; import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity; +import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSourceLocation; import org.jetbrains.kotlin.cli.common.messages.MessageCollector; import java.util.ArrayList; @@ -34,7 +34,7 @@ import static com.google.common.base.Preconditions.checkNotNull; public class MavenPluginLogMessageCollector implements MessageCollector { private final Log log; - private final ArrayList> collectedErrors = new ArrayList<>(); + private final ArrayList> collectedErrors = new ArrayList<>(); public MavenPluginLogMessageCollector(Log log) { this.log = checkNotNull(log, "log shouldn't be null"); @@ -46,7 +46,7 @@ public class MavenPluginLogMessageCollector implements MessageCollector { } @NotNull - public List> getCollectedErrors() { + public List> getCollectedErrors() { return Collections.unmodifiableList(collectedErrors); } @@ -56,7 +56,7 @@ public class MavenPluginLogMessageCollector implements MessageCollector { } @Override - public void report(@NotNull CompilerMessageSeverity severity, @NotNull String message, @Nullable CompilerMessageLocation location) { + public void report(@NotNull CompilerMessageSeverity severity, @NotNull String message, @Nullable CompilerMessageSourceLocation location) { String position = location == null ? "" : location.getPath() + ": (" + (location.getLine() + ", " + location.getColumn()) + ") "; String text = position + message; @@ -90,7 +90,7 @@ public class MavenPluginLogMessageCollector implements MessageCollector { public void throwKotlinCompilerException() throws KotlinCompilationFailureException { throw new KotlinCompilationFailureException(getCollectedErrors().stream().map(pair -> { - CompilerMessageLocation location = pair.getFirst(); + CompilerMessageSourceLocation location = pair.getFirst(); String message = pair.getSecond(); if (location == null) { return new CompilerMessage(null, CompilerMessage.Kind.ERROR, 0, 0, 0, 0, message); diff --git a/plugins/jvm-abi-gen/test/org/jetbrains/kotlin/jvm/abi/LocationReportingTestMessageCollector.kt b/plugins/jvm-abi-gen/test/org/jetbrains/kotlin/jvm/abi/LocationReportingTestMessageCollector.kt index 18e8b105306..776801c7824 100644 --- a/plugins/jvm-abi-gen/test/org/jetbrains/kotlin/jvm/abi/LocationReportingTestMessageCollector.kt +++ b/plugins/jvm-abi-gen/test/org/jetbrains/kotlin/jvm/abi/LocationReportingTestMessageCollector.kt @@ -1,14 +1,14 @@ package org.jetbrains.kotlin.jvm.abi -import org.jetbrains.kotlin.cli.common.messages.CompilerMessageLocation +import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSourceLocation import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity import org.jetbrains.kotlin.cli.common.messages.MessageCollector -import java.util.ArrayList +import java.util.* internal class LocationReportingTestMessageCollector : MessageCollector { val errors = ArrayList() - override fun report(severity: CompilerMessageSeverity, message: String, location: CompilerMessageLocation?) { + override fun report(severity: CompilerMessageSeverity, message: String, location: CompilerMessageSourceLocation?) { if (severity.isError) { errors.add("e: $location: $message") } diff --git a/plugins/kapt3/kapt3-cli/test/org/jetbrains/kotlin/kapt/cli/test/AbstractArgumentParsingTest.kt b/plugins/kapt3/kapt3-cli/test/org/jetbrains/kotlin/kapt/cli/test/AbstractArgumentParsingTest.kt index a88f5acf204..e5c1f339192 100644 --- a/plugins/kapt3/kapt3-cli/test/org/jetbrains/kotlin/kapt/cli/test/AbstractArgumentParsingTest.kt +++ b/plugins/kapt3/kapt3-cli/test/org/jetbrains/kotlin/kapt/cli/test/AbstractArgumentParsingTest.kt @@ -5,8 +5,8 @@ package org.jetbrains.kotlin.kapt.cli.test import junit.framework.TestCase -import org.jetbrains.kotlin.cli.common.messages.CompilerMessageLocation import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity +import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSourceLocation import org.jetbrains.kotlin.cli.common.messages.MessageCollector import org.jetbrains.kotlin.kapt.cli.transformArgs import org.jetbrains.kotlin.test.JUnit3RunnerWithInners @@ -34,7 +34,7 @@ abstract class AbstractArgumentParsingTest : TestCase() { } class TestMessageCollector : MessageCollector { - data class Message(val severity: CompilerMessageSeverity, val message: String, val location: CompilerMessageLocation?) + data class Message(val severity: CompilerMessageSeverity, val message: String, val location: CompilerMessageSourceLocation?) val messages = arrayListOf() @@ -42,7 +42,7 @@ class TestMessageCollector : MessageCollector { messages.clear() } - override fun report(severity: CompilerMessageSeverity, message: String, location: CompilerMessageLocation?) { + override fun report(severity: CompilerMessageSeverity, message: String, location: CompilerMessageSourceLocation?) { messages.add(Message(severity, message, location)) } diff --git a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/impl/errorReporting.kt b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/impl/errorReporting.kt index b29dd6837a5..96b5a0a7923 100644 --- a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/impl/errorReporting.kt +++ b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/impl/errorReporting.kt @@ -7,7 +7,7 @@ package org.jetbrains.kotlin.scripting.compiler.plugin.impl import org.jetbrains.kotlin.cli.common.arguments.Argument import org.jetbrains.kotlin.cli.common.arguments.K2JVMCompilerArguments -import org.jetbrains.kotlin.cli.common.messages.CompilerMessageLocation +import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSourceLocation import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity import org.jetbrains.kotlin.cli.common.messages.MessageCollector import org.jetbrains.kotlin.scripting.definitions.MessageReporter @@ -32,7 +32,7 @@ class ScriptDiagnosticsMessageCollector(private val parentMessageCollector: Mess override fun hasErrors(): Boolean = _diagnostics.any { it.severity == ScriptDiagnostic.Severity.ERROR } || parentMessageCollector?.hasErrors() == true - override fun report(severity: CompilerMessageSeverity, message: String, location: CompilerMessageLocation?) { + override fun report(severity: CompilerMessageSeverity, message: String, location: CompilerMessageSourceLocation?) { val mappedSeverity = severity.toScriptingSeverity() if (mappedSeverity != null) { val mappedLocation = location?.let { diff --git a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/repl/ReplInterpreter.kt b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/repl/ReplInterpreter.kt index 923950df763..de01efa290a 100644 --- a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/repl/ReplInterpreter.kt +++ b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/repl/ReplInterpreter.kt @@ -7,7 +7,7 @@ package org.jetbrains.kotlin.scripting.compiler.plugin.repl import com.intellij.openapi.Disposable import org.jetbrains.kotlin.cli.common.CLIConfigurationKeys -import org.jetbrains.kotlin.cli.common.messages.CompilerMessageLocation +import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSourceLocation import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity import org.jetbrains.kotlin.cli.common.messages.MessageCollector import org.jetbrains.kotlin.cli.common.messages.MessageRenderer @@ -54,7 +54,7 @@ class ReplInterpreter( hasErrors = false } - override fun report(severity: CompilerMessageSeverity, message: String, location: CompilerMessageLocation?) { + override fun report(severity: CompilerMessageSeverity, message: String, location: CompilerMessageSourceLocation?) { val msg = messageRenderer.render(severity, message, location).trimEnd() with(replConfiguration.writer) { when (severity) { diff --git a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/repl/js/JsReplUtils.kt b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/repl/js/JsReplUtils.kt index 832994859a3..d9da0c9b29a 100644 --- a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/repl/js/JsReplUtils.kt +++ b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/repl/js/JsReplUtils.kt @@ -9,7 +9,7 @@ import com.intellij.openapi.project.Project import com.intellij.psi.PsiFileFactory import com.intellij.psi.impl.PsiFileFactoryImpl import org.jetbrains.kotlin.cli.common.CLIConfigurationKeys -import org.jetbrains.kotlin.cli.common.messages.CompilerMessageLocation +import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSourceLocation import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity import org.jetbrains.kotlin.cli.common.messages.GroupingMessageCollector import org.jetbrains.kotlin.cli.common.messages.MessageCollector @@ -85,7 +85,7 @@ class ReplMessageCollector : MessageCollector { messages.clear() } - override fun report(severity: CompilerMessageSeverity, message: String, location: CompilerMessageLocation?) { + override fun report(severity: CompilerMessageSeverity, message: String, location: CompilerMessageSourceLocation?) { if (severity == CompilerMessageSeverity.ERROR) hasErrors = true messages.add(Pair(severity, message)) } diff --git a/plugins/scripting/scripting-compiler/tests/org/jetbrains/kotlin/scripting/compiler/plugin/ScriptingCompilerPluginTest.kt b/plugins/scripting/scripting-compiler/tests/org/jetbrains/kotlin/scripting/compiler/plugin/ScriptingCompilerPluginTest.kt index 738e5928308..f82b4b866ec 100644 --- a/plugins/scripting/scripting-compiler/tests/org/jetbrains/kotlin/scripting/compiler/plugin/ScriptingCompilerPluginTest.kt +++ b/plugins/scripting/scripting-compiler/tests/org/jetbrains/kotlin/scripting/compiler/plugin/ScriptingCompilerPluginTest.kt @@ -11,7 +11,7 @@ import org.jetbrains.kotlin.cli.common.CLIConfigurationKeys import org.jetbrains.kotlin.cli.common.ExitCode import org.jetbrains.kotlin.cli.common.config.addKotlinSourceRoots import org.jetbrains.kotlin.cli.common.environment.setIdeaIoUseFallback -import org.jetbrains.kotlin.cli.common.messages.CompilerMessageLocation +import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSourceLocation import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity import org.jetbrains.kotlin.cli.common.messages.MessageCollector import org.jetbrains.kotlin.cli.jvm.K2JVMCompiler @@ -248,7 +248,7 @@ class ScriptingCompilerPluginTest : TestCase() { class TestMessageCollector : MessageCollector { - data class Message(val severity: CompilerMessageSeverity, val message: String, val location: CompilerMessageLocation?) + data class Message(val severity: CompilerMessageSeverity, val message: String, val location: CompilerMessageSourceLocation?) val messages = arrayListOf() @@ -256,7 +256,7 @@ class TestMessageCollector : MessageCollector { messages.clear() } - override fun report(severity: CompilerMessageSeverity, message: String, location: CompilerMessageLocation?) { + override fun report(severity: CompilerMessageSeverity, message: String, location: CompilerMessageSourceLocation?) { messages.add(Message(severity, message, location)) } diff --git a/prepare/compiler-client-embeddable/tests/kotlin/org/jetbrains/kotlin/compiler/client/CompilerClientIT.kt b/prepare/compiler-client-embeddable/tests/kotlin/org/jetbrains/kotlin/compiler/client/CompilerClientIT.kt index 467d69d0f0a..aec3675251a 100644 --- a/prepare/compiler-client-embeddable/tests/kotlin/org/jetbrains/kotlin/compiler/client/CompilerClientIT.kt +++ b/prepare/compiler-client-embeddable/tests/kotlin/org/jetbrains/kotlin/compiler/client/CompilerClientIT.kt @@ -16,19 +16,24 @@ package org.jetbrains.kotlin.compiler.client +import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity +import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSourceLocation +import org.jetbrains.kotlin.cli.common.messages.MessageCollector +import org.jetbrains.kotlin.daemon.client.DaemonReportMessage +import org.jetbrains.kotlin.daemon.client.DaemonReportingTargets +import org.jetbrains.kotlin.daemon.client.KotlinCompilerClient +import org.jetbrains.kotlin.daemon.common.CompileService +import org.jetbrains.kotlin.daemon.common.CompilerId +import org.jetbrains.kotlin.daemon.common.DaemonOptions +import org.jetbrains.kotlin.daemon.common.ReportSeverity import org.junit.Rule import org.junit.Test import org.junit.rules.TemporaryFolder +import java.io.ByteArrayOutputStream import java.io.File import java.io.FileNotFoundException -import kotlin.test.assertEquals -import org.jetbrains.kotlin.daemon.client.* -import org.jetbrains.kotlin.daemon.common.* -import org.jetbrains.kotlin.cli.common.messages.CompilerMessageLocation -import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity -import org.jetbrains.kotlin.cli.common.messages.MessageCollector -import java.io.ByteArrayOutputStream import java.io.PrintStream +import kotlin.test.assertEquals class CompilerClientIT { @@ -110,7 +115,7 @@ internal fun captureOutAndErr(body: () -> Unit): String { class TestMessageCollector : MessageCollector { - data class Message(val severity: CompilerMessageSeverity, val message: String, val location: CompilerMessageLocation?) + data class Message(val severity: CompilerMessageSeverity, val message: String, val location: CompilerMessageSourceLocation?) val messages = arrayListOf() @@ -118,7 +123,7 @@ class TestMessageCollector : MessageCollector { messages.clear() } - override fun report(severity: CompilerMessageSeverity, message: String, location: CompilerMessageLocation?) { + override fun report(severity: CompilerMessageSeverity, message: String, location: CompilerMessageSourceLocation?) { messages.add(Message(severity, message, location)) }