Skip to content

Commit 85e9d0d

Browse files
KvanTTTliamoberg
authored andcommitted
Transform AnalyzerWithCompilerReport.convertSeverity to Severity.toCompilerMessageSeverity
It allows using the function in `BaseDiagnosticsCollector` (for FIR CLI diagnostics) and refines the code
1 parent 6d96cf5 commit 85e9d0d

File tree

8 files changed

+17
-19
lines changed

8 files changed

+17
-19
lines changed

compiler/cli/src/org/jetbrains/kotlin/cli/common/fir/FirDiagnosticsCompilerResultsReporter.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ object FirDiagnosticsCompilerResultsReporter {
112112
reporter: MessageCollector,
113113
renderDiagnosticName: Boolean
114114
) {
115-
val severity = AnalyzerWithCompilerReport.convertSeverity(diagnostic.severity)
115+
val severity = diagnostic.severity.toCompilerMessageSeverity()
116116
val message = diagnostic.renderMessage()
117117
val textToRender = when (renderDiagnosticName) {
118118
true -> "[${diagnostic.factoryName}] $message"
@@ -128,7 +128,7 @@ object FirDiagnosticsCompilerResultsReporter {
128128
messageRenderer: MessageRenderer
129129
) {
130130
if (diagnostic.severity == Severity.ERROR) {
131-
val severity = AnalyzerWithCompilerReport.convertSeverity(diagnostic.severity)
131+
val severity = diagnostic.severity.toCompilerMessageSeverity()
132132
val message = diagnostic.renderMessage()
133133
val diagnosticText = messageRenderer.render(severity, message, location)
134134
throw IllegalStateException("${diagnostic.factory.name}: $diagnosticText")

compiler/cli/src/org/jetbrains/kotlin/cli/common/messages/AnalyzerWithCompilerReport.kt

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -131,14 +131,6 @@ class AnalyzerWithCompilerReport(
131131
}
132132

133133
companion object {
134-
135-
fun convertSeverity(severity: Severity): CompilerMessageSeverity = when (severity) {
136-
Severity.INFO -> INFO
137-
Severity.ERROR -> ERROR
138-
Severity.WARNING -> WARNING
139-
Severity.FIXED_WARNING -> FIXED_WARNING
140-
}
141-
142134
private val SYNTAX_ERROR_FACTORY = DiagnosticFactory0.create<PsiErrorElement>(Severity.ERROR)
143135

144136
private fun reportDiagnostic(diagnostic: Diagnostic, reporter: DiagnosticMessageReporter, renderDiagnosticName: Boolean): Boolean {

compiler/cli/src/org/jetbrains/kotlin/cli/common/messages/DefaultDiagnosticReporter.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ interface MessageCollectorBasedReporter : DiagnosticMessageReporter {
2929
val messageCollector: MessageCollector
3030

3131
override fun report(diagnostic: Diagnostic, file: PsiFile, render: String) = messageCollector.report(
32-
AnalyzerWithCompilerReport.convertSeverity(diagnostic.severity),
32+
diagnostic.severity.toCompilerMessageSeverity(),
3333
render,
3434
MessageUtil.psiFileToMessageLocation(file, file.name, DiagnosticUtils.getLineAndColumnRange(diagnostic))
3535
)

compiler/cli/src/org/jetbrains/kotlin/cli/common/utils.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -162,5 +162,5 @@ fun CompilerConfiguration.reportIfNeeded(factory: KtSourcelessDiagnosticFactory,
162162
get() = this@reportIfNeeded.languageVersionSettings
163163

164164
}) ?: return
165-
messageCollector.report(AnalyzerWithCompilerReport.convertSeverity(diagnostic.severity), message)
165+
messageCollector.report(diagnostic.severity.toCompilerMessageSeverity(), message)
166166
}

compiler/frontend.common/src/org/jetbrains/kotlin/diagnostics/Severity.kt

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55

66
package org.jetbrains.kotlin.diagnostics
77

8+
import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity
9+
810
enum class Severity {
911
INFO,
1012
ERROR,
@@ -13,5 +15,12 @@ enum class Severity {
1315
/**
1416
* see [org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity.FIXED_WARNING]
1517
*/
16-
FIXED_WARNING,
18+
FIXED_WARNING;
19+
20+
fun toCompilerMessageSeverity(): CompilerMessageSeverity = when (this) {
21+
INFO -> CompilerMessageSeverity.INFO
22+
ERROR -> CompilerMessageSeverity.ERROR
23+
WARNING -> CompilerMessageSeverity.WARNING
24+
FIXED_WARNING -> CompilerMessageSeverity.FIXED_WARNING
25+
}
1726
}

compiler/tests-common-new/testFixtures/org/jetbrains/kotlin/test/backend/handlers/HandlerUtils.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ package org.jetbrains.kotlin.test.backend.handlers
77

88
import com.intellij.openapi.util.io.FileUtil
99
import org.jetbrains.kotlin.cli.common.fir.SequentialPositionFinder
10-
import org.jetbrains.kotlin.cli.common.messages.AnalyzerWithCompilerReport
1110
import org.jetbrains.kotlin.codeMetaInfo.model.DiagnosticCodeMetaInfo
1211
import org.jetbrains.kotlin.diagnostics.DiagnosticUtils
1312
import org.jetbrains.kotlin.diagnostics.Severity
@@ -115,7 +114,7 @@ fun BinaryArtifactHandler<*>.checkFullDiagnosticRender() {
115114
}
116115

117116
private fun renderDiagnosticMessage(fileName: String, severity: Severity, message: String?, line: Int, column: Int): String {
118-
val severityString = AnalyzerWithCompilerReport.convertSeverity(severity).toString().toLowerCaseAsciiOnly()
117+
val severityString = severity.toCompilerMessageSeverity().toString().toLowerCaseAsciiOnly()
119118
return "/${fileName}:$line:$column: $severityString: $message"
120119
}
121120

compiler/tests-common-new/testFixtures/org/jetbrains/kotlin/test/backend/handlers/NoIrCompilationErrorsHandler.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55

66
package org.jetbrains.kotlin.test.backend.handlers
77

8-
import org.jetbrains.kotlin.cli.common.messages.AnalyzerWithCompilerReport
98
import org.jetbrains.kotlin.diagnostics.Severity
109
import org.jetbrains.kotlin.test.backend.ir.IrBackendInput
1110
import org.jetbrains.kotlin.test.model.BackendInputHandler
@@ -39,7 +38,7 @@ class NoIrCompilationErrorsHandler(testServices: TestServices) : BackendInputHan
3938
diagnostic.severity == Severity.ERROR &&
4039
diagnosticsService.shouldRenderDiagnostic(module, diagnostic.factoryName, diagnostic.severity)
4140
) {
42-
val severity = AnalyzerWithCompilerReport.convertSeverity(diagnostic.severity).toString().toLowerCaseAsciiOnly()
41+
val severity = diagnostic.severity.toCompilerMessageSeverity().toString().toLowerCaseAsciiOnly()
4342
val message = diagnostic.renderMessage()
4443
error("/$file:${diagnostic.firstRange}: $severity: $message")
4544
}

compiler/tests-common-new/testFixtures/org/jetbrains/kotlin/test/frontend/fir/handlers/FirDiagnosticsHandler.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ package org.jetbrains.kotlin.test.frontend.fir.handlers
88
import com.intellij.openapi.util.TextRange
99
import org.jetbrains.kotlin.*
1010
import org.jetbrains.kotlin.checkers.utils.TypeOfCall
11-
import org.jetbrains.kotlin.cli.common.messages.AnalyzerWithCompilerReport
1211
import org.jetbrains.kotlin.cli.pipeline.metadata.MetadataFrontendPipelineArtifact
1312
import org.jetbrains.kotlin.config.*
1413
import org.jetbrains.kotlin.diagnostics.*
@@ -116,7 +115,7 @@ class FullDiagnosticsRenderer(private val directive: SimpleDirective) {
116115
is KtDiagnosticWithSource -> it.textRanges
117116
is KtDiagnosticWithoutSource -> listOf(it.firstRange)
118117
},
119-
severity = AnalyzerWithCompilerReport.convertSeverity(it.severity).toString().toLowerCaseAsciiOnly(),
118+
severity = it.severity.toCompilerMessageSeverity().toString().toLowerCaseAsciiOnly(),
120119
message = it.renderMessage()
121120
)
122121
}

0 commit comments

Comments
 (0)