From fb9a5abfc24e93b918693f78a8f555da2c5a359f Mon Sep 17 00:00:00 2001 From: Błażej Kardyś Date: Mon, 22 Jun 2020 03:37:15 +0200 Subject: Javadoc briefs update --- core/src/main/kotlin/model/doc/DocTag.kt | 5 +++-- core/src/main/kotlin/model/doc/DocumentationNode.kt | 4 +++- core/src/main/kotlin/model/doc/TagWrapper.kt | 6 +++++- core/src/main/kotlin/model/documentableUtils.kt | 12 +++++++++++- 4 files changed, 22 insertions(+), 5 deletions(-) (limited to 'core/src') diff --git a/core/src/main/kotlin/model/doc/DocTag.kt b/core/src/main/kotlin/model/doc/DocTag.kt index 812acd62..902dedec 100644 --- a/core/src/main/kotlin/model/doc/DocTag.kt +++ b/core/src/main/kotlin/model/doc/DocTag.kt @@ -1,11 +1,12 @@ package org.jetbrains.dokka.model.doc import org.jetbrains.dokka.links.DRI +import org.jetbrains.dokka.model.WithChildren sealed class DocTag( - val children: List, + override val children: List, val params: Map -) { +) : WithChildren { override fun equals(other: Any?): Boolean = ( other != null && diff --git a/core/src/main/kotlin/model/doc/DocumentationNode.kt b/core/src/main/kotlin/model/doc/DocumentationNode.kt index a143a941..cfac210a 100644 --- a/core/src/main/kotlin/model/doc/DocumentationNode.kt +++ b/core/src/main/kotlin/model/doc/DocumentationNode.kt @@ -1,3 +1,5 @@ package org.jetbrains.dokka.model.doc -data class DocumentationNode(val children: List) \ No newline at end of file +import org.jetbrains.dokka.model.WithChildren + +data class DocumentationNode(override val children: List): WithChildren \ No newline at end of file diff --git a/core/src/main/kotlin/model/doc/TagWrapper.kt b/core/src/main/kotlin/model/doc/TagWrapper.kt index af45e7eb..458203b0 100644 --- a/core/src/main/kotlin/model/doc/TagWrapper.kt +++ b/core/src/main/kotlin/model/doc/TagWrapper.kt @@ -1,8 +1,12 @@ package org.jetbrains.dokka.model.doc import org.jetbrains.dokka.links.DRI +import org.jetbrains.dokka.model.WithChildren -sealed class TagWrapper(val root: DocTag) { +sealed class TagWrapper(val root: DocTag) : WithChildren { + + override val children: List + get() = root.children override fun equals(other: Any?): Boolean = ( diff --git a/core/src/main/kotlin/model/documentableUtils.kt b/core/src/main/kotlin/model/documentableUtils.kt index 7057a62c..f49c0967 100644 --- a/core/src/main/kotlin/model/documentableUtils.kt +++ b/core/src/main/kotlin/model/documentableUtils.kt @@ -19,4 +19,14 @@ fun DTypeParameter.filter(filteredSet: Set) = intersection, extra ) - } \ No newline at end of file + } + +interface WithChildren { + val children: List<*> +} + +inline fun WithChildren.firstChildOfType() = + children.filterIsInstance().firstOrNull() + +inline fun WithChildren.firstChildOfType(predicate: (T) -> Boolean) = + children.filterIsInstance().firstOrNull(predicate) \ No newline at end of file -- cgit