aboutsummaryrefslogtreecommitdiff
path: root/plugins/base/src/main/kotlin/translators
diff options
context:
space:
mode:
authorAndrzej Ratajczak <andrzej.ratajczak98@gmail.com>2020-04-10 16:59:25 +0200
committerPaweł Marks <Kordyjan@users.noreply.github.com>2020-05-13 10:03:48 +0200
commit6166ddfeb6ee977a302d4cacc80dac23cc7e2baf (patch)
tree1fb93e53c8fbd5f76cf2f1438fa0ff4cdfe3494e /plugins/base/src/main/kotlin/translators
parent79d1827b5d249c0a597c6c2f9cb91ff8f5689d94 (diff)
downloaddokka-6166ddfeb6ee977a302d4cacc80dac23cc7e2baf.tar.gz
dokka-6166ddfeb6ee977a302d4cacc80dac23cc7e2baf.tar.bz2
dokka-6166ddfeb6ee977a302d4cacc80dac23cc7e2baf.zip
Working tests for includes, sources and samples. Minor bugfixes
Diffstat (limited to 'plugins/base/src/main/kotlin/translators')
-rw-r--r--plugins/base/src/main/kotlin/translators/descriptors/DefaultDescriptorToDocumentableTranslator.kt15
-rw-r--r--plugins/base/src/main/kotlin/translators/documentables/DefaultPageCreator.kt18
2 files changed, 27 insertions, 6 deletions
diff --git a/plugins/base/src/main/kotlin/translators/descriptors/DefaultDescriptorToDocumentableTranslator.kt b/plugins/base/src/main/kotlin/translators/descriptors/DefaultDescriptorToDocumentableTranslator.kt
index be18c592..00e3239c 100644
--- a/plugins/base/src/main/kotlin/translators/descriptors/DefaultDescriptorToDocumentableTranslator.kt
+++ b/plugins/base/src/main/kotlin/translators/descriptors/DefaultDescriptorToDocumentableTranslator.kt
@@ -500,12 +500,15 @@ private class DokkaDescriptorVisitor(
.filter { it.kind == ClassKind.ENUM_ENTRY }
.map { enumEntryDescriptor(it, parent) }
-
- private fun DeclarationDescriptor.resolveDescriptorData(platformData: PlatformData?): PlatformDependent<DocumentationNode> =
- if (platformData != null) PlatformDependent.from(
- platformData,
- getDocumentation()
- ) else PlatformDependent.expectFrom(getDocumentation())
+ private fun DeclarationDescriptor.resolveDescriptorData(platformData: PlatformData?): PlatformDependent<DocumentationNode> {
+ val documentation = getDocumentation()
+ return if (documentation.children.isEmpty())
+ PlatformDependent.empty()
+ else if (platformData != null)
+ PlatformDependent.from(platformData, documentation)
+ else
+ PlatformDependent.expectFrom(documentation)
+ }
private fun ClassDescriptor.resolveClassDescriptionData(platformData: PlatformData?): ClassInfo {
return ClassInfo(
diff --git a/plugins/base/src/main/kotlin/translators/documentables/DefaultPageCreator.kt b/plugins/base/src/main/kotlin/translators/documentables/DefaultPageCreator.kt
index 424e6aa4..dd28b533 100644
--- a/plugins/base/src/main/kotlin/translators/documentables/DefaultPageCreator.kt
+++ b/plugins/base/src/main/kotlin/translators/documentables/DefaultPageCreator.kt
@@ -284,6 +284,23 @@ open class DefaultPageCreator(
}
}
+ fun DocumentableContentBuilder.contentForSamples() {
+ val samples = tags.withTypeNamed<Sample>()
+ if (samples.isNotEmpty()) {
+ platforms.forEach { platformData ->
+ val content = samples.filter { it.value.isEmpty() || platformData in it.value }
+ if (content.isNotEmpty()) {
+ group(platformData = setOf(platformData)) {
+ header(4, kind = ContentKind.Comment) { text("Samples") }
+ content.forEach {
+ comment(Text(it.key))
+ }
+ }
+ }
+ }
+ }
+ }
+
fun DocumentableContentBuilder.contentForUnnamedTags() {
val unnamedTags: List<PlatformDependent<TagWrapper>> =
tags.filterNot { (k, _) -> k.isSubclassOf(NamedTagWrapper::class) || k in specialTags }
@@ -305,6 +322,7 @@ open class DefaultPageCreator(
header(3) { text("Description") }
platformDependentHint(platformData = platforms.toSet()) {
contentForDescription()
+ contentForSamples()
contentForParams()
contentForUnnamedTags()
contentForSeeAlso()