From d61f7c78c794da55fe182d9e00c03303292785e7 Mon Sep 17 00:00:00 2001 From: vmishenev Date: Wed, 8 May 2024 15:40:39 +0300 Subject: [PATCH] Refactor translating a class annotation value After https://youtrack.jetbrains.com/issue/KT-61775/ --- .../symbols/translators/AnnotationTranslator.kt | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/dokka-subprojects/analysis-kotlin-symbols/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/symbols/translators/AnnotationTranslator.kt b/dokka-subprojects/analysis-kotlin-symbols/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/symbols/translators/AnnotationTranslator.kt index 668e1cdd5d..6768422cf1 100644 --- a/dokka-subprojects/analysis-kotlin-symbols/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/symbols/translators/AnnotationTranslator.kt +++ b/dokka-subprojects/analysis-kotlin-symbols/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/symbols/translators/AnnotationTranslator.kt @@ -105,18 +105,17 @@ internal class AnnotationTranslator { is KtArrayAnnotationValue -> ArrayValue(annotationValue.values.map { toDokkaAnnotationValue(it) }) is KtAnnotationApplicationValue -> AnnotationValue(toDokkaAnnotation(annotationValue.annotationValue)) - is KtKClassAnnotationValue.KtNonLocalKClassAnnotationValue -> ClassValue( - annotationValue.classId.relativeClassName.asString(), - annotationValue.classId.createDRI() - ) - - is KtKClassAnnotationValue.KtLocalKClassAnnotationValue -> throw IllegalStateException("Unexpected a local class in annotation") - is KtKClassAnnotationValue.KtErrorClassAnnotationValue -> ClassValue( - annotationValue.unresolvedQualifierName ?: "", + is KtKClassAnnotationValue -> annotationValue.classId?.let { classId -> + ClassValue( + classId.relativeClassName.asString(), + classId.createDRI() + ) + } ?: ClassValue( + annotationValue.type.asStringForDebugging(), DRI(packageName = "", classNames = ERROR_CLASS_NAME) ) - KtUnsupportedAnnotationValue -> ClassValue( + is KtUnsupportedAnnotationValue -> ClassValue( "", DRI(packageName = "", classNames = ERROR_CLASS_NAME) )