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 =