aboutsummaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
authorSimon Ogorodnik <Simon.Ogorodnik@jetbrains.com>2018-04-26 21:29:36 +0300
committerSimon Ogorodnik <Simon.Ogorodnik@jetbrains.com>2018-07-14 23:46:18 +0300
commitd8e3a6b6811569b77d2b523df6ade772ef38dde1 (patch)
treeb52e5d509070ac22c54c2696fb957adef1ed41a6 /core
parent9539284e5dd72e2676dc5d656b78f21c1c7035ee (diff)
downloaddokka-d8e3a6b6811569b77d2b523df6ade772ef38dde1.tar.gz
dokka-d8e3a6b6811569b77d2b523df6ade772ef38dde1.tar.bz2
dokka-d8e3a6b6811569b77d2b523df6ade772ef38dde1.zip
KT-24113: Render inner classes names qualified
Diffstat (limited to 'core')
-rw-r--r--core/src/main/kotlin/Kotlin/KotlinLanguageService.kt11
1 files changed, 9 insertions, 2 deletions
diff --git a/core/src/main/kotlin/Kotlin/KotlinLanguageService.kt b/core/src/main/kotlin/Kotlin/KotlinLanguageService.kt
index 613b9451..75d9fbbf 100644
--- a/core/src/main/kotlin/Kotlin/KotlinLanguageService.kt
+++ b/core/src/main/kotlin/Kotlin/KotlinLanguageService.kt
@@ -1,5 +1,6 @@
package org.jetbrains.dokka
+import org.jetbrains.dokka.Formats.classNodeNameWithOuterClass
import org.jetbrains.dokka.LanguageService.RenderMode
/**
@@ -170,7 +171,9 @@ class KotlinLanguageService : CommonLanguageService() {
renderAnnotationsForNode(node)
}
renderModifiersForNode(node, renderMode, true)
- renderLinked(this, node) { identifier(it.name, IdentifierKind.TypeName) }
+ renderLinked(this, node) {
+ identifier(it.typeDeclarationClass?.classNodeNameWithOuterClass() ?: it.name, IdentifierKind.TypeName)
+ }
val typeArguments = node.details(NodeKind.Type)
if (typeArguments.isNotEmpty()) {
symbol("<")
@@ -367,7 +370,7 @@ class KotlinLanguageService : CommonLanguageService() {
renderReceiver(node, renderMode, signatureMapper)
- if (node.kind != org.jetbrains.dokka.NodeKind.Constructor)
+ if (node.kind != NodeKind.Constructor)
identifierOrDeprecated(node)
symbol("(")
@@ -467,3 +470,7 @@ fun DocumentationNode.qualifiedNameFromType(): String {
?: (links.firstOrNull() ?: hiddenLinks.firstOrNull())?.qualifiedName()
?: name
}
+
+
+private val DocumentationNode.typeDeclarationClass
+ get() = (links.firstOrNull { it.kind in NodeKind.classLike } ?: externalType)