From 93520158b4be59f98015d07e8fecaa7e5a49fd99 Mon Sep 17 00:00:00 2001 From: Marcin Aman Date: Wed, 20 Jan 2021 10:30:50 +0100 Subject: Bring back displaying jvm name when KaJ is not present (#1702) --- .../transformers/JvmNameDocumentableTransformer.kt | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) (limited to 'plugins/kotlin-as-java/src/main') diff --git a/plugins/kotlin-as-java/src/main/kotlin/transformers/JvmNameDocumentableTransformer.kt b/plugins/kotlin-as-java/src/main/kotlin/transformers/JvmNameDocumentableTransformer.kt index 3fb26034..c49e08f0 100644 --- a/plugins/kotlin-as-java/src/main/kotlin/transformers/JvmNameDocumentableTransformer.kt +++ b/plugins/kotlin-as-java/src/main/kotlin/transformers/JvmNameDocumentableTransformer.kt @@ -1,6 +1,7 @@ package org.jetbrains.dokka.kotlinAsJava.transformers import org.jetbrains.dokka.model.* +import org.jetbrains.dokka.model.properties.PropertyContainer import org.jetbrains.dokka.plugability.DokkaContext import org.jetbrains.dokka.transformers.documentation.DocumentableTransformer @@ -25,7 +26,8 @@ class JvmNameDocumentableTransformer : DocumentableTransformer { val name = jvmNameProvider.nameFor(this) copy( dri = documentable.dri.withCallableName(name), - name = name + name = name, + extra = extra.withoutJvmName() ) } is DProperty -> transformGetterAndSetter(this) @@ -42,6 +44,17 @@ class JvmNameDocumentableTransformer : DocumentableTransformer { } } as T + private fun PropertyContainer.withoutJvmName(): PropertyContainer { + val annotationsWithoutJvmName = get(Annotations)?.let { annotations -> + annotations.copy((annotations.directAnnotations).map { (sourceset, annotations) -> + sourceset to annotations.filterNot { it.isJvmName() } + }.toMap() + annotations.fileLevelAnnotations) + } + val extraWithoutAnnotations: PropertyContainer = minus(Annotations) + + return extraWithoutAnnotations.addAll(listOfNotNull(annotationsWithoutJvmName)) + } + private fun transformClassLike(documentable: DClasslike): DClasslike = with(documentable) { when (this) { @@ -80,7 +93,8 @@ class JvmNameDocumentableTransformer : DocumentableTransformer { setter?.let { setter -> setter.copy( dri = setter.dri.withCallableName(setterName), - name = setterName + name = setterName, + extra = setter.extra.withoutJvmName() ) } }, @@ -88,7 +102,8 @@ class JvmNameDocumentableTransformer : DocumentableTransformer { getter?.let { getter -> getter.copy( dri = getter.dri.withCallableName(getterName), - name = getterName + name = getterName, + extra = getter.extra.withoutJvmName() ) } }) -- cgit