[FIR] Render integer literal types as Int in diagnostic messages

#KT-55662 Fixed
This commit is contained in:
Kirill Rakhman
2023-05-02 15:02:20 +02:00
committed by Space Team
parent cc87aabaec
commit 0c3d5c11b1
6 changed files with 41 additions and 11 deletions
@@ -126,12 +126,8 @@ open class ConeTypeRenderer {
builder.append("Stub (subtyping): ${type.constructor.variable}")
}
is ConeIntegerLiteralConstantType -> {
builder.append("ILT: ${type.value}")
}
is ConeIntegerConstantOperatorType -> {
builder.append("IOT")
is ConeIntegerLiteralType -> {
render(type)
}
}
if (type !is ConeFlexibleType && type !is ConeErrorType) {
@@ -210,4 +206,16 @@ open class ConeTypeRenderer {
}
}
}
protected open fun render(type: ConeIntegerLiteralType) {
when (type) {
is ConeIntegerLiteralConstantType -> {
builder.append("ILT: ${type.value}")
}
is ConeIntegerConstantOperatorType -> {
builder.append("IOT")
}
}
}
}
@@ -7,6 +7,7 @@ package org.jetbrains.kotlin.fir.renderer
import org.jetbrains.kotlin.builtins.StandardNames
import org.jetbrains.kotlin.fir.types.ConeFlexibleType
import org.jetbrains.kotlin.fir.types.ConeIntegerLiteralType
import org.jetbrains.kotlin.renderer.replacePrefixesInTypeRepresentations
import org.jetbrains.kotlin.renderer.typeStringsDifferOnlyInNullability
@@ -73,4 +74,8 @@ class ConeTypeRendererWithJavaFlexibleTypes : ConeTypeRenderer {
return "ft<$lowerRendered, $upperRendered>"
}
override fun render(type: ConeIntegerLiteralType) {
render(type.getApproximatedType())
}
}