aboutsummaryrefslogtreecommitdiff
path: root/plugins/base/src/main/kotlin/translators
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/base/src/main/kotlin/translators')
-rw-r--r--plugins/base/src/main/kotlin/translators/documentables/DefaultDocumentableToPageTranslator.kt2
-rw-r--r--plugins/base/src/main/kotlin/translators/documentables/DefaultPageCreator.kt253
-rw-r--r--plugins/base/src/main/kotlin/translators/documentables/DriClashAwareName.kt4
-rw-r--r--plugins/base/src/main/kotlin/translators/documentables/PageContentBuilder.kt261
-rw-r--r--plugins/base/src/main/kotlin/translators/documentables/briefFromContentNodes.kt4
-rw-r--r--plugins/base/src/main/kotlin/translators/psi/parsers/InheritDocResolver.kt4
-rw-r--r--plugins/base/src/main/kotlin/translators/psi/parsers/JavadocParser.kt4
-rw-r--r--plugins/base/src/main/kotlin/translators/psi/parsers/JavadocTag.kt4
8 files changed, 285 insertions, 251 deletions
diff --git a/plugins/base/src/main/kotlin/translators/documentables/DefaultDocumentableToPageTranslator.kt b/plugins/base/src/main/kotlin/translators/documentables/DefaultDocumentableToPageTranslator.kt
index 57cd9522..0b2597d5 100644
--- a/plugins/base/src/main/kotlin/translators/documentables/DefaultDocumentableToPageTranslator.kt
+++ b/plugins/base/src/main/kotlin/translators/documentables/DefaultDocumentableToPageTranslator.kt
@@ -12,7 +12,7 @@ import org.jetbrains.dokka.plugability.*
import org.jetbrains.dokka.transformers.documentation.DocumentableToPageTranslator
import org.jetbrains.dokka.analysis.kotlin.internal.InternalKotlinAnalysisPlugin
-class DefaultDocumentableToPageTranslator(
+public class DefaultDocumentableToPageTranslator(
context: DokkaContext
) : DocumentableToPageTranslator {
private val configuration = configuration<DokkaBase, DokkaBaseConfiguration>(context)
diff --git a/plugins/base/src/main/kotlin/translators/documentables/DefaultPageCreator.kt b/plugins/base/src/main/kotlin/translators/documentables/DefaultPageCreator.kt
index ec5fd193..58abee56 100644
--- a/plugins/base/src/main/kotlin/translators/documentables/DefaultPageCreator.kt
+++ b/plugins/base/src/main/kotlin/translators/documentables/DefaultPageCreator.kt
@@ -28,24 +28,26 @@ import kotlin.reflect.KClass
internal typealias GroupedTags = Map<KClass<out TagWrapper>, List<Pair<DokkaSourceSet?, TagWrapper>>>
-open class DefaultPageCreator(
+public open class DefaultPageCreator(
configuration: DokkaBaseConfiguration?,
commentsToContentConverter: CommentsToContentConverter,
signatureProvider: SignatureProvider,
- val logger: DokkaLogger,
- val customTagContentProviders: List<CustomTagContentProvider> = emptyList(),
- val documentableAnalyzer: DocumentableSourceLanguageParser
+ public val logger: DokkaLogger,
+ public val customTagContentProviders: List<CustomTagContentProvider> = emptyList(),
+ public val documentableAnalyzer: DocumentableSourceLanguageParser
) {
- protected open val contentBuilder = PageContentBuilder(commentsToContentConverter, signatureProvider, logger)
+ protected open val contentBuilder: PageContentBuilder = PageContentBuilder(
+ commentsToContentConverter, signatureProvider, logger
+ )
- protected val mergeImplicitExpectActualDeclarations =
+ protected val mergeImplicitExpectActualDeclarations: Boolean =
configuration?.mergeImplicitExpectActualDeclarations
?: DokkaBaseConfiguration.mergeImplicitExpectActualDeclarationsDefault
- protected val separateInheritedMembers =
+ protected val separateInheritedMembers: Boolean =
configuration?.separateInheritedMembers ?: DokkaBaseConfiguration.separateInheritedMembersDefault
- open fun pageForModule(m: DModule): ModulePageNode =
+ public open fun pageForModule(m: DModule): ModulePageNode =
ModulePageNode(m.name.ifEmpty { "<root>" }, contentForModule(m), listOf(m), m.packages.map(::pageForPackage))
/**
@@ -59,25 +61,32 @@ open class DefaultPageCreator(
return this.filterNot { it is DTypeAlias && this.hasExpectClass(it.dri) }
}
- open fun pageForPackage(p: DPackage): PackagePageNode = PackagePageNode(
- p.name, contentForPackage(p), setOf(p.dri), listOf(p),
- if (mergeImplicitExpectActualDeclarations)
+ public open fun pageForPackage(p: DPackage): PackagePageNode {
+ val children = if (mergeImplicitExpectActualDeclarations) {
(p.classlikes + p.typealiases).filterOutActualTypeAlias()
.mergeClashingDocumentable().map(::pageForClasslikes) +
p.functions.mergeClashingDocumentable().map(::pageForFunctions) +
p.properties.mergeClashingDocumentable().map(::pageForProperties)
- else
+ } else {
(p.classlikes + p.typealiases).filterOutActualTypeAlias()
.renameClashingDocumentable().map(::pageForClasslike) +
p.functions.renameClashingDocumentable().map(::pageForFunction) +
p.properties.mapNotNull(::pageForProperty)
- )
+ }
+ return PackagePageNode(
+ name = p.name,
+ content = contentForPackage(p),
+ dri = setOf(p.dri),
+ documentables = listOf(p),
+ children = children
+ )
+ }
- open fun pageForEnumEntry(e: DEnumEntry): ClasslikePageNode = pageForEnumEntries(listOf(e))
+ public open fun pageForEnumEntry(e: DEnumEntry): ClasslikePageNode = pageForEnumEntries(listOf(e))
- open fun pageForClasslike(c: Documentable): ClasslikePageNode = pageForClasslikes(listOf(c))
+ public open fun pageForClasslike(c: Documentable): ClasslikePageNode = pageForClasslikes(listOf(c))
- open fun pageForEnumEntries(documentables: List<DEnumEntry>): ClasslikePageNode {
+ public open fun pageForEnumEntries(documentables: List<DEnumEntry>): ClasslikePageNode {
val dri = documentables.dri.also {
if (it.size != 1) {
logger.error("Documentable dri should have the same one ${it.first()} inside the one page!")
@@ -105,7 +114,7 @@ open class DefaultPageCreator(
/**
* @param documentables a list of [DClasslike] and [DTypeAlias] with the same dri in different sourceSets
*/
- open fun pageForClasslikes(documentables: List<Documentable>): ClasslikePageNode {
+ public open fun pageForClasslikes(documentables: List<Documentable>): ClasslikePageNode {
val dri = documentables.dri.also {
if (it.size != 1) {
logger.error("Documentable dri should have the same one ${it.first()} inside the one page!")
@@ -171,10 +180,10 @@ open class DefaultPageCreator(
private fun <T : Documentable> List<T>.mergeClashingDocumentable(): List<List<T>> =
groupBy { it.dri }.values.toList()
- open fun pageForFunction(f: DFunction) =
+ public open fun pageForFunction(f: DFunction): MemberPageNode =
MemberPageNode(f.nameAfterClash(), contentForFunction(f), setOf(f.dri), listOf(f))
- open fun pageForFunctions(fs: List<DFunction>): MemberPageNode {
+ public open fun pageForFunctions(fs: List<DFunction>): MemberPageNode {
val dri = fs.dri.also {
if (it.size != 1) {
logger.error("Function dri should have the same one ${it.first()} inside the one page!")
@@ -183,10 +192,10 @@ open class DefaultPageCreator(
return MemberPageNode(fs.first().nameAfterClash(), contentForMembers(fs), dri, fs)
}
- open fun pageForProperty(p: DProperty): MemberPageNode? =
+ public open fun pageForProperty(p: DProperty): MemberPageNode? =
MemberPageNode(p.nameAfterClash(), contentForProperty(p), setOf(p.dri), listOf(p))
- open fun pageForProperties(ps: List<DProperty>): MemberPageNode {
+ public open fun pageForProperties(ps: List<DProperty>): MemberPageNode {
val dri = ps.dri.also {
if (it.size != 1) {
logger.error("Property dri should have the same one ${it.first()} inside the one page!")
@@ -223,61 +232,65 @@ open class DefaultPageCreator(
private fun <T> Collection<T>.splitInherited(): Pair<List<T>, List<T>> where T : Documentable, T : WithExtraProperties<T> =
partition { it.isInherited() }
- protected open fun contentForModule(m: DModule) = contentBuilder.contentFor(m) {
- group(kind = ContentKind.Cover) {
- cover(m.name)
- if (contentForDescription(m).isNotEmpty()) {
- sourceSetDependentHint(
- m.dri,
- m.sourceSets.toSet(),
- kind = ContentKind.SourceSetDependentHint,
- styles = setOf(TextStyle.UnderCoverText)
- ) {
- +contentForDescription(m)
+ protected open fun contentForModule(m: DModule): ContentGroup {
+ return contentBuilder.contentFor(m) {
+ group(kind = ContentKind.Cover) {
+ cover(m.name)
+ if (contentForDescription(m).isNotEmpty()) {
+ sourceSetDependentHint(
+ m.dri,
+ m.sourceSets.toSet(),
+ kind = ContentKind.SourceSetDependentHint,
+ styles = setOf(TextStyle.UnderCoverText)
+ ) {
+ +contentForDescription(m)
+ }
}
}
- }
- block(
- "Packages",
- 2,
- ContentKind.Packages,
- m.packages,
- m.sourceSets.toSet(),
- needsAnchors = true,
- headers = listOf(
- headers("Name")
- )
- ) {
- val documentations = it.sourceSets.map { platform ->
- it.descriptions[platform]?.also { it.root }
- }
- val haveSameContent =
- documentations.all { it?.root == documentations.firstOrNull()?.root && it?.root != null }
+ block(
+ name = "Packages",
+ level = 2,
+ kind = ContentKind.Packages,
+ elements = m.packages,
+ sourceSets = m.sourceSets.toSet(),
+ needsAnchors = true,
+ headers = listOf(
+ headers("Name")
+ )
+ ) {
+ val documentations = it.sourceSets.map { platform ->
+ it.descriptions[platform]?.also { it.root }
+ }
+ val haveSameContent =
+ documentations.all { it?.root == documentations.firstOrNull()?.root && it?.root != null }
- link(it.name, it.dri)
- if (it.sourceSets.size == 1 || (documentations.isNotEmpty() && haveSameContent)) {
- documentations.first()?.let { firstParagraphComment(kind = ContentKind.Comment, content = it.root) }
+ link(it.name, it.dri)
+ if (it.sourceSets.size == 1 || (documentations.isNotEmpty() && haveSameContent)) {
+ documentations.first()?.let { firstParagraphComment(kind = ContentKind.Comment, content = it.root) }
+ }
}
}
}
- protected open fun contentForPackage(p: DPackage) = contentBuilder.contentFor(p) {
- group(kind = ContentKind.Cover) {
- cover("Package-level declarations")
- if (contentForDescription(p).isNotEmpty()) {
- sourceSetDependentHint(
- p.dri,
- p.sourceSets.toSet(),
- kind = ContentKind.SourceSetDependentHint,
- styles = setOf(TextStyle.UnderCoverText)
- ) {
- +contentForDescription(p)
+ protected open fun contentForPackage(p: DPackage): ContentGroup {
+ return contentBuilder.contentFor(p) {
+ group(kind = ContentKind.Cover) {
+ cover("Package-level declarations")
+ if (contentForDescription(p).isNotEmpty()) {
+ sourceSetDependentHint(
+ dri = p.dri,
+ sourcesetData = p.sourceSets.toSet(),
+ kind = ContentKind.SourceSetDependentHint,
+ styles = setOf(TextStyle.UnderCoverText)
+ ) {
+ +contentForDescription(p)
+ }
}
}
- }
- group(styles = setOf(ContentStyle.TabbedContent), extra = mainExtra) {
- +contentForScope(p, p.dri, p.sourceSets)
+ group(styles = setOf(ContentStyle.TabbedContent), extra = mainExtra) {
+ +contentForScope(p, p.dri, p.sourceSets)
+ }
}
}
@@ -400,31 +413,32 @@ open class DefaultPageCreator(
constructorsToDocumented: List<DFunction>,
dri: Set<DRI>,
sourceSets: Set<DokkaSourceSet>
- ) = contentBuilder.contentFor(dri, sourceSets) {
- multiBlock(
- "Constructors",
- 2,
- ContentKind.Constructors,
- constructorsToDocumented.groupBy { it.name }
- .map { (_, v) -> v.first().name to v },
- @Suppress("UNCHECKED_CAST")
- (constructorsToDocumented as List<Documentable>).sourceSets,
- needsAnchors = true,
- extra = PropertyContainer.empty<ContentNode>() + TabbedContentTypeExtra(
- BasicTabbedContentType.CONSTRUCTOR
- ),
- ) { key, ds ->
- link(key, ds.first().dri, kind = ContentKind.Main, styles = setOf(ContentStyle.RowTitle))
- sourceSetDependentHint(
- ds.dri,
- ds.sourceSets,
- kind = ContentKind.SourceSetDependentHint,
- styles = emptySet(),
- extra = PropertyContainer.empty<ContentNode>()
- ) {
- ds.forEach {
- +buildSignature(it)
- contentForBrief(it)
+ ): ContentGroup {
+ return contentBuilder.contentFor(dri, sourceSets) {
+ multiBlock(
+ name = "Constructors",
+ level = 2,
+ kind = ContentKind.Constructors,
+ groupedElements = constructorsToDocumented.groupBy { it.name }
+ .map { (_, v) -> v.first().name to v },
+ sourceSets = (constructorsToDocumented as List<Documentable>).sourceSets,
+ needsAnchors = true,
+ extra = PropertyContainer.empty<ContentNode>() + TabbedContentTypeExtra(
+ BasicTabbedContentType.CONSTRUCTOR
+ ),
+ ) { key, ds ->
+ link(key, ds.first().dri, kind = ContentKind.Main, styles = setOf(ContentStyle.RowTitle))
+ sourceSetDependentHint(
+ dri = ds.dri,
+ sourceSets = ds.sourceSets,
+ kind = ContentKind.SourceSetDependentHint,
+ styles = emptySet(),
+ extra = PropertyContainer.empty()
+ ) {
+ ds.forEach {
+ +buildSignature(it)
+ contentForBrief(it)
+ }
}
}
}
@@ -434,28 +448,30 @@ open class DefaultPageCreator(
entries: List<DEnumEntry>,
dri: Set<DRI>,
sourceSets: Set<DokkaSourceSet>
- ) = contentBuilder.contentFor(dri, sourceSets) {
- multiBlock(
- "Entries",
- 2,
- ContentKind.Classlikes,
- entries.groupBy { it.name }.toList(),
- entries.sourceSets,
- needsSorting = false,
- needsAnchors = true,
- extra = mainExtra + TabbedContentTypeExtra(BasicTabbedContentType.ENTRY),
- styles = emptySet()
- ) { key, ds ->
- link(key, ds.first().dri)
- sourceSetDependentHint(
- ds.dri,
- ds.sourceSets,
- kind = ContentKind.SourceSetDependentHint,
- extra = PropertyContainer.empty<ContentNode>()
- ) {
- ds.forEach {
- +buildSignature(it)
- contentForBrief(it)
+ ): ContentGroup {
+ return contentBuilder.contentFor(dri, sourceSets) {
+ multiBlock(
+ name = "Entries",
+ level = 2,
+ kind = ContentKind.Classlikes,
+ groupedElements = entries.groupBy { it.name }.toList(),
+ sourceSets = entries.sourceSets,
+ needsSorting = false,
+ needsAnchors = true,
+ extra = mainExtra + TabbedContentTypeExtra(BasicTabbedContentType.ENTRY),
+ styles = emptySet()
+ ) { key, ds ->
+ link(key, ds.first().dri)
+ sourceSetDependentHint(
+ dri = ds.dri,
+ sourceSets = ds.sourceSets,
+ kind = ContentKind.SourceSetDependentHint,
+ extra = PropertyContainer.empty<ContentNode>()
+ ) {
+ ds.forEach {
+ +buildSignature(it)
+ contentForBrief(it)
+ }
}
}
}
@@ -520,13 +536,13 @@ open class DefaultPageCreator(
}
}
- protected open fun contentForFunction(f: DFunction) = contentForMember(f)
+ protected open fun contentForFunction(f: DFunction): ContentGroup = contentForMember(f)
- protected open fun contentForProperty(p: DProperty) = contentForMember(p)
+ protected open fun contentForProperty(p: DProperty): ContentGroup = contentForMember(p)
- protected open fun contentForMember(d: Documentable) = contentForMembers(listOf(d))
+ protected open fun contentForMember(d: Documentable): ContentGroup = contentForMembers(listOf(d))
- protected open fun contentForMembers(doumentables: List<Documentable>) =
+ protected open fun contentForMembers(doumentables: List<Documentable>): ContentGroup =
contentBuilder.contentFor(doumentables.dri, doumentables.sourceSets) {
group(kind = ContentKind.Cover) {
cover(doumentables.first().name.orEmpty())
@@ -709,10 +725,9 @@ open class DefaultPageCreator(
}
}
- protected open fun TagWrapper.toHeaderString() = this.javaClass.toGenericString().split('.').last()
+ protected open fun TagWrapper.toHeaderString(): String = this.javaClass.toGenericString().split('.').last()
}
-
internal val List<Documentable>.sourceSets: Set<DokkaSourceSet>
get() = flatMap { it.sourceSets }.toSet()
diff --git a/plugins/base/src/main/kotlin/translators/documentables/DriClashAwareName.kt b/plugins/base/src/main/kotlin/translators/documentables/DriClashAwareName.kt
index 99c47342..362bb9b9 100644
--- a/plugins/base/src/main/kotlin/translators/documentables/DriClashAwareName.kt
+++ b/plugins/base/src/main/kotlin/translators/documentables/DriClashAwareName.kt
@@ -7,7 +7,7 @@ package org.jetbrains.dokka.base.translators.documentables
import org.jetbrains.dokka.model.Documentable
import org.jetbrains.dokka.model.properties.ExtraProperty
-data class DriClashAwareName(val value: String?): ExtraProperty<Documentable> {
- companion object : ExtraProperty.Key<Documentable, DriClashAwareName>
+public data class DriClashAwareName(val value: String?): ExtraProperty<Documentable> {
+ public companion object : ExtraProperty.Key<Documentable, DriClashAwareName>
override val key: ExtraProperty.Key<Documentable, *> = Companion
}
diff --git a/plugins/base/src/main/kotlin/translators/documentables/PageContentBuilder.kt b/plugins/base/src/main/kotlin/translators/documentables/PageContentBuilder.kt
index 1887e5ce..4ddda674 100644
--- a/plugins/base/src/main/kotlin/translators/documentables/PageContentBuilder.kt
+++ b/plugins/base/src/main/kotlin/translators/documentables/PageContentBuilder.kt
@@ -19,14 +19,14 @@ import org.jetbrains.dokka.pages.*
import org.jetbrains.dokka.utilities.DokkaLogger
@DslMarker
-annotation class ContentBuilderMarker
+public annotation class ContentBuilderMarker
-open class PageContentBuilder(
- val commentsConverter: CommentsToContentConverter,
- val signatureProvider: SignatureProvider,
- val logger: DokkaLogger
+public open class PageContentBuilder(
+ public val commentsConverter: CommentsToContentConverter,
+ public val signatureProvider: SignatureProvider,
+ public val logger: DokkaLogger
) {
- fun contentFor(
+ public fun contentFor(
dri: DRI,
sourceSets: Set<DokkaSourceSet>,
kind: Kind = ContentKind.Main,
@@ -38,7 +38,7 @@ open class PageContentBuilder(
.apply(block)
.build(sourceSets, kind, styles, extra)
- fun contentFor(
+ public fun contentFor(
dri: Set<DRI>,
sourceSets: Set<DokkaSourceSet>,
kind: Kind = ContentKind.Main,
@@ -50,7 +50,7 @@ open class PageContentBuilder(
.apply(block)
.build(sourceSets, kind, styles, extra)
- fun contentFor(
+ public fun contentFor(
d: Documentable,
kind: Kind = ContentKind.Main,
styles: Set<Style> = emptySet(),
@@ -63,36 +63,38 @@ open class PageContentBuilder(
.build(sourceSets, kind, styles, extra)
@ContentBuilderMarker
- open inner class DocumentableContentBuilder(
- val mainDRI: Set<DRI>,
- val mainSourcesetData: Set<DokkaSourceSet>,
- val mainStyles: Set<Style>,
- val mainExtra: PropertyContainer<ContentNode>
+ public open inner class DocumentableContentBuilder(
+ public val mainDRI: Set<DRI>,
+ public val mainSourcesetData: Set<DokkaSourceSet>,
+ public val mainStyles: Set<Style>,
+ public val mainExtra: PropertyContainer<ContentNode>
) {
- protected val contents = mutableListOf<ContentNode>()
+ protected val contents: MutableList<ContentNode> = mutableListOf<ContentNode>()
- fun build(
+ public fun build(
sourceSets: Set<DokkaSourceSet>,
kind: Kind,
styles: Set<Style>,
extra: PropertyContainer<ContentNode>
- ) = ContentGroup(
- contents.toList(),
- DCI(mainDRI, kind),
- sourceSets.toDisplaySourceSets(),
- styles,
- extra
- )
-
- operator fun ContentNode.unaryPlus() {
+ ): ContentGroup {
+ return ContentGroup(
+ children = contents.toList(),
+ dci = DCI(mainDRI, kind),
+ sourceSets = sourceSets.toDisplaySourceSets(),
+ style = styles,
+ extra = extra
+ )
+ }
+
+ public operator fun ContentNode.unaryPlus() {
contents += this
}
- operator fun Collection<ContentNode>.unaryPlus() {
+ public operator fun Collection<ContentNode>.unaryPlus() {
contents += this
}
- fun header(
+ public fun header(
level: Int,
text: String,
kind: Kind = ContentKind.Main,
@@ -116,7 +118,7 @@ open class PageContentBuilder(
)
}
- fun cover(
+ public fun cover(
text: String,
sourceSets: Set<DokkaSourceSet> = mainSourcesetData,
styles: Set<Style> = mainStyles + TextStyle.Cover,
@@ -126,14 +128,31 @@ open class PageContentBuilder(
header(1, text, sourceSets = sourceSets, styles = styles, extra = extra, block = block)
}
- fun constant(text: String) = text(text, styles = mainStyles + TokenStyle.Constant)
- fun keyword(text: String) = text(text, styles = mainStyles + TokenStyle.Keyword)
- fun stringLiteral(text: String) = text(text, styles = mainStyles + TokenStyle.String)
- fun booleanLiteral(value: Boolean) = text(value.toString(), styles = mainStyles + TokenStyle.Boolean)
- fun punctuation(text: String) = text(text, styles = mainStyles + TokenStyle.Punctuation)
- fun operator(text: String) = text(text, styles = mainStyles + TokenStyle.Operator)
+ public fun constant(text: String) {
+ text(text, styles = mainStyles + TokenStyle.Constant)
+ }
+
+ public fun keyword(text: String) {
+ text(text, styles = mainStyles + TokenStyle.Keyword)
+ }
+
+ public fun stringLiteral(text: String) {
+ text(text, styles = mainStyles + TokenStyle.String)
+ }
+
+ public fun booleanLiteral(value: Boolean) {
+ text(value.toString(), styles = mainStyles + TokenStyle.Boolean)
+ }
+
+ public fun punctuation(text: String) {
+ text(text, styles = mainStyles + TokenStyle.Punctuation)
+ }
- fun text(
+ public fun operator(text: String) {
+ text(text, styles = mainStyles + TokenStyle.Operator)
+ }
+
+ public fun text(
text: String,
kind: Kind = ContentKind.Main,
sourceSets: Set<DokkaSourceSet> = mainSourcesetData,
@@ -143,13 +162,13 @@ open class PageContentBuilder(
contents += createText(text, kind, sourceSets, styles, extra)
}
- fun breakLine(sourceSets: Set<DokkaSourceSet> = mainSourcesetData) {
+ public fun breakLine(sourceSets: Set<DokkaSourceSet> = mainSourcesetData) {
contents += ContentBreakLine(sourceSets.toDisplaySourceSets())
}
- fun buildSignature(d: Documentable) = signatureProvider.signature(d)
+ public fun buildSignature(d: Documentable): List<ContentNode> = signatureProvider.signature(d)
- fun table(
+ public fun table(
kind: Kind = ContentKind.Main,
sourceSets: Set<DokkaSourceSet> = mainSourcesetData,
styles: Set<Style> = mainStyles,
@@ -161,7 +180,7 @@ open class PageContentBuilder(
}.build()
}
- fun unorderedList(
+ public fun unorderedList(
kind: Kind = ContentKind.Main,
sourceSets: Set<DokkaSourceSet> = mainSourcesetData,
styles: Set<Style> = mainStyles,
@@ -171,7 +190,7 @@ open class PageContentBuilder(
contents += ListBuilder(false, mainDRI, sourceSets, kind, styles, extra).apply(operation).build()
}
- fun orderedList(
+ public fun orderedList(
kind: Kind = ContentKind.Main,
sourceSets: Set<DokkaSourceSet> = mainSourcesetData,
styles: Set<Style> = mainStyles,
@@ -181,7 +200,7 @@ open class PageContentBuilder(
contents += ListBuilder(true, mainDRI, sourceSets, kind, styles, extra).apply(operation).build()
}
- fun descriptionList(
+ public fun descriptionList(
kind: Kind = ContentKind.Main,
sourceSets: Set<DokkaSourceSet> = mainSourcesetData,
styles: Set<Style> = mainStyles,
@@ -197,7 +216,7 @@ open class PageContentBuilder(
label.forEach { text(it) }
}
- fun <T : Documentable> block(
+ public fun <T : Documentable> block(
name: String,
level: Int,
kind: Kind = ContentKind.Main,
@@ -235,7 +254,7 @@ open class PageContentBuilder(
}
}
- fun <T : Pair<String, List<Documentable>>> multiBlock(
+ public fun <T : Pair<String, List<Documentable>>> multiBlock(
name: String,
level: Int,
kind: Kind = ContentKind.Main,
@@ -286,7 +305,7 @@ open class PageContentBuilder(
}
}
- fun <T> list(
+ public fun <T> list(
elements: List<T>,
prefix: String = "",
suffix: String = "",
@@ -307,7 +326,7 @@ open class PageContentBuilder(
}
}
- fun link(
+ public fun link(
text: String,
address: DRI,
kind: Kind = ContentKind.Main,
@@ -318,22 +337,24 @@ open class PageContentBuilder(
contents += linkNode(text, address, DCI(mainDRI, kind), sourceSets, styles, extra)
}
- fun linkNode(
+ public fun linkNode(
text: String,
address: DRI,
dci: DCI = DCI(mainDRI, ContentKind.Main),
sourceSets: Set<DokkaSourceSet> = mainSourcesetData,
styles: Set<Style> = mainStyles,
extra: PropertyContainer<ContentNode> = mainExtra
- ) = ContentDRILink(
- listOf(createText(text, dci.kind, sourceSets, styles, extra)),
- address,
- dci,
- sourceSets.toDisplaySourceSets(),
- extra = extra
- )
-
- fun link(
+ ): ContentLink {
+ return ContentDRILink(
+ listOf(createText(text, dci.kind, sourceSets, styles, extra)),
+ address,
+ dci,
+ sourceSets.toDisplaySourceSets(),
+ extra = extra
+ )
+ }
+
+ public fun link(
text: String,
address: String,
kind: Kind = ContentKind.Main,
@@ -351,7 +372,7 @@ open class PageContentBuilder(
)
}
- fun link(
+ public fun link(
address: DRI,
kind: Kind = ContentKind.Main,
sourceSets: Set<DokkaSourceSet> = mainSourcesetData,
@@ -368,7 +389,7 @@ open class PageContentBuilder(
)
}
- fun comment(
+ public fun comment(
docTag: DocTag,
kind: Kind = ContentKind.Comment,
sourceSets: Set<DokkaSourceSet> = mainSourcesetData,
@@ -383,7 +404,7 @@ open class PageContentBuilder(
contents += ContentGroup(content, DCI(mainDRI, kind), sourceSets.toDisplaySourceSets(), styles, extra)
}
- fun codeBlock(
+ public fun codeBlock(
language: String = "",
kind: Kind = ContentKind.Main,
sourceSets: Set<DokkaSourceSet> = mainSourcesetData,
@@ -401,7 +422,7 @@ open class PageContentBuilder(
)
}
- fun codeInline(
+ public fun codeInline(
language: String = "",
kind: Kind = ContentKind.Main,
sourceSets: Set<DokkaSourceSet> = mainSourcesetData,
@@ -419,7 +440,7 @@ open class PageContentBuilder(
)
}
- fun firstParagraphComment(
+ public fun firstParagraphComment(
content: DocTag,
kind: Kind = ContentKind.Comment,
sourceSets: Set<DokkaSourceSet> = mainSourcesetData,
@@ -443,7 +464,7 @@ open class PageContentBuilder(
}
}
- fun firstSentenceComment(
+ public fun firstSentenceComment(
content: DocTag,
kind: Kind = ContentKind.Comment,
sourceSets: Set<DokkaSourceSet> = mainSourcesetData,
@@ -465,7 +486,7 @@ open class PageContentBuilder(
)
}
- fun group(
+ public fun group(
dri: Set<DRI> = mainDRI,
sourceSets: Set<DokkaSourceSet> = mainSourcesetData,
kind: Kind = ContentKind.Main,
@@ -476,7 +497,7 @@ open class PageContentBuilder(
contents += buildGroup(dri, sourceSets, kind, styles, extra, block)
}
- fun divergentGroup(
+ public fun divergentGroup(
groupID: ContentDivergentGroup.GroupID,
dri: Set<DRI> = mainDRI,
kind: Kind = ContentKind.Main,
@@ -491,7 +512,7 @@ open class PageContentBuilder(
.build(groupID = groupID, implicitlySourceSetHinted = implicitlySourceSetHinted)
}
- fun buildGroup(
+ public fun buildGroup(
dri: Set<DRI> = mainDRI,
sourceSets: Set<DokkaSourceSet> = mainSourcesetData,
kind: Kind = ContentKind.Main,
@@ -500,7 +521,7 @@ open class PageContentBuilder(
block: DocumentableContentBuilder.() -> Unit
): ContentGroup = contentFor(dri, sourceSets, kind, styles, extra, block)
- fun sourceSetDependentHint(
+ public fun sourceSetDependentHint(
dri: Set<DRI> = mainDRI,
sourceSets: Set<DokkaSourceSet> = mainSourcesetData,
kind: Kind = ContentKind.Main,
@@ -514,7 +535,7 @@ open class PageContentBuilder(
)
}
- fun sourceSetDependentHint(
+ public fun sourceSetDependentHint(
dri: DRI,
sourcesetData: Set<DokkaSourceSet> = mainSourcesetData,
kind: Kind = ContentKind.Main,
@@ -534,23 +555,26 @@ open class PageContentBuilder(
sourceSets: Set<DokkaSourceSet>,
styles: Set<Style>,
extra: PropertyContainer<ContentNode>
- ) =
- ContentText(text, DCI(mainDRI, kind), sourceSets.toDisplaySourceSets(), styles, extra)
+ ): ContentText {
+ return ContentText(text, DCI(mainDRI, kind), sourceSets.toDisplaySourceSets(), styles, extra)
+ }
- fun <T> sourceSetDependentText(
+ public fun <T> sourceSetDependentText(
value: SourceSetDependent<T>,
sourceSets: Set<DokkaSourceSet> = value.keys,
styles: Set<Style> = mainStyles,
transform: (T) -> String
- ) = value.entries.filter { it.key in sourceSets }.mapNotNull { (p, v) ->
- transform(v).takeIf { it.isNotBlank() }?.let { it to p }
- }.groupBy({ it.first }) { it.second }.forEach {
- text(it.key, sourceSets = it.value.toSet(), styles = styles)
+ ) {
+ value.entries
+ .filter { it.key in sourceSets }
+ .mapNotNull { (p, v) -> transform(v).takeIf { it.isNotBlank() }?.let { it to p } }
+ .groupBy({ it.first }) { it.second }
+ .forEach { text(it.key, sourceSets = it.value.toSet(), styles = styles) }
}
}
@ContentBuilderMarker
- open inner class TableBuilder(
+ public open inner class TableBuilder(
private val mainDRI: Set<DRI>,
private val mainSourceSets: Set<DokkaSourceSet>,
private val mainKind: Kind,
@@ -561,7 +585,7 @@ open class PageContentBuilder(
private val rows: MutableList<ContentGroup> = mutableListOf()
private var caption: ContentGroup? = null
- fun header(
+ public fun header(
dri: Set<DRI> = mainDRI,
sourceSets: Set<DokkaSourceSet> = mainSourceSets,
kind: Kind = mainKind,
@@ -572,7 +596,7 @@ open class PageContentBuilder(
headerRows += contentFor(dri, sourceSets, kind, styles, extra, block)
}
- fun row(
+ public fun row(
dri: Set<DRI> = mainDRI,
sourceSets: Set<DokkaSourceSet> = mainSourceSets,
kind: Kind = mainKind,
@@ -583,7 +607,7 @@ open class PageContentBuilder(
rows += contentFor(dri, sourceSets, kind, styles, extra, block)
}
- fun caption(
+ public fun caption(
dri: Set<DRI> = mainDRI,
sourceSets: Set<DokkaSourceSet> = mainSourceSets,
kind: Kind = mainKind,
@@ -594,30 +618,33 @@ open class PageContentBuilder(
caption = contentFor(dri, sourceSets, kind, styles, extra, block)
}
- fun build(
+ public fun build(
sourceSets: Set<DokkaSourceSet> = mainSourceSets,
kind: Kind = mainKind,
styles: Set<Style> = mainStyles,
extra: PropertyContainer<ContentNode> = mainExtra
- ) = ContentTable(
- headerRows,
- caption,
- rows,
- DCI(mainDRI, kind),
- sourceSets.toDisplaySourceSets(),
- styles, extra
- )
+ ): ContentTable {
+ return ContentTable(
+ headerRows,
+ caption,
+ rows,
+ DCI(mainDRI, kind),
+ sourceSets.toDisplaySourceSets(),
+ styles, extra
+ )
+ }
}
@ContentBuilderMarker
- open inner class DivergentBuilder(
+ public open inner class DivergentBuilder(
private val mainDRI: Set<DRI>,
private val mainKind: Kind,
private val mainStyles: Set<Style>,
private val mainExtra: PropertyContainer<ContentNode>
) {
private val instances: MutableList<ContentDivergentInstance> = mutableListOf()
- fun instance(
+
+ public fun instance(
dri: Set<DRI>,
sourceSets: Set<DokkaSourceSet>, // Having correct sourcesetData is crucial here, that's why there's no default
kind: Kind = mainKind,
@@ -630,24 +657,26 @@ open class PageContentBuilder(
.build(kind)
}
- fun build(
+ public fun build(
groupID: ContentDivergentGroup.GroupID,
implicitlySourceSetHinted: Boolean,
kind: Kind = mainKind,
styles: Set<Style> = mainStyles,
extra: PropertyContainer<ContentNode> = mainExtra
- ) = ContentDivergentGroup(
- instances.toList(),
- DCI(mainDRI, kind),
- styles,
- extra,
- groupID,
- implicitlySourceSetHinted
- )
+ ): ContentDivergentGroup {
+ return ContentDivergentGroup(
+ children = instances.toList(),
+ dci = DCI(mainDRI, kind),
+ style = styles,
+ extra = extra,
+ groupID = groupID,
+ implicitlySourceSetHinted = implicitlySourceSetHinted
+ )
+ }
}
@ContentBuilderMarker
- open inner class DivergentInstanceBuilder(
+ public open inner class DivergentInstanceBuilder(
private val mainDRI: Set<DRI>,
private val mainSourceSets: Set<DokkaSourceSet>,
private val mainStyles: Set<Style>,
@@ -657,7 +686,7 @@ open class PageContentBuilder(
private var divergent: ContentNode? = null
private var after: ContentNode? = null
- fun before(
+ public fun before(
dri: Set<DRI> = mainDRI,
sourceSets: Set<DokkaSourceSet> = mainSourceSets,
kind: Kind = ContentKind.Main,
@@ -670,7 +699,7 @@ open class PageContentBuilder(
.also { before = it }
}
- fun divergent(
+ public fun divergent(
dri: Set<DRI> = mainDRI,
sourceSets: Set<DokkaSourceSet> = mainSourceSets,
kind: Kind = ContentKind.Main,
@@ -681,7 +710,7 @@ open class PageContentBuilder(
divergent = contentFor(dri, sourceSets, kind, styles, extra, block)
}
- fun after(
+ public fun after(
dri: Set<DRI> = mainDRI,
sourceSets: Set<DokkaSourceSet> = mainSourceSets,
kind: Kind = ContentKind.Main,
@@ -694,14 +723,13 @@ open class PageContentBuilder(
.also { after = it }
}
-
- fun build(
+ public fun build(
kind: Kind,
sourceSets: Set<DokkaSourceSet> = mainSourceSets,
styles: Set<Style> = mainStyles,
extra: PropertyContainer<ContentNode> = mainExtra
- ) =
- ContentDivergentInstance(
+ ): ContentDivergentInstance {
+ return ContentDivergentInstance(
before,
divergent ?: throw IllegalStateException("Divergent block needs divergent part"),
after,
@@ -710,11 +738,12 @@ open class PageContentBuilder(
styles,
extra
)
+ }
}
@ContentBuilderMarker
- open inner class ListBuilder(
- val ordered: Boolean,
+ public open inner class ListBuilder(
+ public val ordered: Boolean,
private val mainDRI: Set<DRI>,
private val mainSourceSets: Set<DokkaSourceSet>,
private val mainKind: Kind,
@@ -723,7 +752,7 @@ open class PageContentBuilder(
) {
private val contentNodes: MutableList<ContentNode> = mutableListOf()
- fun item(
+ public fun item(
dri: Set<DRI> = mainDRI,
sourceSets: Set<DokkaSourceSet> = mainSourceSets,
kind: Kind = mainKind,
@@ -734,17 +763,19 @@ open class PageContentBuilder(
contentNodes += contentFor(dri, sourceSets, kind, styles, extra, block)
}
- fun build(
+ public fun build(
sourceSets: Set<DokkaSourceSet> = mainSourceSets,
kind: Kind = mainKind,
styles: Set<Style> = mainStyles,
extra: PropertyContainer<ContentNode> = mainExtra
- ) = ContentList(
- contentNodes,
- ordered,
- DCI(mainDRI, kind),
- sourceSets.toDisplaySourceSets(),
- styles, extra
- )
+ ): ContentList {
+ return ContentList(
+ contentNodes,
+ ordered,
+ DCI(mainDRI, kind),
+ sourceSets.toDisplaySourceSets(),
+ styles, extra
+ )
+ }
}
}
diff --git a/plugins/base/src/main/kotlin/translators/documentables/briefFromContentNodes.kt b/plugins/base/src/main/kotlin/translators/documentables/briefFromContentNodes.kt
index c5b1f738..a073f73a 100644
--- a/plugins/base/src/main/kotlin/translators/documentables/briefFromContentNodes.kt
+++ b/plugins/base/src/main/kotlin/translators/documentables/briefFromContentNodes.kt
@@ -12,7 +12,7 @@ import org.jetbrains.dokka.model.doc.Text
import org.jetbrains.dokka.model.withDescendants
import org.jetbrains.dokka.pages.*
-fun firstParagraphBrief(docTag: DocTag): DocTag? =
+public fun firstParagraphBrief(docTag: DocTag): DocTag? =
when(docTag){
is P -> docTag
is CustomDocTag -> docTag.children.firstNotNullOfOrNull { firstParagraphBrief(it) }
@@ -20,7 +20,7 @@ fun firstParagraphBrief(docTag: DocTag): DocTag? =
else -> null
}
-fun firstSentenceBriefFromContentNodes(description: List<ContentNode>): List<ContentNode> {
+public fun firstSentenceBriefFromContentNodes(description: List<ContentNode>): List<ContentNode> {
val firstSentenceRegex = """^((?:[^.?!]|[.!?](?!\s))*[.!?])""".toRegex()
//Description that is entirely based on html content. In html it is hard to define a brief so we render all of it
diff --git a/plugins/base/src/main/kotlin/translators/psi/parsers/InheritDocResolver.kt b/plugins/base/src/main/kotlin/translators/psi/parsers/InheritDocResolver.kt
deleted file mode 100644
index 4dd61777..00000000
--- a/plugins/base/src/main/kotlin/translators/psi/parsers/InheritDocResolver.kt
+++ /dev/null
@@ -1,4 +0,0 @@
-/*
- * Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license.
- */
-
diff --git a/plugins/base/src/main/kotlin/translators/psi/parsers/JavadocParser.kt b/plugins/base/src/main/kotlin/translators/psi/parsers/JavadocParser.kt
deleted file mode 100644
index 4dd61777..00000000
--- a/plugins/base/src/main/kotlin/translators/psi/parsers/JavadocParser.kt
+++ /dev/null
@@ -1,4 +0,0 @@
-/*
- * Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license.
- */
-
diff --git a/plugins/base/src/main/kotlin/translators/psi/parsers/JavadocTag.kt b/plugins/base/src/main/kotlin/translators/psi/parsers/JavadocTag.kt
deleted file mode 100644
index 4dd61777..00000000
--- a/plugins/base/src/main/kotlin/translators/psi/parsers/JavadocTag.kt
+++ /dev/null
@@ -1,4 +0,0 @@
-/*
- * Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license.
- */
-