[klib] Make CONFLICTING_KLIB_SIGNATURES_DATA diagnostic more precise
Show what kind of declarations exactly are clashing: functions, properties, or fields. This is so that diagnostics about clashing properties and fields are distinguishable from one another, since properties and fields are rendered the same way in those diagnostics:
This commit is contained in:
committed by
Space Team
parent
d80a67652f
commit
03ca64c954
+11
@@ -15,6 +15,9 @@ import org.jetbrains.kotlin.diagnostics.rendering.CommonRenderers
|
||||
import org.jetbrains.kotlin.diagnostics.rendering.Renderer
|
||||
import org.jetbrains.kotlin.diagnostics.rendering.RootDiagnosticRendererFactory
|
||||
import org.jetbrains.kotlin.ir.declarations.IrDeclaration
|
||||
import org.jetbrains.kotlin.ir.declarations.IrField
|
||||
import org.jetbrains.kotlin.ir.declarations.IrProperty
|
||||
import org.jetbrains.kotlin.ir.declarations.IrSimpleFunction
|
||||
import org.jetbrains.kotlin.ir.descriptors.toIrBasedDescriptor
|
||||
import org.jetbrains.kotlin.ir.util.render
|
||||
import org.jetbrains.kotlin.renderer.DescriptorRenderer
|
||||
@@ -48,5 +51,13 @@ internal object SerializationDiagnosticRenderers {
|
||||
},
|
||||
renderSignature = { append(it.signature.render()) },
|
||||
declarations = { it.declarations.map(IrDeclaration::toIrBasedDescriptor) },
|
||||
declarationKind = { data ->
|
||||
when {
|
||||
data.declarations.all { it is IrSimpleFunction } -> "functions"
|
||||
data.declarations.all { it is IrProperty } -> "properties"
|
||||
data.declarations.all { it is IrField } -> "fields"
|
||||
else -> "declarations"
|
||||
}
|
||||
},
|
||||
)
|
||||
}
|
||||
Reference in New Issue
Block a user