diff --git a/compiler/cli/src/org/jetbrains/kotlin/cli/common/CLICompiler.kt b/compiler/cli/src/org/jetbrains/kotlin/cli/common/CLICompiler.kt index 23db4a29d6f..8c27274f5f4 100644 --- a/compiler/cli/src/org/jetbrains/kotlin/cli/common/CLICompiler.kt +++ b/compiler/cli/src/org/jetbrains/kotlin/cli/common/CLICompiler.kt @@ -65,6 +65,8 @@ abstract class CLICompiler : CLITool() { val configuration = CompilerConfiguration() + configuration.put(CLIConfigurationKeys.ORIGINAL_MESSAGE_COLLECTOR_KEY, messageCollector) + val collector = GroupingMessageCollector(messageCollector, arguments.allWarningsAsErrors).also { configuration.put(CLIConfigurationKeys.MESSAGE_COLLECTOR_KEY, it) } diff --git a/compiler/cli/src/org/jetbrains/kotlin/cli/common/CLIConfigurationKeys.java b/compiler/cli/src/org/jetbrains/kotlin/cli/common/CLIConfigurationKeys.java index bb25ba7914c..22c45a15107 100644 --- a/compiler/cli/src/org/jetbrains/kotlin/cli/common/CLIConfigurationKeys.java +++ b/compiler/cli/src/org/jetbrains/kotlin/cli/common/CLIConfigurationKeys.java @@ -31,6 +31,11 @@ public class CLIConfigurationKeys { public static final CompilerConfigurationKey MESSAGE_COLLECTOR_KEY = CompilerConfigurationKey.create("message collector"); + + // Used by compiler plugins to access delegated message collector in GroupingMessageCollector + public static final CompilerConfigurationKey ORIGINAL_MESSAGE_COLLECTOR_KEY = + CompilerConfigurationKey.create("original message collector"); + public static final CompilerConfigurationKey ALLOW_KOTLIN_PACKAGE = CompilerConfigurationKey.create("allow kotlin package"); public static final CompilerConfigurationKey PERF_MANAGER =