FIR: rename Diagnostic to DiagnosticData in checkers generators to avoid conflict with existing Diagnostic class

This commit is contained in:
Ilya Kirillov
2021-02-04 15:11:02 +01:00
parent cf56c59ca2
commit 21ac83aba0
5 changed files with 16 additions and 16 deletions
@@ -8,7 +8,7 @@ package org.jetbrains.kotlin.fir.checkers.generator.diagnostics
import org.jetbrains.kotlin.diagnostics.Severity
import kotlin.reflect.KType
data class Diagnostic(
data class DiagnosticData(
val severity: Severity,
val name: String,
val sourceElementType: KType,
@@ -108,9 +108,9 @@ enum class PositioningStrategy(val expressionToCreate: String, val import: Strin
private const val positioningStrategiesImport = "org.jetbrains.kotlin.fir.analysis.diagnostics.SourceElementPositioningStrategies"
fun Diagnostic.hasDefaultPositioningStrategy(): Boolean =
fun DiagnosticData.hasDefaultPositioningStrategy(): Boolean =
positioningStrategy == PositioningStrategy.DEFAULT
data class DiagnosticList(
val diagnostics: List<Diagnostic>,
val diagnostics: List<DiagnosticData>,
)
@@ -17,7 +17,7 @@ import kotlin.reflect.typeOf
class DiagnosticListBuilder private constructor() {
@PrivateForInline
val diagnostics = mutableListOf<Diagnostic>()
val diagnostics = mutableListOf<DiagnosticData>()
@PrivateForInline
var currentGroupName: String? = null
@@ -100,7 +100,7 @@ class DiagnosticBuilder(
}
@OptIn(PrivateForInline::class)
fun build() = Diagnostic(
fun build() = DiagnosticData(
severity,
name,
sourceElementType,
@@ -43,7 +43,7 @@ object ErrorListDiagnosticListRenderer : DiagnosticListRenderer() {
private fun SmartPrinter.printDiagnosticGroup(
group: String?,
diagnostics: List<Diagnostic>
diagnostics: List<DiagnosticData>
) {
println("// ${group ?: "NO GROUP"}")
for (it in diagnostics) {
@@ -51,14 +51,14 @@ object ErrorListDiagnosticListRenderer : DiagnosticListRenderer() {
}
}
private fun SmartPrinter.printDiagnostic(diagnostic: Diagnostic) {
private fun SmartPrinter.printDiagnostic(diagnostic: DiagnosticData) {
print("val ${diagnostic.name} by ${diagnostic.getFactoryFunction()}")
printTypeArguments(diagnostic.getAllTypeArguments())
printPositioningStrategy(diagnostic)
println()
}
private fun SmartPrinter.printPositioningStrategy(diagnostic: Diagnostic) {
private fun SmartPrinter.printPositioningStrategy(diagnostic: DiagnosticData) {
print("(")
if (!diagnostic.hasDefaultPositioningStrategy()) {
print(diagnostic.positioningStrategy.expressionToCreate)
@@ -68,7 +68,7 @@ object ErrorListDiagnosticListRenderer : DiagnosticListRenderer() {
@OptIn(ExperimentalStdlibApi::class)
private fun Diagnostic.getAllTypeArguments(): List<KType> = buildList {
private fun DiagnosticData.getAllTypeArguments(): List<KType> = buildList {
add(sourceElementType)
add(psiType)
parameters.mapTo(this) { it.type }
@@ -124,7 +124,7 @@ object ErrorListDiagnosticListRenderer : DiagnosticListRenderer() {
private val KType.kClass: KClass<*>
get() = classifier as KClass<*>
private fun Diagnostic.getFactoryFunction(): String =
private fun DiagnosticData.getFactoryFunction(): String =
severity.name.toLowerCase() + parameters.size
}
@@ -5,12 +5,12 @@
package org.jetbrains.kotlin.idea.frontend.api.fir.generator
import org.jetbrains.kotlin.fir.checkers.generator.diagnostics.Diagnostic
import org.jetbrains.kotlin.fir.checkers.generator.diagnostics.DiagnosticData
import org.jetbrains.kotlin.fir.checkers.generator.diagnostics.DiagnosticParameter
import kotlin.reflect.KType
data class HLDiagnostic(
val original: Diagnostic,
val original: DiagnosticData,
val className: String,
val implClassName: String,
val parameters: List<HLDiagnosticParameter>,
@@ -9,7 +9,7 @@ import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.contracts.description.EventOccurrencesRange
import org.jetbrains.kotlin.descriptors.Visibility
import org.jetbrains.kotlin.fir.FirEffectiveVisibility
import org.jetbrains.kotlin.fir.checkers.generator.diagnostics.Diagnostic
import org.jetbrains.kotlin.fir.checkers.generator.diagnostics.DiagnosticData
import org.jetbrains.kotlin.fir.checkers.generator.diagnostics.DiagnosticList
import org.jetbrains.kotlin.fir.checkers.generator.diagnostics.DiagnosticParameter
import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration
@@ -35,7 +35,7 @@ object HLDiagnosticConverter {
fun convert(diagnosticList: DiagnosticList): HLDiagnosticList =
HLDiagnosticList(diagnosticList.diagnostics.map(::convertDiagnostic))
private fun convertDiagnostic(diagnostic: Diagnostic): HLDiagnostic =
private fun convertDiagnostic(diagnostic: DiagnosticData): HLDiagnostic =
HLDiagnostic(
original = diagnostic,
className = diagnostic.getHLDiagnosticClassName(),
@@ -56,14 +56,14 @@ object HLDiagnosticConverter {
)
}
private fun Diagnostic.getHLDiagnosticClassName() =
private fun DiagnosticData.getHLDiagnosticClassName() =
name.toLowerCase()
.split('_')
.joinToString(separator = "") {
it.capitalize()
}
private fun Diagnostic.getHLDiagnosticImplClassName() =
private fun DiagnosticData.getHLDiagnosticImplClassName() =
"${getHLDiagnosticClassName()}Impl"
}