Fix exception "Unknown CompilerMessageSeverity: OUTPUT"

`CompilerMessageSeverity.OUTPUT` was removed from the enum set
`CompilerMessageSeverity.VERBOSE` in the commit d8d3bafbe9,
so `GradleMessageCollector` started to throw the exception.

    #KT-17711 fixed
This commit is contained in:
Alexey Tsvetkov
2017-05-04 22:08:04 +03:00
parent 2e9a59819a
commit 6b956b3746
@@ -405,38 +405,38 @@ internal class GradleMessageCollector(val logger: Logger) : MessageCollector {
}
override fun report(severity: CompilerMessageSeverity, message: String, location: CompilerMessageLocation?) {
val text = buildString {
append(when (severity) {
in CompilerMessageSeverity.VERBOSE -> "v"
in CompilerMessageSeverity.ERRORS -> {
hasErrors = true
"e"
}
CompilerMessageSeverity.INFO -> "i"
CompilerMessageSeverity.WARNING, CompilerMessageSeverity.STRONG_WARNING -> "w"
else -> throw IllegalArgumentException("Unknown CompilerMessageSeverity: $severity")
})
append(": ")
fun formatMsg(prefix: String) =
buildString {
append("$prefix: ")
if (location != null) {
val (path, line, column) = location
if (path != null) {
append(path)
append(": ")
location?.apply {
append("$path: ")
if (line > 0 && column > 0) {
append("($line, $column): ")
}
}
append(message)
}
append(message)
}
when (severity) {
in CompilerMessageSeverity.VERBOSE -> logger.debug(text)
in CompilerMessageSeverity.ERRORS -> logger.error(text)
CompilerMessageSeverity.INFO -> logger.info(text)
CompilerMessageSeverity.WARNING, CompilerMessageSeverity.STRONG_WARNING -> logger.warn(text)
else -> throw IllegalArgumentException("Unknown CompilerMessageSeverity: $severity")
}
CompilerMessageSeverity.ERROR,
CompilerMessageSeverity.EXCEPTION -> {
hasErrors = true
logger.error(formatMsg("e"))
}
CompilerMessageSeverity.WARNING,
CompilerMessageSeverity.STRONG_WARNING -> {
logger.warn(formatMsg("w"))
}
CompilerMessageSeverity.INFO -> {
logger.info(formatMsg("i"))
}
CompilerMessageSeverity.LOGGING,
CompilerMessageSeverity.OUTPUT -> {
logger.debug(formatMsg("v"))
}
}!! // !! is used to force compile-time exhaustiveness
}
}