aboutsummaryrefslogtreecommitdiff
path: root/plugins/base/src/main/kotlin/translators
diff options
context:
space:
mode:
authorPaweł Marks <pmarks@virtuslab.com>2020-03-04 00:29:36 +0100
committerPaweł Marks <Kordyjan@users.noreply.github.com>2020-03-04 14:28:14 +0100
commit89c33f431a43caa07365ec69b2b57f3b4e9a01c6 (patch)
treea48238a60970e7ac75efbc4e3ca5f182f6430b8d /plugins/base/src/main/kotlin/translators
parentd08591dea709917553c0d6de024820bb29b328fb (diff)
downloaddokka-89c33f431a43caa07365ec69b2b57f3b4e9a01c6.tar.gz
dokka-89c33f431a43caa07365ec69b2b57f3b4e9a01c6.tar.bz2
dokka-89c33f431a43caa07365ec69b2b57f3b4e9a01c6.zip
Big refactor of signature provider
Diffstat (limited to 'plugins/base/src/main/kotlin/translators')
-rw-r--r--plugins/base/src/main/kotlin/translators/documentables/DefaultPageCreator.kt10
-rw-r--r--plugins/base/src/main/kotlin/translators/documentables/PageContentBuilder.kt15
2 files changed, 10 insertions, 15 deletions
diff --git a/plugins/base/src/main/kotlin/translators/documentables/DefaultPageCreator.kt b/plugins/base/src/main/kotlin/translators/documentables/DefaultPageCreator.kt
index 5f3772ce..d92bec19 100644
--- a/plugins/base/src/main/kotlin/translators/documentables/DefaultPageCreator.kt
+++ b/plugins/base/src/main/kotlin/translators/documentables/DefaultPageCreator.kt
@@ -62,12 +62,12 @@ open class DefaultPageCreator(
) = contentBuilder.contentFor(s as Documentable) {
block("Types", 2, ContentKind.Classlikes, s.classlikes, platformData.toSet()) {
link(it.name.orEmpty(), it.dri)
- +signature(it)
+ +buildSignature(it)
text(it.briefDocTagString)
}
block("Functions", 2, ContentKind.Functions, s.functions, platformData.toSet()) {
link(it.name, it.dri)
- +signature(it)
+ +buildSignature(it)
text(it.briefDocTagString)
}
block("Properties", 2, ContentKind.Properties, s.properties, platformData.toSet()) {
@@ -77,13 +77,13 @@ open class DefaultPageCreator(
}
protected open fun contentForClasslike(c: Classlike) = contentBuilder.contentFor(c) {
- +signature(c)
+ +buildSignature(c)
+contentForComments(c)
if (c is WithConstructors) {
block("Constructors", 2, ContentKind.Constructors, c.constructors, c.platformData.toSet()) {
link(it.name, it.dri)
- signature(it)
+ +buildSignature(it)
text(it.briefDocTagString)
}
}
@@ -107,7 +107,7 @@ open class DefaultPageCreator(
protected open fun contentForFunction(f: Function) = contentBuilder.contentFor(f) {
header(1) { text(f.name) }
- +signature(f)
+ +buildSignature(f)
+contentForComments(f)
block("Parameters", 2, ContentKind.Parameters, f.children, f.platformData.toSet()) {
text(it.name ?: "<receiver>")
diff --git a/plugins/base/src/main/kotlin/translators/documentables/PageContentBuilder.kt b/plugins/base/src/main/kotlin/translators/documentables/PageContentBuilder.kt
index 0c08241f..369c9c81 100644
--- a/plugins/base/src/main/kotlin/translators/documentables/PageContentBuilder.kt
+++ b/plugins/base/src/main/kotlin/translators/documentables/PageContentBuilder.kt
@@ -93,13 +93,7 @@ open class PageContentBuilder(
contents += createText(text, kind, platformData, styles, extras)
}
- fun signature(d: Documentable) = ContentGroup(
- signatureProvider.signature(d),
- DCI(setOf(d.dri), ContentKind.Symbol),
- d.platformData.toSet(),
- mainStyles,
- mainExtras
- )
+ fun buildSignature(d: Documentable) = signatureProvider.signature(d)
fun linkTable(
elements: List<DRI>,
@@ -152,16 +146,17 @@ open class PageContentBuilder(
prefix: String = "",
suffix: String = "",
separator: String = ", ",
+ platformData: Set<PlatformData> = mainPlatformData, // TODO: children should be aware of this platform data
operation: DocumentableContentBuilder.(T) -> Unit
) {
if (elements.isNotEmpty()) {
- if (prefix.isNotEmpty()) text(prefix)
+ if (prefix.isNotEmpty()) text(prefix, platformData = platformData)
elements.dropLast(1).forEach {
operation(it)
- text(separator)
+ text(separator, platformData = platformData)
}
operation(elements.last())
- if (suffix.isNotEmpty()) text(suffix)
+ if (suffix.isNotEmpty()) text(suffix, platformData = platformData)
}
}