aboutsummaryrefslogtreecommitdiff
path: root/plugins/base/src/main/kotlin/translators/documentables
diff options
context:
space:
mode:
authorMarcin Aman <marcin.aman@gmail.com>2020-10-30 19:01:09 +0100
committerGitHub <noreply@github.com>2020-10-30 19:01:09 +0100
commit1aba0ec4973d7915caa93f1e9b3146ad82111903 (patch)
treeb9424de4bc22f8453ecb32aaa8f7f020bcd49e9f /plugins/base/src/main/kotlin/translators/documentables
parentda498f50eabfad8969eb7795a535e97f7e25ca58 (diff)
downloaddokka-1aba0ec4973d7915caa93f1e9b3146ad82111903.tar.gz
dokka-1aba0ec4973d7915caa93f1e9b3146ad82111903.tar.bz2
dokka-1aba0ec4973d7915caa93f1e9b3146ad82111903.zip
Fix parsing first word in deprecated (#1595)
Fix parsing first word in `Deprecated` annotations, fix `Throws` and `See` tags
Diffstat (limited to 'plugins/base/src/main/kotlin/translators/documentables')
-rw-r--r--plugins/base/src/main/kotlin/translators/documentables/DefaultPageCreator.kt33
-rw-r--r--plugins/base/src/main/kotlin/translators/documentables/PageContentBuilder.kt11
2 files changed, 36 insertions, 8 deletions
diff --git a/plugins/base/src/main/kotlin/translators/documentables/DefaultPageCreator.kt b/plugins/base/src/main/kotlin/translators/documentables/DefaultPageCreator.kt
index b2a9d5d2..e0ced0aa 100644
--- a/plugins/base/src/main/kotlin/translators/documentables/DefaultPageCreator.kt
+++ b/plugins/base/src/main/kotlin/translators/documentables/DefaultPageCreator.kt
@@ -179,10 +179,10 @@ open class DefaultPageCreator(
if (map.values.any()) {
header(2, "Inheritors") { }
+ContentTable(
- listOf(contentBuilder.contentFor(mainDRI, mainSourcesetData) {
+ header = listOf(contentBuilder.contentFor(mainDRI, mainSourcesetData) {
text("Name")
}),
- map.entries.flatMap { entry -> entry.value.map { Pair(entry.key, it) } }
+ children = map.entries.flatMap { entry -> entry.value.map { Pair(entry.key, it) } }
.groupBy({ it.second }, { it.first }).map { (classlike, platforms) ->
val label = classlike.classNames?.substringBeforeLast(".") ?: classlike.toString()
.also { logger.warn("No class name found for DRI $classlike") }
@@ -190,8 +190,8 @@ open class DefaultPageCreator(
link(label, classlike)
}
},
- DCI(setOf(dri), ContentKind.Inheritors),
- sourceSets.toDisplaySourceSets(),
+ dci = DCI(setOf(dri), ContentKind.Inheritors),
+ sourceSets = sourceSets.toDisplaySourceSets(),
style = emptySet(),
extra = mainExtra + SimpleAttr.header("Inheritors")
)
@@ -429,6 +429,30 @@ open class DefaultPageCreator(
}
}
}
+ fun DocumentableContentBuilder.contentForThrows() {
+ val throws = tags.withTypeNamed<Throws>()
+ if (throws.isNotEmpty()) {
+ header(4, "Throws")
+ sourceSetDependentHint(sourceSets = platforms.toSet(), kind = ContentKind.SourceSetDependentHint) {
+ platforms.forEach { sourceset ->
+ table(kind = ContentKind.Main, sourceSets = setOf(sourceset)) {
+ throws.entries.mapNotNull { entry ->
+ entry.value[sourceset]?.let { throws ->
+ buildGroup(sourceSets = setOf(sourceset)) {
+ group(styles = mainStyles + ContentStyle.RowTitle) {
+ throws.exceptionAddress?.let {
+ link(text = entry.key, address = it)
+ } ?: text(entry.key)
+ }
+ comment(throws.root)
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
fun DocumentableContentBuilder.contentForSamples() {
val samples = tags.withTypeNamed<Sample>()
@@ -461,6 +485,7 @@ open class DefaultPageCreator(
contentForSamples()
contentForSeeAlso()
contentForParams()
+ contentForThrows()
}
}.children
}
diff --git a/plugins/base/src/main/kotlin/translators/documentables/PageContentBuilder.kt b/plugins/base/src/main/kotlin/translators/documentables/PageContentBuilder.kt
index 1865f276..9fee60cb 100644
--- a/plugins/base/src/main/kotlin/translators/documentables/PageContentBuilder.kt
+++ b/plugins/base/src/main/kotlin/translators/documentables/PageContentBuilder.kt
@@ -154,6 +154,7 @@ open class PageContentBuilder(
) {
contents += ContentTable(
defaultHeaders,
+ null,
operation(),
DCI(mainDRI, kind),
sourceSets.toDisplaySourceSets(), styles, extra
@@ -177,8 +178,8 @@ open class PageContentBuilder(
if (renderWhenEmpty || elements.any()) {
header(level, name, kind = kind) { }
contents += ContentTable(
- headers ?: defaultHeaders,
- elements
+ header = headers ?: defaultHeaders,
+ children = elements
.let {
if (needsSorting)
it.sortedWith(compareBy(nullsLast(String.CASE_INSENSITIVE_ORDER)) { it.name })
@@ -190,8 +191,10 @@ open class PageContentBuilder(
operation(it)
}
},
- DCI(mainDRI, kind),
- sourceSets.toDisplaySourceSets(), styles, extra
+ dci = DCI(mainDRI, kind),
+ sourceSets = sourceSets.toDisplaySourceSets(),
+ style = styles,
+ extra = extra
)
}
}