From 9b16f25eb2c29c362f69e5e33fce164ce0dc00e1 Mon Sep 17 00:00:00 2001 From: Kamil Doległo <9080183+kamildoleglo@users.noreply.github.com> Date: Thu, 15 Oct 2020 17:04:11 +0200 Subject: Fix unresolved link parsing in Javadoc that resulted in an empty link label (#1566) --- .../base/src/main/kotlin/translators/psi/JavadocParser.kt | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) (limited to 'plugins/base/src/main/kotlin') diff --git a/plugins/base/src/main/kotlin/translators/psi/JavadocParser.kt b/plugins/base/src/main/kotlin/translators/psi/JavadocParser.kt index 9ef5ea38..261f98dd 100644 --- a/plugins/base/src/main/kotlin/translators/psi/JavadocParser.kt +++ b/plugins/base/src/main/kotlin/translators/psi/JavadocParser.kt @@ -163,14 +163,17 @@ class JavadocParser( private fun PsiElement.toDocumentationLinkString( labelElement: List? = null - ): String = - (reference?.resolve()?.takeIf { it !is PsiParameter }?.let { + ): String { + val label = labelElement?.toList().takeUnless { it.isNullOrEmpty() } ?: listOf(defaultLabel()) + + val dri = reference?.resolve()?.takeIf { it !is PsiParameter }?.let { val dri = DRI.from(it) driMap[dri.toString()] = dri - Pair(labelElement ?: listOf(defaultLabel()), dri.toString()) - } ?: Pair(listOf(defaultLabel()), UNRESOLVED_PSI_ELEMENT)).let { (label, dri) -> - """${label.joinToString(" ") { it.text }}""" - } + dri.toString() + } ?: UNRESOLVED_PSI_ELEMENT + + return """${label.joinToString(" ") { it.text }}""" + } private fun convertInlineDocTag(tag: PsiInlineDocTag) = when (tag.name) { "link", "linkplain" -> tag.referenceElement() -- cgit