FIR analysis API: add workaround for java.io.Serializable type

This commit is contained in:
Mikhail Glukhikh
2022-05-27 11:54:14 +02:00
committed by Space
parent ef5cfab655
commit f4510773d0
5 changed files with 9 additions and 11 deletions
@@ -218,20 +218,18 @@ internal class ConeTypeIdeRenderer(
} }
val classSymbolToRender = type.lookupTag.toSymbol(session) val classSymbolToRender = type.lookupTag.toSymbol(session)
if (classSymbolToRender == null) { // To be able to render unresolved types like java.io.Serializable
appendError("Unresolved type") val classId = classSymbolToRender?.classId ?: type.lookupTag.classId
return
}
if (!options.shortQualifiedNames && !classSymbolToRender.classId.isLocal) { if (!options.shortQualifiedNames && !classId.isLocal) {
val packageName = classSymbolToRender.classId.packageFqName.asString() val packageName = classId.packageFqName.asString()
if (packageName.isNotEmpty()) { if (packageName.isNotEmpty()) {
append(packageName).append(".") append(packageName).append(".")
} }
} }
if (classSymbolToRender !is FirRegularClassSymbol) { if (classSymbolToRender !is FirRegularClassSymbol) {
append(classSymbolToRender.classId.shortClassName) append(classId.shortClassName)
if (type.typeArguments.any()) { if (type.typeArguments.any()) {
type.typeArguments.joinTo(this, ", ", prefix = "<", postfix = ">") { type.typeArguments.joinTo(this, ", ", prefix = "<", postfix = ">") {
renderTypeProjection(it) renderTypeProjection(it)
@@ -1,2 +1,2 @@
Resolved to: Resolved to:
0: (in kotlin) class String : kotlin.Comparable<kotlin.String>, kotlin.CharSequence, ERROR_TYPE <Unresolved type> 0: (in kotlin) class String : kotlin.Comparable<kotlin.String>, kotlin.CharSequence, java.io.Serializable
@@ -1,2 +1,2 @@
Resolved to: Resolved to:
0: (in kotlin) class String : kotlin.Comparable<kotlin.String>, kotlin.CharSequence, ERROR_TYPE <Unresolved type> 0: (in kotlin) class String : kotlin.Comparable<kotlin.String>, kotlin.CharSequence, java.io.Serializable
@@ -1,2 +1,2 @@
Resolved to: Resolved to:
0: (in kotlin) class String : kotlin.Comparable<kotlin.String>, kotlin.CharSequence, ERROR_TYPE <Unresolved type> 0: (in kotlin) class String : kotlin.Comparable<kotlin.String>, kotlin.CharSequence, java.io.Serializable
@@ -1,2 +1,2 @@
Resolved to: Resolved to:
0: (in kotlin) class String : kotlin.Comparable<kotlin.String>, kotlin.CharSequence, ERROR_TYPE <Unresolved type> 0: (in kotlin) class String : kotlin.Comparable<kotlin.String>, kotlin.CharSequence, java.io.Serializable