aboutsummaryrefslogtreecommitdiff
path: root/plugins/xml/src/main/kotlin
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/xml/src/main/kotlin')
-rw-r--r--plugins/xml/src/main/kotlin/XmlPlugin.kt63
-rw-r--r--plugins/xml/src/main/kotlin/utils.kt1
2 files changed, 0 insertions, 64 deletions
diff --git a/plugins/xml/src/main/kotlin/XmlPlugin.kt b/plugins/xml/src/main/kotlin/XmlPlugin.kt
deleted file mode 100644
index e19b76b3..00000000
--- a/plugins/xml/src/main/kotlin/XmlPlugin.kt
+++ /dev/null
@@ -1,63 +0,0 @@
-package org.jetbrains.dokka.xml
-
-import org.jetbrains.dokka.CoreExtensions
-import org.jetbrains.dokka.model.Documentable
-import org.jetbrains.dokka.model.dfs
-import org.jetbrains.dokka.pages.*
-import org.jetbrains.dokka.plugability.DokkaContext
-import org.jetbrains.dokka.plugability.DokkaPlugin
-import org.jetbrains.dokka.plugability.single
-import org.jetbrains.dokka.transformers.descriptors.XMLMega
-import org.jetbrains.dokka.transformers.pages.PageNodeTransformer
-
-class XmlPlugin : DokkaPlugin() {
- val transformer by extending {
- CoreExtensions.pageTransformer providing ::XmlTransformer
- }
-}
-
-class XmlTransformer(private val dokkaContext: DokkaContext) : PageNodeTransformer {
- private val commentsToContentConverter by lazy { dokkaContext.single(CoreExtensions.commentsToContentConverter) }
-
- enum class XMLKind : Kind {
- Main, XmlList
- }
-
- override fun invoke(input: RootPageNode): RootPageNode =
- input.transformPageNodeTree { if (it is ModulePageNode) transformModule(it) else it }
-
- private fun transformModule(module: ModulePageNode) = module.transformContentPagesTree { node ->
- if (node !is ClasslikePageNode) node
- else {
- val refs =
- node.documentable?.extra?.filterIsInstance<XMLMega>()?.filter { it.key == "@attr ref" }
- .orEmpty()
- val elementsToAdd = mutableListOf<Documentable>()
-
- refs.forEach { ref ->
- module.documentable?.dfs { it.dri == ref.dri }?.let { elementsToAdd.add(it) }
- }
- val platformData = node.platforms().toSet()
- val refTable = DefaultPageContentBuilder.group(
- node.dri,
- platformData,
- XMLKind.XmlList,
- commentsToContentConverter,
- dokkaContext.logger
- ) {
- block("XML Attributes", 2, XMLKind.XmlList, elementsToAdd, platformData) { element ->
- link(element.dri, XMLKind.XmlList) {
- text(element.name ?: "<unnamed>", XMLKind.Main)
- }
- text(element.briefDocTagString, XMLKind.XmlList)
- }
- }
-
- val content = node.content as ContentGroup
- val children = (node.content as ContentGroup).children
- node.modified(content = content.copy(children = children + refTable))
- }
- }
-
- private fun ContentPage.platforms() = this.content.platforms.toList()
-} \ No newline at end of file
diff --git a/plugins/xml/src/main/kotlin/utils.kt b/plugins/xml/src/main/kotlin/utils.kt
deleted file mode 100644
index 2f5f1893..00000000
--- a/plugins/xml/src/main/kotlin/utils.kt
+++ /dev/null
@@ -1 +0,0 @@
-package org.jetbrains.dokka.xml \ No newline at end of file