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