diff --git a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/renderer/ConeTypeIdeRenderer.kt b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/renderer/ConeTypeIdeRenderer.kt index 1dd27679eaa..2d05af8860b 100644 --- a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/renderer/ConeTypeIdeRenderer.kt +++ b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/renderer/ConeTypeIdeRenderer.kt @@ -218,20 +218,18 @@ internal class ConeTypeIdeRenderer( } val classSymbolToRender = type.lookupTag.toSymbol(session) - if (classSymbolToRender == null) { - appendError("Unresolved type") - return - } + // To be able to render unresolved types like java.io.Serializable + val classId = classSymbolToRender?.classId ?: type.lookupTag.classId - if (!options.shortQualifiedNames && !classSymbolToRender.classId.isLocal) { - val packageName = classSymbolToRender.classId.packageFqName.asString() + if (!options.shortQualifiedNames && !classId.isLocal) { + val packageName = classId.packageFqName.asString() if (packageName.isNotEmpty()) { append(packageName).append(".") } } if (classSymbolToRender !is FirRegularClassSymbol) { - append(classSymbolToRender.classId.shortClassName) + append(classId.shortClassName) if (type.typeArguments.any()) { type.typeArguments.joinTo(this, ", ", prefix = "<", postfix = ">") { renderTypeProjection(it) diff --git a/analysis/analysis-api/testData/referenceResolve/typeParameter/TypeParameterInFunctionLiteral.txt b/analysis/analysis-api/testData/referenceResolve/typeParameter/TypeParameterInFunctionLiteral.txt index f6e3e1069eb..d99d9e6c059 100644 --- a/analysis/analysis-api/testData/referenceResolve/typeParameter/TypeParameterInFunctionLiteral.txt +++ b/analysis/analysis-api/testData/referenceResolve/typeParameter/TypeParameterInFunctionLiteral.txt @@ -1,2 +1,2 @@ Resolved to: -0: (in kotlin) class String : kotlin.Comparable, kotlin.CharSequence, ERROR_TYPE +0: (in kotlin) class String : kotlin.Comparable, kotlin.CharSequence, java.io.Serializable \ No newline at end of file diff --git a/analysis/analysis-api/testData/referenceResolve/withErrors/TypeArgumentUnresolvedClass.txt b/analysis/analysis-api/testData/referenceResolve/withErrors/TypeArgumentUnresolvedClass.txt index f6e3e1069eb..d99d9e6c059 100644 --- a/analysis/analysis-api/testData/referenceResolve/withErrors/TypeArgumentUnresolvedClass.txt +++ b/analysis/analysis-api/testData/referenceResolve/withErrors/TypeArgumentUnresolvedClass.txt @@ -1,2 +1,2 @@ Resolved to: -0: (in kotlin) class String : kotlin.Comparable, kotlin.CharSequence, ERROR_TYPE +0: (in kotlin) class String : kotlin.Comparable, kotlin.CharSequence, java.io.Serializable \ No newline at end of file diff --git a/analysis/analysis-api/testData/referenceResolve/withErrors/TypeArgumentUnresolvedConstructor.txt b/analysis/analysis-api/testData/referenceResolve/withErrors/TypeArgumentUnresolvedConstructor.txt index f6e3e1069eb..d99d9e6c059 100644 --- a/analysis/analysis-api/testData/referenceResolve/withErrors/TypeArgumentUnresolvedConstructor.txt +++ b/analysis/analysis-api/testData/referenceResolve/withErrors/TypeArgumentUnresolvedConstructor.txt @@ -1,2 +1,2 @@ Resolved to: -0: (in kotlin) class String : kotlin.Comparable, kotlin.CharSequence, ERROR_TYPE +0: (in kotlin) class String : kotlin.Comparable, kotlin.CharSequence, java.io.Serializable \ No newline at end of file diff --git a/analysis/analysis-api/testData/referenceResolve/withErrors/TypeArgumentWrongNumber.txt b/analysis/analysis-api/testData/referenceResolve/withErrors/TypeArgumentWrongNumber.txt index f6e3e1069eb..d99d9e6c059 100644 --- a/analysis/analysis-api/testData/referenceResolve/withErrors/TypeArgumentWrongNumber.txt +++ b/analysis/analysis-api/testData/referenceResolve/withErrors/TypeArgumentWrongNumber.txt @@ -1,2 +1,2 @@ Resolved to: -0: (in kotlin) class String : kotlin.Comparable, kotlin.CharSequence, ERROR_TYPE +0: (in kotlin) class String : kotlin.Comparable, kotlin.CharSequence, java.io.Serializable \ No newline at end of file