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.
This commit is contained in:
+2
-2
@@ -16,7 +16,7 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.compilerRunner
|
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.CompilerMessageSeverity
|
||||||
import org.jetbrains.kotlin.cli.common.messages.MessageCollector
|
import org.jetbrains.kotlin.cli.common.messages.MessageCollector
|
||||||
import org.jetbrains.kotlin.cli.common.messages.OutputMessageUtil
|
import org.jetbrains.kotlin.cli.common.messages.OutputMessageUtil
|
||||||
@@ -25,7 +25,7 @@ class MessageCollectorToOutputItemsCollectorAdapter(
|
|||||||
private val delegate: MessageCollector,
|
private val delegate: MessageCollector,
|
||||||
private val outputCollector: OutputItemsCollector
|
private val outputCollector: OutputItemsCollector
|
||||||
) : MessageCollector by delegate {
|
) : 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
|
// TODO: consider adding some other way of passing input -> output mapping from compiler, e.g. dedicated service
|
||||||
OutputMessageUtil.parseOutputMessage(message)?.let {
|
OutputMessageUtil.parseOutputMessage(message)?.let {
|
||||||
outputCollector.add(it.sourceFiles, it.outputFile)
|
outputCollector.add(it.sourceFiles, it.outputFile)
|
||||||
|
|||||||
+1
-1
@@ -67,7 +67,7 @@ class BuiltInsSerializer(dependOnOldBuiltIns: Boolean) : MetadataSerializer(Buil
|
|||||||
PrintingMessageCollector(System.err, MessageRenderer.PLAIN_RELATIVE_PATHS, false),
|
PrintingMessageCollector(System.err, MessageRenderer.PLAIN_RELATIVE_PATHS, false),
|
||||||
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
|
// 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.)
|
// (functions without bodies, incorrect combination of modifiers, etc.)
|
||||||
if (location == null) {
|
if (location == null) {
|
||||||
|
|||||||
+15
-8
@@ -18,23 +18,30 @@ package org.jetbrains.kotlin.cli.common.messages
|
|||||||
|
|
||||||
import java.io.Serializable
|
import java.io.Serializable
|
||||||
|
|
||||||
|
interface CompilerMessageSourceLocation : Serializable {
|
||||||
|
val path: String
|
||||||
|
val line: Int
|
||||||
|
val column: Int
|
||||||
|
val lineContent: String?
|
||||||
|
}
|
||||||
|
|
||||||
data class CompilerMessageLocation private constructor(
|
data class CompilerMessageLocation private constructor(
|
||||||
val path: String,
|
override val path: String,
|
||||||
val line: Int,
|
override val line: Int,
|
||||||
val column: Int,
|
override val column: Int,
|
||||||
val lineContent: String?
|
override val lineContent: String?
|
||||||
) : Serializable {
|
) : CompilerMessageSourceLocation {
|
||||||
override fun toString(): String =
|
override fun toString(): String =
|
||||||
path + (if (line != -1 || column != -1) " ($line:$column)" else "")
|
path + (if (line != -1 || column != -1) " ($line:$column)" else "")
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
fun create(path: String?): CompilerMessageLocation? =
|
fun create(path: String?): CompilerMessageLocation? =
|
||||||
create(path, -1, -1, null)
|
create(path, -1, -1, null)
|
||||||
|
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
fun create(path: String?, line: Int, column: Int, lineContent: String?): CompilerMessageLocation? =
|
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
|
private val serialVersionUID: Long = 8228357578L
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -36,7 +36,7 @@ public class FilteringMessageCollector implements MessageCollector {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@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)) {
|
if (!decline.test(severity)) {
|
||||||
messageCollector.report(severity, message, location);
|
messageCollector.report(severity, message, location);
|
||||||
}
|
}
|
||||||
|
|||||||
+8
-9
@@ -24,7 +24,6 @@ import org.jetbrains.annotations.Nullable;
|
|||||||
|
|
||||||
import java.util.Comparator;
|
import java.util.Comparator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
public class GroupingMessageCollector implements MessageCollector {
|
public class GroupingMessageCollector implements MessageCollector {
|
||||||
@@ -32,7 +31,7 @@ public class GroupingMessageCollector implements MessageCollector {
|
|||||||
private final boolean treatWarningsAsErrors;
|
private final boolean treatWarningsAsErrors;
|
||||||
|
|
||||||
// Note that the key in this map can be null
|
// Note that the key in this map can be null
|
||||||
private final Multimap<CompilerMessageLocation, Message> groupedMessages = LinkedHashMultimap.create();
|
private final Multimap<CompilerMessageSourceLocation, Message> groupedMessages = LinkedHashMultimap.create();
|
||||||
|
|
||||||
public GroupingMessageCollector(@NotNull MessageCollector delegate, boolean treatWarningsAsErrors) {
|
public GroupingMessageCollector(@NotNull MessageCollector delegate, boolean treatWarningsAsErrors) {
|
||||||
this.delegate = delegate;
|
this.delegate = delegate;
|
||||||
@@ -48,7 +47,7 @@ public class GroupingMessageCollector implements MessageCollector {
|
|||||||
public void report(
|
public void report(
|
||||||
@NotNull CompilerMessageSeverity severity,
|
@NotNull CompilerMessageSeverity severity,
|
||||||
@NotNull String message,
|
@NotNull String message,
|
||||||
@Nullable CompilerMessageLocation location
|
@Nullable CompilerMessageSourceLocation location
|
||||||
) {
|
) {
|
||||||
if (CompilerMessageSeverity.VERBOSE.contains(severity)) {
|
if (CompilerMessageSeverity.VERBOSE.contains(severity)) {
|
||||||
delegate.report(severity, message, location);
|
delegate.report(severity, message, location);
|
||||||
@@ -78,9 +77,9 @@ public class GroupingMessageCollector implements MessageCollector {
|
|||||||
report(CompilerMessageSeverity.ERROR, "warnings found and -Werror specified", null);
|
report(CompilerMessageSeverity.ERROR, "warnings found and -Werror specified", null);
|
||||||
}
|
}
|
||||||
|
|
||||||
List<CompilerMessageLocation> sortedKeys =
|
List<CompilerMessageSourceLocation> sortedKeys =
|
||||||
CollectionsKt.sortedWith(groupedMessages.keySet(), Comparator.nullsFirst(CompilerMessageLocationComparator.INSTANCE));
|
CollectionsKt.sortedWith(groupedMessages.keySet(), Comparator.nullsFirst(CompilerMessageLocationComparator.INSTANCE));
|
||||||
for (CompilerMessageLocation location : sortedKeys) {
|
for (CompilerMessageSourceLocation location : sortedKeys) {
|
||||||
for (Message message : groupedMessages.get(location)) {
|
for (Message message : groupedMessages.get(location)) {
|
||||||
if (!hasExplicitErrors || message.severity.isError() || message.severity == CompilerMessageSeverity.STRONG_WARNING) {
|
if (!hasExplicitErrors || message.severity.isError() || message.severity == CompilerMessageSeverity.STRONG_WARNING) {
|
||||||
delegate.report(message.severity, message.message, message.location);
|
delegate.report(message.severity, message.message, message.location);
|
||||||
@@ -91,7 +90,7 @@ public class GroupingMessageCollector implements MessageCollector {
|
|||||||
groupedMessages.clear();
|
groupedMessages.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
private static class CompilerMessageLocationComparator implements Comparator<CompilerMessageLocation> {
|
private static class CompilerMessageLocationComparator implements Comparator<CompilerMessageSourceLocation> {
|
||||||
public static final CompilerMessageLocationComparator INSTANCE = new CompilerMessageLocationComparator();
|
public static final CompilerMessageLocationComparator INSTANCE = new CompilerMessageLocationComparator();
|
||||||
|
|
||||||
// First, output all messages without any location information. Then, only those with the file path.
|
// 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: error: bad line
|
||||||
// foo.kt:42:43: error: bad character
|
// foo.kt:42:43: error: bad character
|
||||||
@Override
|
@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;
|
||||||
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 static class Message {
|
||||||
private final CompilerMessageSeverity severity;
|
private final CompilerMessageSeverity severity;
|
||||||
private final String message;
|
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.severity = severity;
|
||||||
this.message = message;
|
this.message = message;
|
||||||
this.location = location;
|
this.location = location;
|
||||||
|
|||||||
+2
-2
@@ -19,13 +19,13 @@ package org.jetbrains.kotlin.cli.common.messages
|
|||||||
interface MessageCollector {
|
interface MessageCollector {
|
||||||
fun clear()
|
fun clear()
|
||||||
|
|
||||||
fun report(severity: CompilerMessageSeverity, message: String, location: CompilerMessageLocation? = null)
|
fun report(severity: CompilerMessageSeverity, message: String, location: CompilerMessageSourceLocation? = null)
|
||||||
|
|
||||||
fun hasErrors(): Boolean
|
fun hasErrors(): Boolean
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
val NONE: MessageCollector = object : MessageCollector {
|
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
|
// Do nothing
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -7,7 +7,7 @@ package org.jetbrains.kotlin.cli.common.messages
|
|||||||
|
|
||||||
class GradleStyleMessageRenderer : MessageRenderer {
|
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) {
|
val prefix = when (severity) {
|
||||||
CompilerMessageSeverity.WARNING, CompilerMessageSeverity.STRONG_WARNING -> "w"
|
CompilerMessageSeverity.WARNING, CompilerMessageSeverity.STRONG_WARNING -> "w"
|
||||||
CompilerMessageSeverity.ERROR, CompilerMessageSeverity.EXCEPTION -> "e"
|
CompilerMessageSeverity.ERROR, CompilerMessageSeverity.EXCEPTION -> "e"
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ public interface MessageRenderer {
|
|||||||
MessageRenderer WITHOUT_PATHS = new PlainTextMessageRenderer() {
|
MessageRenderer WITHOUT_PATHS = new PlainTextMessageRenderer() {
|
||||||
@Nullable
|
@Nullable
|
||||||
@Override
|
@Override
|
||||||
protected String getPath(@NotNull CompilerMessageLocation location) {
|
protected String getPath(@NotNull CompilerMessageSourceLocation location) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -45,7 +45,7 @@ public interface MessageRenderer {
|
|||||||
MessageRenderer PLAIN_FULL_PATHS = new PlainTextMessageRenderer() {
|
MessageRenderer PLAIN_FULL_PATHS = new PlainTextMessageRenderer() {
|
||||||
@NotNull
|
@NotNull
|
||||||
@Override
|
@Override
|
||||||
protected String getPath(@NotNull CompilerMessageLocation location) {
|
protected String getPath(@NotNull CompilerMessageSourceLocation location) {
|
||||||
return location.getPath();
|
return location.getPath();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -60,7 +60,7 @@ public interface MessageRenderer {
|
|||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
@Override
|
@Override
|
||||||
protected String getPath(@NotNull CompilerMessageLocation location) {
|
protected String getPath(@NotNull CompilerMessageSourceLocation location) {
|
||||||
return FileUtilsKt.descendantRelativeTo(new File(location.getPath()), cwd).getPath();
|
return FileUtilsKt.descendantRelativeTo(new File(location.getPath()), cwd).getPath();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -75,7 +75,7 @@ public interface MessageRenderer {
|
|||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
@Override
|
@Override
|
||||||
protected String getPath(@NotNull CompilerMessageLocation location) {
|
protected String getPath(@NotNull CompilerMessageSourceLocation location) {
|
||||||
return FileUtil.toSystemIndependentName(
|
return FileUtil.toSystemIndependentName(
|
||||||
FileUtilsKt.descendantRelativeTo(new File(location.getPath()), cwd).getPath()
|
FileUtilsKt.descendantRelativeTo(new File(location.getPath()), cwd).getPath()
|
||||||
);
|
);
|
||||||
@@ -91,7 +91,7 @@ public interface MessageRenderer {
|
|||||||
|
|
||||||
String renderPreamble();
|
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);
|
String renderUsage(@NotNull String usage);
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -58,7 +58,7 @@ public abstract class PlainTextMessageRenderer implements MessageRenderer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@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();
|
StringBuilder result = new StringBuilder();
|
||||||
|
|
||||||
int line = location != null ? location.getLine() : -1;
|
int line = location != null ? location.getLine() : -1;
|
||||||
@@ -156,7 +156,7 @@ public abstract class PlainTextMessageRenderer implements MessageRenderer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
protected abstract String getPath(@NotNull CompilerMessageLocation location);
|
protected abstract String getPath(@NotNull CompilerMessageSourceLocation location);
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String renderUsage(@NotNull String usage) {
|
public String renderUsage(@NotNull String usage) {
|
||||||
|
|||||||
+1
-1
@@ -42,7 +42,7 @@ public class PrintingMessageCollector implements MessageCollector {
|
|||||||
public void report(
|
public void report(
|
||||||
@NotNull CompilerMessageSeverity severity,
|
@NotNull CompilerMessageSeverity severity,
|
||||||
@NotNull String message,
|
@NotNull String message,
|
||||||
@Nullable CompilerMessageLocation location
|
@Nullable CompilerMessageSourceLocation location
|
||||||
) {
|
) {
|
||||||
if (!verbose && CompilerMessageSeverity.VERBOSE.contains(severity)) return;
|
if (!verbose && CompilerMessageSeverity.VERBOSE.contains(severity)) return;
|
||||||
|
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ public class XmlMessageRenderer implements MessageRenderer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@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();
|
StringBuilder out = new StringBuilder();
|
||||||
String tagName = severity.getPresentableName();
|
String tagName = severity.getPresentableName();
|
||||||
out.append("<").append(tagName);
|
out.append("<").append(tagName);
|
||||||
|
|||||||
@@ -26,7 +26,6 @@ import org.jetbrains.kotlin.compiler.plugin.*
|
|||||||
import org.jetbrains.kotlin.config.CompilerConfiguration
|
import org.jetbrains.kotlin.config.CompilerConfiguration
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import java.net.URLClassLoader
|
import java.net.URLClassLoader
|
||||||
import java.util.*
|
|
||||||
|
|
||||||
object PluginCliParser {
|
object PluginCliParser {
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
|
|||||||
@@ -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.compiler.KotlinCoreEnvironment
|
||||||
import org.jetbrains.kotlin.cli.jvm.config.K2MetadataConfigurationKeys
|
import org.jetbrains.kotlin.cli.jvm.config.K2MetadataConfigurationKeys
|
||||||
import org.jetbrains.kotlin.cli.jvm.config.addJvmClasspathRoots
|
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.codegen.CompilationException
|
||||||
import org.jetbrains.kotlin.config.CommonConfigurationKeys
|
import org.jetbrains.kotlin.config.CommonConfigurationKeys
|
||||||
import org.jetbrains.kotlin.config.CompilerConfiguration
|
import org.jetbrains.kotlin.config.CompilerConfiguration
|
||||||
|
|||||||
+6
-5
@@ -6,19 +6,21 @@
|
|||||||
package org.jetbrains.kotlin.daemon.client.experimental
|
package org.jetbrains.kotlin.daemon.client.experimental
|
||||||
|
|
||||||
import io.ktor.network.sockets.Socket
|
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.CompilerMessageSeverity
|
||||||
import org.jetbrains.kotlin.cli.common.messages.MessageCollector
|
import org.jetbrains.kotlin.cli.common.messages.MessageCollector
|
||||||
import org.jetbrains.kotlin.daemon.client.CompileServiceSessionAsync
|
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.DaemonReportMessage
|
||||||
import org.jetbrains.kotlin.daemon.client.DaemonReportingTargets
|
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.*
|
||||||
import org.jetbrains.kotlin.daemon.common.Profiler
|
|
||||||
import org.jetbrains.kotlin.daemon.common.experimental.*
|
import org.jetbrains.kotlin.daemon.common.experimental.*
|
||||||
import org.jetbrains.kotlin.daemon.common.experimental.socketInfrastructure.Server
|
import org.jetbrains.kotlin.daemon.common.experimental.socketInfrastructure.Server
|
||||||
import org.jetbrains.kotlin.daemon.common.experimental.socketInfrastructure.ServerSocketWrapper
|
import org.jetbrains.kotlin.daemon.common.experimental.socketInfrastructure.ServerSocketWrapper
|
||||||
import org.jetbrains.kotlin.daemon.common.*
|
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import java.io.Serializable
|
import java.io.Serializable
|
||||||
import java.net.SocketException
|
import java.net.SocketException
|
||||||
@@ -30,7 +32,6 @@ import java.util.concurrent.Semaphore
|
|||||||
import java.util.concurrent.TimeUnit
|
import java.util.concurrent.TimeUnit
|
||||||
import java.util.logging.Logger
|
import java.util.logging.Logger
|
||||||
import kotlin.concurrent.thread
|
import kotlin.concurrent.thread
|
||||||
import org.jetbrains.kotlin.daemon.client.launchProcessWithFallback
|
|
||||||
|
|
||||||
|
|
||||||
class KotlinCompilerClient : KotlinCompilerDaemonClient {
|
class KotlinCompilerClient : KotlinCompilerDaemonClient {
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ package org.jetbrains.kotlin.daemon
|
|||||||
|
|
||||||
import com.intellij.openapi.application.ApplicationManager
|
import com.intellij.openapi.application.ApplicationManager
|
||||||
import org.jetbrains.kotlin.cli.common.arguments.K2JVMCompilerArguments
|
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.CompilerMessageSeverity
|
||||||
import org.jetbrains.kotlin.cli.common.messages.MessageCollector
|
import org.jetbrains.kotlin.cli.common.messages.MessageCollector
|
||||||
import org.jetbrains.kotlin.cli.common.messages.OutputMessageUtil
|
import org.jetbrains.kotlin.cli.common.messages.OutputMessageUtil
|
||||||
@@ -181,7 +181,7 @@ class CompilerApiTest : KotlinIntegrationTestBase() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
class TestMessageCollector : MessageCollector {
|
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<Message>()
|
val messages = arrayListOf<Message>()
|
||||||
|
|
||||||
@@ -189,7 +189,7 @@ class TestMessageCollector : MessageCollector {
|
|||||||
messages.clear()
|
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))
|
messages.add(Message(severity, message, location))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+3
-3
@@ -8,7 +8,7 @@ package org.jetbrains.kotlin.daemon.experimental.integration
|
|||||||
import com.intellij.openapi.application.ApplicationManager
|
import com.intellij.openapi.application.ApplicationManager
|
||||||
import kotlinx.coroutines.runBlocking
|
import kotlinx.coroutines.runBlocking
|
||||||
import org.jetbrains.kotlin.cli.common.arguments.K2JVMCompilerArguments
|
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.CompilerMessageSeverity
|
||||||
import org.jetbrains.kotlin.cli.common.messages.MessageCollector
|
import org.jetbrains.kotlin.cli.common.messages.MessageCollector
|
||||||
import org.jetbrains.kotlin.cli.common.messages.OutputMessageUtil
|
import org.jetbrains.kotlin.cli.common.messages.OutputMessageUtil
|
||||||
@@ -301,7 +301,7 @@ class CompilerApiTest : KotlinIntegrationTestBase() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
class TestMessageCollector : MessageCollector {
|
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<Message>()
|
val messages = arrayListOf<Message>()
|
||||||
|
|
||||||
@@ -309,7 +309,7 @@ class TestMessageCollector : MessageCollector {
|
|||||||
messages.clear()
|
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))
|
messages.add(Message(severity, message, location))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -168,9 +168,9 @@ internal class KeepFirstErrorMessageCollector(compilerMessagesStream: PrintStrea
|
|||||||
private val innerCollector = PrintingMessageCollector(compilerMessagesStream, MessageRenderer.WITHOUT_PATHS, false)
|
private val innerCollector = PrintingMessageCollector(compilerMessagesStream, MessageRenderer.WITHOUT_PATHS, false)
|
||||||
|
|
||||||
internal var firstErrorMessage: String? = null
|
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) {
|
if (firstErrorMessage == null && severity.isError) {
|
||||||
firstErrorMessage = message
|
firstErrorMessage = message
|
||||||
firstErrorLocation = location
|
firstErrorLocation = location
|
||||||
|
|||||||
+2
-2
@@ -16,7 +16,7 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.daemon.report
|
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.CompilerMessageSeverity
|
||||||
import org.jetbrains.kotlin.cli.common.messages.MessageCollector
|
import org.jetbrains.kotlin.cli.common.messages.MessageCollector
|
||||||
import org.jetbrains.kotlin.cli.common.messages.MessageRenderer
|
import org.jetbrains.kotlin.cli.common.messages.MessageRenderer
|
||||||
@@ -34,7 +34,7 @@ internal class CompileServicesFacadeMessageCollector(
|
|||||||
hasErrors = false
|
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))
|
log.info("Message: " + MessageRenderer.WITHOUT_PATHS.render(severity, message, location))
|
||||||
when (severity) {
|
when (severity) {
|
||||||
CompilerMessageSeverity.OUTPUT -> {
|
CompilerMessageSeverity.OUTPUT -> {
|
||||||
|
|||||||
+5
-8
@@ -5,17 +5,14 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.daemon.report.experimental
|
package org.jetbrains.kotlin.daemon.report.experimental
|
||||||
|
|
||||||
import kotlinx.coroutines.*
|
import kotlinx.coroutines.GlobalScope
|
||||||
import org.jetbrains.kotlin.cli.common.messages.CompilerMessageLocation
|
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.CompilerMessageSeverity
|
||||||
import org.jetbrains.kotlin.cli.common.messages.MessageCollector
|
import org.jetbrains.kotlin.cli.common.messages.MessageCollector
|
||||||
import org.jetbrains.kotlin.cli.common.messages.MessageRenderer
|
import org.jetbrains.kotlin.cli.common.messages.MessageRenderer
|
||||||
import org.jetbrains.kotlin.daemon.KotlinCompileDaemon.log
|
import org.jetbrains.kotlin.daemon.KotlinCompileDaemon.log
|
||||||
import org.jetbrains.kotlin.daemon.common.CompilationOptions
|
import org.jetbrains.kotlin.daemon.common.*
|
||||||
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
|
|
||||||
|
|
||||||
internal class CompileServicesFacadeMessageCollector(
|
internal class CompileServicesFacadeMessageCollector(
|
||||||
private val servicesFacade: CompilerServicesFacadeBaseAsync,
|
private val servicesFacade: CompilerServicesFacadeBaseAsync,
|
||||||
@@ -28,7 +25,7 @@ internal class CompileServicesFacadeMessageCollector(
|
|||||||
hasErrors = false
|
hasErrors = false
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun report(severity: CompilerMessageSeverity, message: String, location: CompilerMessageLocation?) {
|
override fun report(severity: CompilerMessageSeverity, message: String, location: CompilerMessageSourceLocation?) {
|
||||||
GlobalScope.async {
|
GlobalScope.async {
|
||||||
log.info("Message: " + MessageRenderer.WITHOUT_PATHS.render(severity, message, location))
|
log.info("Message: " + MessageRenderer.WITHOUT_PATHS.render(severity, message, location))
|
||||||
when (severity) {
|
when (severity) {
|
||||||
|
|||||||
+2
-7
@@ -6,10 +6,8 @@
|
|||||||
package org.jetbrains.kotlin.fir
|
package org.jetbrains.kotlin.fir
|
||||||
|
|
||||||
import com.intellij.openapi.util.Disposer
|
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.CLIConfigurationKeys.MESSAGE_COLLECTOR_KEY
|
||||||
import org.jetbrains.kotlin.cli.common.config.KotlinSourceRoot
|
import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSourceLocation
|
||||||
import org.jetbrains.kotlin.cli.common.messages.CompilerMessageLocation
|
|
||||||
import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity
|
import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity
|
||||||
import org.jetbrains.kotlin.cli.common.messages.MessageCollector
|
import org.jetbrains.kotlin.cli.common.messages.MessageCollector
|
||||||
import org.jetbrains.kotlin.cli.jvm.compiler.EnvironmentConfigFiles
|
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.cli.jvm.compiler.KotlinToJVMBytecodeCompiler
|
||||||
import org.jetbrains.kotlin.config.*
|
import org.jetbrains.kotlin.config.*
|
||||||
import org.jetbrains.kotlin.fir.scopes.ProcessorAction
|
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.FileOutputStream
|
||||||
import java.io.PrintStream
|
import java.io.PrintStream
|
||||||
import kotlin.system.measureNanoTime
|
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)
|
if (location != null)
|
||||||
print(location.toString())
|
print(location.toString())
|
||||||
print(":")
|
print(":")
|
||||||
|
|||||||
+3
-3
@@ -20,7 +20,7 @@ import org.jetbrains.kotlin.build.DEFAULT_KOTLIN_SOURCE_FILES_EXTENSIONS
|
|||||||
import org.jetbrains.kotlin.build.GeneratedFile
|
import org.jetbrains.kotlin.build.GeneratedFile
|
||||||
import org.jetbrains.kotlin.cli.common.ExitCode
|
import org.jetbrains.kotlin.cli.common.ExitCode
|
||||||
import org.jetbrains.kotlin.cli.common.arguments.CommonCompilerArguments
|
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.CompilerMessageSeverity
|
||||||
import org.jetbrains.kotlin.cli.common.messages.MessageCollector
|
import org.jetbrains.kotlin.cli.common.messages.MessageCollector
|
||||||
import org.jetbrains.kotlin.compilerRunner.MessageCollectorToOutputItemsCollectorAdapter
|
import org.jetbrains.kotlin.compilerRunner.MessageCollectorToOutputItemsCollectorAdapter
|
||||||
@@ -353,7 +353,7 @@ abstract class IncrementalCompilerRunner<
|
|||||||
}
|
}
|
||||||
|
|
||||||
private class TemporaryMessageCollector(private val delegate: MessageCollector) : MessageCollector {
|
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<Message>()
|
private val messages = ArrayList<Message>()
|
||||||
|
|
||||||
@@ -361,7 +361,7 @@ private class TemporaryMessageCollector(private val delegate: MessageCollector)
|
|||||||
messages.clear()
|
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))
|
messages.add(Message(severity, message, location))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -16,7 +16,7 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.incremental.utils
|
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.CompilerMessageSeverity
|
||||||
import org.jetbrains.kotlin.cli.common.messages.MessageCollector
|
import org.jetbrains.kotlin.cli.common.messages.MessageCollector
|
||||||
import java.util.*
|
import java.util.*
|
||||||
@@ -24,7 +24,7 @@ import java.util.*
|
|||||||
class TestMessageCollector : MessageCollector {
|
class TestMessageCollector : MessageCollector {
|
||||||
val errors = ArrayList<String>()
|
val errors = ArrayList<String>()
|
||||||
|
|
||||||
override fun report(severity: CompilerMessageSeverity, message: String, location: CompilerMessageLocation?) {
|
override fun report(severity: CompilerMessageSeverity, message: String, location: CompilerMessageSourceLocation?) {
|
||||||
if (severity.isError) {
|
if (severity.isError) {
|
||||||
errors.add(message)
|
errors.add(message)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ import org.jetbrains.kotlin.checkers.CompilerTestLanguageVersionSettingsKt;
|
|||||||
import org.jetbrains.kotlin.cli.common.CLIConfigurationKeys;
|
import org.jetbrains.kotlin.cli.common.CLIConfigurationKeys;
|
||||||
import org.jetbrains.kotlin.cli.common.config.ContentRootsKt;
|
import org.jetbrains.kotlin.cli.common.config.ContentRootsKt;
|
||||||
import org.jetbrains.kotlin.cli.common.config.KotlinSourceRoot;
|
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.CompilerMessageSeverity;
|
||||||
import org.jetbrains.kotlin.cli.common.messages.MessageCollector;
|
import org.jetbrains.kotlin.cli.common.messages.MessageCollector;
|
||||||
import org.jetbrains.kotlin.cli.jvm.compiler.EnvironmentConfigFiles;
|
import org.jetbrains.kotlin.cli.jvm.compiler.EnvironmentConfigFiles;
|
||||||
@@ -308,7 +308,7 @@ public class KotlinTestUtils {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void report(
|
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) {
|
if (severity == CompilerMessageSeverity.ERROR) {
|
||||||
String prefix = location == null
|
String prefix = location == null
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ import com.intellij.openapi.util.io.FileUtil;
|
|||||||
import junit.framework.TestCase;
|
import junit.framework.TestCase;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
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.CompilerMessageSeverity;
|
||||||
import org.jetbrains.kotlin.cli.common.messages.MessageCollector;
|
import org.jetbrains.kotlin.cli.common.messages.MessageCollector;
|
||||||
import org.jetbrains.kotlin.cli.common.messages.MessageRenderer;
|
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() {
|
ModuleChunk result = ModuleXmlParser.parseModuleScript(xmlPath, new MessageCollector() {
|
||||||
@Override
|
@Override
|
||||||
public void report(
|
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));
|
throw new AssertionError(MessageRenderer.PLAIN_FULL_PATHS.render(severity, message, location));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.jsr223
|
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.CompilerMessageSeverity
|
||||||
import org.jetbrains.kotlin.cli.common.messages.MessageCollector
|
import org.jetbrains.kotlin.cli.common.messages.MessageCollector
|
||||||
import org.jetbrains.kotlin.cli.common.repl.*
|
import org.jetbrains.kotlin.cli.common.repl.*
|
||||||
@@ -92,7 +92,7 @@ class KotlinJsr223JvmScriptEngine4Idea(
|
|||||||
private class MyMessageCollector : MessageCollector {
|
private class MyMessageCollector : MessageCollector {
|
||||||
private var hasErrors: Boolean = false
|
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
|
System.err.println(message) // TODO: proper location printing
|
||||||
if (!hasErrors) {
|
if (!hasErrors) {
|
||||||
hasErrors = severity == CompilerMessageSeverity.EXCEPTION || severity == CompilerMessageSeverity.ERROR
|
hasErrors = severity == CompilerMessageSeverity.EXCEPTION || severity == CompilerMessageSeverity.ERROR
|
||||||
|
|||||||
@@ -16,19 +16,16 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.compilerRunner
|
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.cli.common.messages.MessageCollector
|
||||||
import org.jetbrains.kotlin.preloading.ClassPreloadingUtils
|
import org.jetbrains.kotlin.preloading.ClassPreloadingUtils
|
||||||
import org.jetbrains.kotlin.preloading.Preloader
|
import org.jetbrains.kotlin.preloading.Preloader
|
||||||
import org.jetbrains.kotlin.utils.KotlinPaths
|
import org.jetbrains.kotlin.utils.KotlinPaths
|
||||||
|
import org.jetbrains.kotlin.utils.KotlinPathsFromBaseDirectory
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import java.io.PrintStream
|
import java.io.PrintStream
|
||||||
import java.lang.ref.SoftReference
|
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 {
|
object CompilerRunnerUtil {
|
||||||
private var ourClassLoaderRef = SoftReference<ClassLoader>(null)
|
private var ourClassLoaderRef = SoftReference<ClassLoader>(null)
|
||||||
|
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ package org.jetbrains.kotlin.jps.build
|
|||||||
import org.jetbrains.jps.incremental.CompileContext
|
import org.jetbrains.jps.incremental.CompileContext
|
||||||
import org.jetbrains.jps.incremental.messages.BuildMessage
|
import org.jetbrains.jps.incremental.messages.BuildMessage
|
||||||
import org.jetbrains.jps.incremental.messages.CompilerMessage
|
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.CompilerMessageSeverity
|
||||||
import org.jetbrains.kotlin.cli.common.messages.MessageCollector
|
import org.jetbrains.kotlin.cli.common.messages.MessageCollector
|
||||||
import org.jetbrains.kotlin.config.CompilerRunnerConstants
|
import org.jetbrains.kotlin.config.CompilerRunnerConstants
|
||||||
@@ -21,7 +21,7 @@ class MessageCollectorAdapter(
|
|||||||
) : MessageCollector {
|
) : MessageCollector {
|
||||||
private var hasErrors = false
|
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
|
hasErrors = hasErrors || severity.isError
|
||||||
|
|
||||||
var prefix = ""
|
var prefix = ""
|
||||||
|
|||||||
+2
-6
@@ -16,11 +16,8 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.compilerRunner
|
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.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.CompilerMessageSeverity
|
||||||
import org.jetbrains.kotlin.cli.common.messages.MessageCollector
|
import org.jetbrains.kotlin.cli.common.messages.MessageCollector
|
||||||
import org.jetbrains.kotlin.cli.common.messages.MessageRenderer
|
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.DaemonReportingTargets
|
||||||
import org.jetbrains.kotlin.daemon.client.launchProcessWithFallback
|
import org.jetbrains.kotlin.daemon.client.launchProcessWithFallback
|
||||||
import org.jetbrains.kotlin.gradle.logging.GradleKotlinLogger
|
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.ClassReader
|
||||||
import org.jetbrains.org.objectweb.asm.ClassVisitor
|
import org.jetbrains.org.objectweb.asm.ClassVisitor
|
||||||
import org.jetbrains.org.objectweb.asm.FieldVisitor
|
import org.jetbrains.org.objectweb.asm.FieldVisitor
|
||||||
@@ -144,7 +140,7 @@ private fun createLoggingMessageCollector(log: KotlinLogger): MessageCollector =
|
|||||||
|
|
||||||
override fun hasErrors(): Boolean = hasErrors
|
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)
|
val locMessage = messageRenderer.render(severity, message, location)
|
||||||
when (severity) {
|
when (severity) {
|
||||||
CompilerMessageSeverity.EXCEPTION -> log.error(locMessage)
|
CompilerMessageSeverity.EXCEPTION -> log.error(locMessage)
|
||||||
|
|||||||
+4
-4
@@ -5,21 +5,21 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.gradle.logging
|
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.CompilerMessageSeverity
|
||||||
import org.jetbrains.kotlin.cli.common.messages.MessageCollector
|
import org.jetbrains.kotlin.cli.common.messages.MessageCollector
|
||||||
import java.util.ArrayList
|
import java.util.*
|
||||||
|
|
||||||
internal class GradleBufferingMessageCollector : MessageCollector {
|
internal class GradleBufferingMessageCollector : MessageCollector {
|
||||||
private class MessageData(
|
private class MessageData(
|
||||||
val severity: CompilerMessageSeverity,
|
val severity: CompilerMessageSeverity,
|
||||||
val message: String,
|
val message: String,
|
||||||
val location: CompilerMessageLocation?
|
val location: CompilerMessageSourceLocation?
|
||||||
)
|
)
|
||||||
|
|
||||||
private val messages = ArrayList<MessageData>()
|
private val messages = ArrayList<MessageData>()
|
||||||
|
|
||||||
override fun report(severity: CompilerMessageSeverity, message: String, location: CompilerMessageLocation?) {
|
override fun report(severity: CompilerMessageSeverity, message: String, location: CompilerMessageSourceLocation?) {
|
||||||
synchronized(messages) {
|
synchronized(messages) {
|
||||||
messages.add(MessageData(severity, message, location))
|
messages.add(MessageData(severity, message, location))
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-2
@@ -6,7 +6,7 @@
|
|||||||
package org.jetbrains.kotlin.gradle.logging
|
package org.jetbrains.kotlin.gradle.logging
|
||||||
|
|
||||||
import org.gradle.api.logging.Logger
|
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.CompilerMessageSeverity
|
||||||
import org.jetbrains.kotlin.cli.common.messages.GradleStyleMessageRenderer
|
import org.jetbrains.kotlin.cli.common.messages.GradleStyleMessageRenderer
|
||||||
import org.jetbrains.kotlin.cli.common.messages.MessageCollector
|
import org.jetbrains.kotlin.cli.common.messages.MessageCollector
|
||||||
@@ -29,7 +29,7 @@ internal class GradlePrintingMessageCollector(
|
|||||||
// Do nothing
|
// 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)
|
val renderedMessage = messageRenderer.render(severity, message, location)
|
||||||
|
|
||||||
when (severity) {
|
when (severity) {
|
||||||
|
|||||||
+5
-5
@@ -21,8 +21,8 @@ import org.apache.maven.plugin.logging.Log;
|
|||||||
import org.codehaus.plexus.compiler.CompilerMessage;
|
import org.codehaus.plexus.compiler.CompilerMessage;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
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.CompilerMessageSeverity;
|
||||||
|
import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSourceLocation;
|
||||||
import org.jetbrains.kotlin.cli.common.messages.MessageCollector;
|
import org.jetbrains.kotlin.cli.common.messages.MessageCollector;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@@ -34,7 +34,7 @@ import static com.google.common.base.Preconditions.checkNotNull;
|
|||||||
|
|
||||||
public class MavenPluginLogMessageCollector implements MessageCollector {
|
public class MavenPluginLogMessageCollector implements MessageCollector {
|
||||||
private final Log log;
|
private final Log log;
|
||||||
private final ArrayList<Pair<CompilerMessageLocation, String>> collectedErrors = new ArrayList<>();
|
private final ArrayList<Pair<CompilerMessageSourceLocation, String>> collectedErrors = new ArrayList<>();
|
||||||
|
|
||||||
public MavenPluginLogMessageCollector(Log log) {
|
public MavenPluginLogMessageCollector(Log log) {
|
||||||
this.log = checkNotNull(log, "log shouldn't be null");
|
this.log = checkNotNull(log, "log shouldn't be null");
|
||||||
@@ -46,7 +46,7 @@ public class MavenPluginLogMessageCollector implements MessageCollector {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
public List<Pair<CompilerMessageLocation, String>> getCollectedErrors() {
|
public List<Pair<CompilerMessageSourceLocation, String>> getCollectedErrors() {
|
||||||
return Collections.unmodifiableList(collectedErrors);
|
return Collections.unmodifiableList(collectedErrors);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -56,7 +56,7 @@ public class MavenPluginLogMessageCollector implements MessageCollector {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@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 position = location == null ? "" : location.getPath() + ": (" + (location.getLine() + ", " + location.getColumn()) + ") ";
|
||||||
|
|
||||||
String text = position + message;
|
String text = position + message;
|
||||||
@@ -90,7 +90,7 @@ public class MavenPluginLogMessageCollector implements MessageCollector {
|
|||||||
|
|
||||||
public void throwKotlinCompilerException() throws KotlinCompilationFailureException {
|
public void throwKotlinCompilerException() throws KotlinCompilationFailureException {
|
||||||
throw new KotlinCompilationFailureException(getCollectedErrors().stream().map(pair -> {
|
throw new KotlinCompilationFailureException(getCollectedErrors().stream().map(pair -> {
|
||||||
CompilerMessageLocation location = pair.getFirst();
|
CompilerMessageSourceLocation location = pair.getFirst();
|
||||||
String message = pair.getSecond();
|
String message = pair.getSecond();
|
||||||
if (location == null) {
|
if (location == null) {
|
||||||
return new CompilerMessage(null, CompilerMessage.Kind.ERROR, 0, 0, 0, 0, message);
|
return new CompilerMessage(null, CompilerMessage.Kind.ERROR, 0, 0, 0, 0, message);
|
||||||
|
|||||||
+3
-3
@@ -1,14 +1,14 @@
|
|||||||
package org.jetbrains.kotlin.jvm.abi
|
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.CompilerMessageSeverity
|
||||||
import org.jetbrains.kotlin.cli.common.messages.MessageCollector
|
import org.jetbrains.kotlin.cli.common.messages.MessageCollector
|
||||||
import java.util.ArrayList
|
import java.util.*
|
||||||
|
|
||||||
internal class LocationReportingTestMessageCollector : MessageCollector {
|
internal class LocationReportingTestMessageCollector : MessageCollector {
|
||||||
val errors = ArrayList<String>()
|
val errors = ArrayList<String>()
|
||||||
|
|
||||||
override fun report(severity: CompilerMessageSeverity, message: String, location: CompilerMessageLocation?) {
|
override fun report(severity: CompilerMessageSeverity, message: String, location: CompilerMessageSourceLocation?) {
|
||||||
if (severity.isError) {
|
if (severity.isError) {
|
||||||
errors.add("e: $location: $message")
|
errors.add("e: $location: $message")
|
||||||
}
|
}
|
||||||
|
|||||||
+3
-3
@@ -5,8 +5,8 @@
|
|||||||
package org.jetbrains.kotlin.kapt.cli.test
|
package org.jetbrains.kotlin.kapt.cli.test
|
||||||
|
|
||||||
import junit.framework.TestCase
|
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.CompilerMessageSeverity
|
||||||
|
import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSourceLocation
|
||||||
import org.jetbrains.kotlin.cli.common.messages.MessageCollector
|
import org.jetbrains.kotlin.cli.common.messages.MessageCollector
|
||||||
import org.jetbrains.kotlin.kapt.cli.transformArgs
|
import org.jetbrains.kotlin.kapt.cli.transformArgs
|
||||||
import org.jetbrains.kotlin.test.JUnit3RunnerWithInners
|
import org.jetbrains.kotlin.test.JUnit3RunnerWithInners
|
||||||
@@ -34,7 +34,7 @@ abstract class AbstractArgumentParsingTest : TestCase() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
class TestMessageCollector : MessageCollector {
|
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<Message>()
|
val messages = arrayListOf<Message>()
|
||||||
|
|
||||||
@@ -42,7 +42,7 @@ class TestMessageCollector : MessageCollector {
|
|||||||
messages.clear()
|
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))
|
messages.add(Message(severity, message, location))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -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.Argument
|
||||||
import org.jetbrains.kotlin.cli.common.arguments.K2JVMCompilerArguments
|
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.CompilerMessageSeverity
|
||||||
import org.jetbrains.kotlin.cli.common.messages.MessageCollector
|
import org.jetbrains.kotlin.cli.common.messages.MessageCollector
|
||||||
import org.jetbrains.kotlin.scripting.definitions.MessageReporter
|
import org.jetbrains.kotlin.scripting.definitions.MessageReporter
|
||||||
@@ -32,7 +32,7 @@ class ScriptDiagnosticsMessageCollector(private val parentMessageCollector: Mess
|
|||||||
override fun hasErrors(): Boolean =
|
override fun hasErrors(): Boolean =
|
||||||
_diagnostics.any { it.severity == ScriptDiagnostic.Severity.ERROR } || parentMessageCollector?.hasErrors() == true
|
_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()
|
val mappedSeverity = severity.toScriptingSeverity()
|
||||||
if (mappedSeverity != null) {
|
if (mappedSeverity != null) {
|
||||||
val mappedLocation = location?.let {
|
val mappedLocation = location?.let {
|
||||||
|
|||||||
+2
-2
@@ -7,7 +7,7 @@ package org.jetbrains.kotlin.scripting.compiler.plugin.repl
|
|||||||
|
|
||||||
import com.intellij.openapi.Disposable
|
import com.intellij.openapi.Disposable
|
||||||
import org.jetbrains.kotlin.cli.common.CLIConfigurationKeys
|
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.CompilerMessageSeverity
|
||||||
import org.jetbrains.kotlin.cli.common.messages.MessageCollector
|
import org.jetbrains.kotlin.cli.common.messages.MessageCollector
|
||||||
import org.jetbrains.kotlin.cli.common.messages.MessageRenderer
|
import org.jetbrains.kotlin.cli.common.messages.MessageRenderer
|
||||||
@@ -54,7 +54,7 @@ class ReplInterpreter(
|
|||||||
hasErrors = false
|
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()
|
val msg = messageRenderer.render(severity, message, location).trimEnd()
|
||||||
with(replConfiguration.writer) {
|
with(replConfiguration.writer) {
|
||||||
when (severity) {
|
when (severity) {
|
||||||
|
|||||||
+2
-2
@@ -9,7 +9,7 @@ import com.intellij.openapi.project.Project
|
|||||||
import com.intellij.psi.PsiFileFactory
|
import com.intellij.psi.PsiFileFactory
|
||||||
import com.intellij.psi.impl.PsiFileFactoryImpl
|
import com.intellij.psi.impl.PsiFileFactoryImpl
|
||||||
import org.jetbrains.kotlin.cli.common.CLIConfigurationKeys
|
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.CompilerMessageSeverity
|
||||||
import org.jetbrains.kotlin.cli.common.messages.GroupingMessageCollector
|
import org.jetbrains.kotlin.cli.common.messages.GroupingMessageCollector
|
||||||
import org.jetbrains.kotlin.cli.common.messages.MessageCollector
|
import org.jetbrains.kotlin.cli.common.messages.MessageCollector
|
||||||
@@ -85,7 +85,7 @@ class ReplMessageCollector : MessageCollector {
|
|||||||
messages.clear()
|
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
|
if (severity == CompilerMessageSeverity.ERROR) hasErrors = true
|
||||||
messages.add(Pair(severity, message))
|
messages.add(Pair(severity, message))
|
||||||
}
|
}
|
||||||
|
|||||||
+3
-3
@@ -11,7 +11,7 @@ import org.jetbrains.kotlin.cli.common.CLIConfigurationKeys
|
|||||||
import org.jetbrains.kotlin.cli.common.ExitCode
|
import org.jetbrains.kotlin.cli.common.ExitCode
|
||||||
import org.jetbrains.kotlin.cli.common.config.addKotlinSourceRoots
|
import org.jetbrains.kotlin.cli.common.config.addKotlinSourceRoots
|
||||||
import org.jetbrains.kotlin.cli.common.environment.setIdeaIoUseFallback
|
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.CompilerMessageSeverity
|
||||||
import org.jetbrains.kotlin.cli.common.messages.MessageCollector
|
import org.jetbrains.kotlin.cli.common.messages.MessageCollector
|
||||||
import org.jetbrains.kotlin.cli.jvm.K2JVMCompiler
|
import org.jetbrains.kotlin.cli.jvm.K2JVMCompiler
|
||||||
@@ -248,7 +248,7 @@ class ScriptingCompilerPluginTest : TestCase() {
|
|||||||
|
|
||||||
|
|
||||||
class TestMessageCollector : MessageCollector {
|
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<Message>()
|
val messages = arrayListOf<Message>()
|
||||||
|
|
||||||
@@ -256,7 +256,7 @@ class TestMessageCollector : MessageCollector {
|
|||||||
messages.clear()
|
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))
|
messages.add(Message(severity, message, location))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+14
-9
@@ -16,19 +16,24 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.compiler.client
|
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.Rule
|
||||||
import org.junit.Test
|
import org.junit.Test
|
||||||
import org.junit.rules.TemporaryFolder
|
import org.junit.rules.TemporaryFolder
|
||||||
|
import java.io.ByteArrayOutputStream
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import java.io.FileNotFoundException
|
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 java.io.PrintStream
|
||||||
|
import kotlin.test.assertEquals
|
||||||
|
|
||||||
|
|
||||||
class CompilerClientIT {
|
class CompilerClientIT {
|
||||||
@@ -110,7 +115,7 @@ internal fun captureOutAndErr(body: () -> Unit): String {
|
|||||||
|
|
||||||
class TestMessageCollector : MessageCollector {
|
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<Message>()
|
val messages = arrayListOf<Message>()
|
||||||
|
|
||||||
@@ -118,7 +123,7 @@ class TestMessageCollector : MessageCollector {
|
|||||||
messages.clear()
|
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))
|
messages.add(Message(severity, message, location))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user