From 21ac83aba0a365a5f6acb36298cad986e2b6612f Mon Sep 17 00:00:00 2001 From: Ilya Kirillov Date: Thu, 4 Feb 2021 15:11:02 +0100 Subject: [PATCH] FIR: rename Diagnostic to DiagnosticData in checkers generators to avoid conflict with existing Diagnostic class --- .../diagnostics/{Diagnostic.kt => DiagnosticData.kt} | 6 +++--- .../generator/diagnostics/DiagnosticListBuilder.kt | 4 ++-- .../diagnostics/ErrorListDiagnosticListRenderer.kt | 10 +++++----- .../idea/frontend/api/fir/generator/HLDiagnostic.kt | 4 ++-- .../api/fir/generator/HLDiagnosticConverter.kt | 8 ++++---- 5 files changed, 16 insertions(+), 16 deletions(-) rename compiler/fir/checkers/checkers-component-generator/src/org/jetbrains/kotlin/fir/checkers/generator/diagnostics/{Diagnostic.kt => DiagnosticData.kt} (95%) diff --git a/compiler/fir/checkers/checkers-component-generator/src/org/jetbrains/kotlin/fir/checkers/generator/diagnostics/Diagnostic.kt b/compiler/fir/checkers/checkers-component-generator/src/org/jetbrains/kotlin/fir/checkers/generator/diagnostics/DiagnosticData.kt similarity index 95% rename from compiler/fir/checkers/checkers-component-generator/src/org/jetbrains/kotlin/fir/checkers/generator/diagnostics/Diagnostic.kt rename to compiler/fir/checkers/checkers-component-generator/src/org/jetbrains/kotlin/fir/checkers/generator/diagnostics/DiagnosticData.kt index 4bd0c756126..79f5dfea4b8 100644 --- a/compiler/fir/checkers/checkers-component-generator/src/org/jetbrains/kotlin/fir/checkers/generator/diagnostics/Diagnostic.kt +++ b/compiler/fir/checkers/checkers-component-generator/src/org/jetbrains/kotlin/fir/checkers/generator/diagnostics/DiagnosticData.kt @@ -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, + val diagnostics: List, ) \ No newline at end of file diff --git a/compiler/fir/checkers/checkers-component-generator/src/org/jetbrains/kotlin/fir/checkers/generator/diagnostics/DiagnosticListBuilder.kt b/compiler/fir/checkers/checkers-component-generator/src/org/jetbrains/kotlin/fir/checkers/generator/diagnostics/DiagnosticListBuilder.kt index 74752b3fbf6..f2396db44b6 100644 --- a/compiler/fir/checkers/checkers-component-generator/src/org/jetbrains/kotlin/fir/checkers/generator/diagnostics/DiagnosticListBuilder.kt +++ b/compiler/fir/checkers/checkers-component-generator/src/org/jetbrains/kotlin/fir/checkers/generator/diagnostics/DiagnosticListBuilder.kt @@ -17,7 +17,7 @@ import kotlin.reflect.typeOf class DiagnosticListBuilder private constructor() { @PrivateForInline - val diagnostics = mutableListOf() + val diagnostics = mutableListOf() @PrivateForInline var currentGroupName: String? = null @@ -100,7 +100,7 @@ class DiagnosticBuilder( } @OptIn(PrivateForInline::class) - fun build() = Diagnostic( + fun build() = DiagnosticData( severity, name, sourceElementType, diff --git a/compiler/fir/checkers/checkers-component-generator/src/org/jetbrains/kotlin/fir/checkers/generator/diagnostics/ErrorListDiagnosticListRenderer.kt b/compiler/fir/checkers/checkers-component-generator/src/org/jetbrains/kotlin/fir/checkers/generator/diagnostics/ErrorListDiagnosticListRenderer.kt index e07e1d43640..ce0cc9e9497 100644 --- a/compiler/fir/checkers/checkers-component-generator/src/org/jetbrains/kotlin/fir/checkers/generator/diagnostics/ErrorListDiagnosticListRenderer.kt +++ b/compiler/fir/checkers/checkers-component-generator/src/org/jetbrains/kotlin/fir/checkers/generator/diagnostics/ErrorListDiagnosticListRenderer.kt @@ -43,7 +43,7 @@ object ErrorListDiagnosticListRenderer : DiagnosticListRenderer() { private fun SmartPrinter.printDiagnosticGroup( group: String?, - diagnostics: List + diagnostics: List ) { 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 = buildList { + private fun DiagnosticData.getAllTypeArguments(): List = 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 } diff --git a/idea/idea-frontend-fir/idea-frontend-fir-generator/src/org/jetbrains/kotlin/idea/frontend/api/fir/generator/HLDiagnostic.kt b/idea/idea-frontend-fir/idea-frontend-fir-generator/src/org/jetbrains/kotlin/idea/frontend/api/fir/generator/HLDiagnostic.kt index 8e84a070e59..111fedcdc8a 100644 --- a/idea/idea-frontend-fir/idea-frontend-fir-generator/src/org/jetbrains/kotlin/idea/frontend/api/fir/generator/HLDiagnostic.kt +++ b/idea/idea-frontend-fir/idea-frontend-fir-generator/src/org/jetbrains/kotlin/idea/frontend/api/fir/generator/HLDiagnostic.kt @@ -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, diff --git a/idea/idea-frontend-fir/idea-frontend-fir-generator/src/org/jetbrains/kotlin/idea/frontend/api/fir/generator/HLDiagnosticConverter.kt b/idea/idea-frontend-fir/idea-frontend-fir-generator/src/org/jetbrains/kotlin/idea/frontend/api/fir/generator/HLDiagnosticConverter.kt index 2b6e6db7970..e2132f8e6e3 100644 --- a/idea/idea-frontend-fir/idea-frontend-fir-generator/src/org/jetbrains/kotlin/idea/frontend/api/fir/generator/HLDiagnosticConverter.kt +++ b/idea/idea-frontend-fir/idea-frontend-fir-generator/src/org/jetbrains/kotlin/idea/frontend/api/fir/generator/HLDiagnosticConverter.kt @@ -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" }