aboutsummaryrefslogtreecommitdiff
path: root/plugins/base/src/main/kotlin/renderers/DefaultRenderer.kt
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/base/src/main/kotlin/renderers/DefaultRenderer.kt')
-rw-r--r--plugins/base/src/main/kotlin/renderers/DefaultRenderer.kt21
1 files changed, 13 insertions, 8 deletions
diff --git a/plugins/base/src/main/kotlin/renderers/DefaultRenderer.kt b/plugins/base/src/main/kotlin/renderers/DefaultRenderer.kt
index 1340529c..e229f3a6 100644
--- a/plugins/base/src/main/kotlin/renderers/DefaultRenderer.kt
+++ b/plugins/base/src/main/kotlin/renderers/DefaultRenderer.kt
@@ -1,6 +1,7 @@
package org.jetbrains.dokka.base.renderers
import kotlinx.coroutines.*
+import kotlinx.html.FlowContent
import org.jetbrains.dokka.base.DokkaBase
import org.jetbrains.dokka.base.resolvers.local.LocationProvider
import org.jetbrains.dokka.model.SourceSetData
@@ -27,7 +28,7 @@ abstract class DefaultRenderer<T>(
abstract fun T.buildList(
node: ContentList,
pageContext: ContentPage,
- platformRestriction: SourceSetData? = null
+ platformRestriction: Set<SourceSetData>? = null
)
abstract fun T.buildNewLine()
@@ -35,7 +36,7 @@ abstract class DefaultRenderer<T>(
abstract fun T.buildTable(
node: ContentTable,
pageContext: ContentPage,
- platformRestriction: SourceSetData? = null
+ platformRestriction: Set<SourceSetData>? = null
)
abstract fun T.buildText(textNode: ContentText)
@@ -50,17 +51,20 @@ abstract class DefaultRenderer<T>(
open fun T.buildGroup(
node: ContentGroup,
pageContext: ContentPage,
- platformRestriction: SourceSetData? = null
+ platformRestriction: Set<SourceSetData>? = null
) =
wrapGroup(node, pageContext) { node.children.forEach { it.build(this, pageContext, platformRestriction) } }
+ open fun T.buildDivergent(node: ContentDivergentGroup, pageContext: ContentPage) =
+ node.children.forEach { it.build(this, pageContext) }
+
open fun T.wrapGroup(node: ContentGroup, pageContext: ContentPage, childrenCallback: T.() -> Unit) =
childrenCallback()
open fun T.buildLinkText(
nodes: List<ContentNode>,
pageContext: ContentPage,
- platformRestriction: SourceSetData? = null
+ platformRestriction: Set<SourceSetData>? = null
) {
nodes.forEach { it.build(this, pageContext, platformRestriction) }
}
@@ -72,7 +76,7 @@ abstract class DefaultRenderer<T>(
open fun T.buildHeader(
node: ContentHeader,
pageContext: ContentPage,
- platformRestriction: SourceSetData? = null
+ platformRestriction: Set<SourceSetData>? = null
) {
buildHeader(node.level) { node.children.forEach { it.build(this, pageContext, platformRestriction) } }
}
@@ -80,16 +84,16 @@ abstract class DefaultRenderer<T>(
open fun ContentNode.build(
builder: T,
pageContext: ContentPage,
- platformRestriction: SourceSetData? = null
+ platformRestriction: Set<SourceSetData>? = null
) =
builder.buildContentNode(this, pageContext, platformRestriction)
open fun T.buildContentNode(
node: ContentNode,
pageContext: ContentPage,
- platformRestriction: SourceSetData? = null
+ platformRestriction: Set<SourceSetData>? = null
) {
- if (platformRestriction == null || platformRestriction in node.sourceSets) {
+ if (platformRestriction == null || node.sourceSets.any { it in platformRestriction } ) {
when (node) {
is ContentText -> buildText(node)
is ContentHeader -> buildHeader(node, pageContext, platformRestriction)
@@ -107,6 +111,7 @@ abstract class DefaultRenderer<T>(
is ContentGroup -> buildGroup(node, pageContext, platformRestriction)
is ContentBreakLine -> buildNewLine()
is PlatformHintedContent -> buildPlatformDependent(node, pageContext)
+ is ContentDivergentGroup -> buildDivergent(node, pageContext)
else -> buildError(node)
}
}