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/descriptors/DefaultDescriptorToDocumentableTranslator.kt19
-rw-r--r--plugins/base/src/main/kotlin/translators/documentables/DefaultPageCreator.kt147
-rw-r--r--plugins/base/src/main/kotlin/translators/documentables/PageContentBuilder.kt76
-rw-r--r--plugins/base/src/main/kotlin/translators/psi/DefaultPsiToDocumentableTranslator.kt9
4 files changed, 160 insertions, 91 deletions
diff --git a/plugins/base/src/main/kotlin/translators/descriptors/DefaultDescriptorToDocumentableTranslator.kt b/plugins/base/src/main/kotlin/translators/descriptors/DefaultDescriptorToDocumentableTranslator.kt
index cefea4ec..9cdd251c 100644
--- a/plugins/base/src/main/kotlin/translators/descriptors/DefaultDescriptorToDocumentableTranslator.kt
+++ b/plugins/base/src/main/kotlin/translators/descriptors/DefaultDescriptorToDocumentableTranslator.kt
@@ -1,5 +1,6 @@
package org.jetbrains.dokka.base.translators.descriptors
+import org.jetbrains.dokka.DokkaConfiguration.DokkaSourceSet
import org.jetbrains.dokka.analysis.*
import org.jetbrains.dokka.links.*
import org.jetbrains.dokka.links.Callable
@@ -50,13 +51,12 @@ import org.jetbrains.kotlin.resolve.constants.AnnotationValue as ConstantsAnnota
import org.jetbrains.kotlin.resolve.constants.ArrayValue as ConstantsArrayValue
import org.jetbrains.kotlin.resolve.constants.EnumValue as ConstantsEnumValue
import org.jetbrains.kotlin.resolve.constants.KClassValue as ConstantsKtClassValue
-import kotlin.IllegalArgumentException
class DefaultDescriptorToDocumentableTranslator(
private val kotlinAnalysis: KotlinAnalysis
) : SourceToDocumentableTranslator {
- override fun invoke(sourceSet: SourceSetData, context: DokkaContext): DModule {
+ override fun invoke(sourceSet: DokkaSourceSet, context: DokkaContext): DModule {
val (environment, facade) = kotlinAnalysis[sourceSet]
val packageFragments = environment.getSourceFiles().asSequence()
.map { it.packageFqName }
@@ -83,7 +83,7 @@ data class DRIWithPlatformInfo(
fun DRI.withEmptyInfo() = DRIWithPlatformInfo(this, emptyMap())
private class DokkaDescriptorVisitor(
- private val sourceSet: SourceSetData,
+ private val sourceSet: DokkaSourceSet,
private val resolutionFacade: DokkaResolutionFacade,
private val logger: DokkaLogger
) : DeclarationDescriptorVisitorEmptyBodies<Documentable, DRIWithPlatformInfo>() {
@@ -729,11 +729,11 @@ private class DokkaDescriptorVisitor(
private fun KtInitializerList.initializersAsText() =
initializers.firstIsInstanceOrNull<KtCallElement>()
- ?.getValueArgumentsInParentheses()
- ?.flatMap { it.childrenAsText() }
- .orEmpty()
+ ?.getValueArgumentsInParentheses()
+ ?.flatMap { it.childrenAsText() }
+ .orEmpty()
- private fun ValueArgument.childrenAsText() = this.safeAs<KtValueArgument>()?.children?.map {it.text }.orEmpty()
+ private fun ValueArgument.childrenAsText() = this.safeAs<KtValueArgument>()?.children?.map { it.text }.orEmpty()
private data class ClassInfo(val superclasses: List<DRI>, val interfaces: List<DRI>, val docs: SourceSetDependent<DocumentationNode>){
val supertypes: List<DRI>
@@ -751,11 +751,12 @@ private class DokkaDescriptorVisitor(
private fun ConstantsEnumValue.fullEnumEntryName() =
"${this.enumClassId.relativeClassName.asString()}.${this.enumEntryName.identifier}"
- private fun fallbackPackageName(): String = "[${sourceSet.displayName} root]"// TODO: error-prone, find a better way to do it
+ private fun fallbackPackageName(): String =
+ "[${sourceSet.displayName} root]"// TODO: error-prone, find a better way to do it
}
private fun DRI.withPackageFallbackTo(fallbackPackage: String): DRI {
- return if(packageName.isNullOrBlank()){
+ return if (packageName.isNullOrBlank()) {
copy(packageName = fallbackPackage)
} else {
this
diff --git a/plugins/base/src/main/kotlin/translators/documentables/DefaultPageCreator.kt b/plugins/base/src/main/kotlin/translators/documentables/DefaultPageCreator.kt
index 3fa950ed..c94b1814 100644
--- a/plugins/base/src/main/kotlin/translators/documentables/DefaultPageCreator.kt
+++ b/plugins/base/src/main/kotlin/translators/documentables/DefaultPageCreator.kt
@@ -1,5 +1,6 @@
package org.jetbrains.dokka.base.translators.documentables
+import org.jetbrains.dokka.DokkaConfiguration
import org.jetbrains.dokka.base.signatures.SignatureProvider
import org.jetbrains.dokka.base.transformers.documentables.InheritorsInfo
import org.jetbrains.dokka.base.transformers.pages.comments.CommentsToContentConverter
@@ -14,8 +15,9 @@ import org.jetbrains.dokka.utilities.DokkaLogger
import org.jetbrains.kotlin.utils.addToStdlib.safeAs
import kotlin.reflect.KClass
import kotlin.reflect.full.isSubclassOf
+import org.jetbrains.dokka.DokkaConfiguration.DokkaSourceSet
-private typealias GroupedTags = Map<KClass<out TagWrapper>, List<Pair<SourceSetData?, TagWrapper>>>
+private typealias GroupedTags = Map<KClass<out TagWrapper>, List<Pair<DokkaSourceSet?, TagWrapper>>>
private val specialTags: Set<KClass<out TagWrapper>> =
setOf(Property::class, Description::class, Constructor::class, Receiver::class, Param::class, See::class)
@@ -71,8 +73,13 @@ open class DefaultPageCreator(
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.SourceSetDependantHint, styles = setOf(TextStyle.UnderCoverText)){
+ if (contentForDescription(m).isNotEmpty()) {
+ sourceSetDependentHint(
+ m.dri,
+ m.sourceSets.toSet(),
+ kind = ContentKind.SourceSetDependantHint,
+ styles = setOf(TextStyle.UnderCoverText)
+ ) {
+contentForDescription(m)
}
}
@@ -88,13 +95,18 @@ open class DefaultPageCreator(
protected open fun contentForPackage(p: DPackage) = contentBuilder.contentFor(p) {
group(kind = ContentKind.Cover) {
cover("Package ${p.name}")
- if(contentForDescription(p).isNotEmpty()){
- sourceSetDependentHint(p.dri, p.sourceSets.toSet(), kind = ContentKind.SourceSetDependantHint, styles = setOf(TextStyle.UnderCoverText)){
+ if (contentForDescription(p).isNotEmpty()) {
+ sourceSetDependentHint(
+ p.dri,
+ p.sourceSets.toSet(),
+ kind = ContentKind.SourceSetDependantHint,
+ styles = setOf(TextStyle.UnderCoverText)
+ ) {
+contentForDescription(p)
}
}
}
- group(styles = setOf(ContentStyle.TabbedContent)){
+ group(styles = setOf(ContentStyle.TabbedContent)) {
+contentForComments(p)
+contentForScope(p, p.dri, p.sourceSets)
}
@@ -103,15 +115,27 @@ open class DefaultPageCreator(
protected open fun contentForScope(
s: WithScope,
dri: DRI,
- sourceSets: Set<SourceSetData>
+ sourceSets: Set<DokkaSourceSet>
) = contentBuilder.contentFor(s as Documentable) {
val types = listOf(
s.classlikes,
(s as? DPackage)?.typealiases ?: emptyList()
).flatten()
divergentBlock("Types", types, ContentKind.Classlikes, extra = mainExtra + SimpleAttr.header("Types"))
- divergentBlock("Functions", s.functions, ContentKind.Functions, extra = mainExtra + SimpleAttr.header( "Functions"))
- block("Properties", 2, ContentKind.Properties, s.properties, sourceSets.toSet(), extra = mainExtra + SimpleAttr.header( "Properties")) {
+ divergentBlock(
+ "Functions",
+ s.functions,
+ ContentKind.Functions,
+ extra = mainExtra + SimpleAttr.header("Functions")
+ )
+ block(
+ "Properties",
+ 2,
+ ContentKind.Properties,
+ s.properties,
+ sourceSets.toSet(),
+ extra = mainExtra + SimpleAttr.header("Properties")
+ ) {
link(it.name, it.dri, kind = ContentKind.Main)
sourceSetDependentHint(it.dri, it.sourceSets.toSet(), kind = ContentKind.SourceSetDependantHint) {
contentForBrief(it)
@@ -136,7 +160,7 @@ open class DefaultPageCreator(
DCI(setOf(dri), ContentKind.Inheritors),
sourceSets.toSet(),
style = emptySet(),
- extra = mainExtra + SimpleAttr.header( "Inheritors")
+ extra = mainExtra + SimpleAttr.header("Inheritors")
)
}
}
@@ -150,7 +174,7 @@ open class DefaultPageCreator(
+buildSignature(e)
}
}
- group(styles = setOf(ContentStyle.TabbedContent)){
+ group(styles = setOf(ContentStyle.TabbedContent)) {
+contentForComments(e)
+contentForScope(e, e.dri, e.sourceSets)
}
@@ -177,14 +201,28 @@ open class DefaultPageCreator(
extra = PropertyContainer.empty<ContentNode>() + SimpleAttr.header("Constructors")
) {
link(it.name, it.dri, kind = ContentKind.Main)
- sourceSetDependentHint(it.dri, it.sourceSets.toSet(), kind = ContentKind.SourceSetDependantHint, styles = emptySet()) {
+ sourceSetDependentHint(
+ it.dri,
+ it.sourceSets.toSet(),
+ kind = ContentKind.SourceSetDependantHint,
+ styles = emptySet()
+ ) {
contentForBrief(it)
+buildSignature(it)
}
}
}
if (c is DEnum) {
- block("Entries", 2, ContentKind.Classlikes, c.entries, c.sourceSets.toSet(), needsSorting = false, extra = mainExtra + SimpleAttr.header("Entries"), styles = emptySet()) {
+ block(
+ "Entries",
+ 2,
+ ContentKind.Classlikes,
+ c.entries,
+ c.sourceSets.toSet(),
+ needsSorting = false,
+ extra = mainExtra + SimpleAttr.header("Entries"),
+ styles = emptySet()
+ ) {
link(it.name, it.dri)
sourceSetDependentHint(it.dri, it.sourceSets.toSet(), kind = ContentKind.SourceSetDependantHint) {
contentForBrief(it)
@@ -198,11 +236,11 @@ open class DefaultPageCreator(
@Suppress("UNCHECKED_CAST")
private inline fun <reified T : TagWrapper> GroupedTags.withTypeUnnamed(): SourceSetDependent<T> =
- (this[T::class] as List<Pair<SourceSetData, T>>?)?.toMap().orEmpty()
+ (this[T::class] as List<Pair<DokkaSourceSet, T>>?)?.toMap().orEmpty()
@Suppress("UNCHECKED_CAST")
private inline fun <reified T : NamedTagWrapper> GroupedTags.withTypeNamed(): Map<String, SourceSetDependent<T>> =
- (this[T::class] as List<Pair<SourceSetData, T>>?)
+ (this[T::class] as List<Pair<DokkaSourceSet, T>>?)
?.groupBy { it.second.name }
?.mapValues { (_, v) -> v.toMap() }
?.toSortedMap(String.CASE_INSENSITIVE_ORDER)
@@ -234,8 +272,8 @@ open class DefaultPageCreator(
val unnamedTags: List<SourceSetDependent<TagWrapper>> =
tags.filterNot { (k, _) -> k.isSubclassOf(NamedTagWrapper::class) || k in specialTags }
- .map { (_, v) -> v.mapNotNull { (k,v) -> k?.let { it to v } }.toMap() }
- if(unnamedTags.isNotEmpty()){
+ .map { (_, v) -> v.mapNotNull { (k, v) -> k?.let { it to v } }.toMap() }
+ if (unnamedTags.isNotEmpty()) {
platforms.forEach { platform ->
unnamedTags.forEach { pdTag ->
pdTag[platform]?.also { tag ->
@@ -252,10 +290,10 @@ open class DefaultPageCreator(
}.children
}
- private fun Documentable.getPossibleFallbackSourcesets(sourceSet: SourceSetData) =
+ private fun Documentable.getPossibleFallbackSourcesets(sourceSet: DokkaSourceSet) =
this.sourceSets.filter { it.sourceSetID in sourceSet.dependentSourceSets }
- private fun <V> Map<SourceSetData, V>.fallback(sourceSets: List<SourceSetData>) : V? =
+ private fun <V> Map<DokkaSourceSet, V>.fallback(sourceSets: List<DokkaSourceSet>): V? =
sourceSets.firstOrNull { it in this.keys }.let { this[it] }
protected open fun contentForComments(
@@ -270,7 +308,10 @@ open class DefaultPageCreator(
fun DocumentableContentBuilder.contentForParams() {
if (tags.isNotEmptyForTag<Param>()) {
header(2, "Parameters")
- group(extra = mainExtra + SimpleAttr.header("Parameters"), styles = setOf(ContentStyle.WithExtraAttributes)){
+ group(
+ extra = mainExtra + SimpleAttr.header("Parameters"),
+ styles = setOf(ContentStyle.WithExtraAttributes)
+ ) {
sourceSetDependentHint(sourceSets = platforms.toSet(), kind = ContentKind.SourceSetDependantHint) {
val receiver = tags.withTypeUnnamed<Receiver>()
val params = tags.withTypeNamed<Param>()
@@ -287,7 +328,11 @@ open class DefaultPageCreator(
val paramRows = params.mapNotNull { (_, param) ->
(param[platform] ?: param.fallback(possibleFallbacks))?.let {
buildGroup(sourceSets = setOf(platform), kind = ContentKind.Parameters) {
- text(it.name, kind = ContentKind.Parameters, styles = mainStyles + ContentStyle.RowTitle)
+ text(
+ it.name,
+ kind = ContentKind.Parameters,
+ styles = mainStyles + ContentStyle.RowTitle
+ )
comment(it.root)
}
}
@@ -304,7 +349,10 @@ open class DefaultPageCreator(
fun DocumentableContentBuilder.contentForSeeAlso() {
if (tags.isNotEmptyForTag<See>()) {
header(2, "See also")
- group(extra = mainExtra + SimpleAttr.header("See also"), styles = setOf(ContentStyle.WithExtraAttributes)){
+ group(
+ extra = mainExtra + SimpleAttr.header("See also"),
+ styles = setOf(ContentStyle.WithExtraAttributes)
+ ) {
sourceSetDependentHint(sourceSets = platforms.toSet(), kind = ContentKind.SourceSetDependantHint) {
val seeAlsoTags = tags.withTypeNamed<See>()
table(kind = ContentKind.Sample) {
@@ -312,8 +360,16 @@ open class DefaultPageCreator(
val possibleFallbacks = d.getPossibleFallbackSourcesets(platform)
seeAlsoTags.mapNotNull { (_, see) ->
(see[platform] ?: see.fallback(possibleFallbacks))?.let {
- buildGroup(sourceSets = setOf(platform), kind = ContentKind.Comment, styles = mainStyles + ContentStyle.RowTitle) {
- if (it.address != null) link(it.name, it.address!!, kind = ContentKind.Comment)
+ buildGroup(
+ sourceSets = setOf(platform),
+ kind = ContentKind.Comment,
+ styles = mainStyles + ContentStyle.RowTitle
+ ) {
+ if (it.address != null) link(
+ it.name,
+ it.address!!,
+ kind = ContentKind.Comment
+ )
else text(it.name, kind = ContentKind.Comment)
comment(it.root)
}
@@ -330,11 +386,18 @@ open class DefaultPageCreator(
val samples = tags.withTypeNamed<Sample>()
if (samples.isNotEmpty()) {
header(2, "Samples")
- group(extra = mainExtra + SimpleAttr.header("Samples"), styles = setOf(ContentStyle.WithExtraAttributes)){
+ group(
+ extra = mainExtra + SimpleAttr.header("Samples"),
+ styles = setOf(ContentStyle.WithExtraAttributes)
+ ) {
sourceSetDependentHint(sourceSets = platforms.toSet(), kind = ContentKind.SourceSetDependantHint) {
platforms.map { platformData ->
val content = samples.filter { it.value.isEmpty() || platformData in it.value }
- group(sourceSets = setOf(platformData), kind = ContentKind.Sample, styles = setOf(TextStyle.Monospace)) {
+ group(
+ sourceSets = setOf(platformData),
+ kind = ContentKind.Sample,
+ styles = setOf(TextStyle.Monospace)
+ ) {
content.forEach {
text(it.key)
}
@@ -413,29 +476,33 @@ open class DefaultPageCreator(
.mapValues { if (it.value.any { it is DClasslike }) it.value.filter { it !is DTypeAlias } else it.value }
.toSortedMap(compareBy(nullsLast(String.CASE_INSENSITIVE_ORDER)){it})
.map { (elementName, elements) -> // This groupBy should probably use LocationProvider
- buildGroup(elements.map { it.dri }.toSet(), elements.flatMap { it.sourceSets }.toSet(), kind = kind) {
- link(elementName.orEmpty(), elements.first().dri, kind = kind)
- divergentGroup(
- ContentDivergentGroup.GroupID(name),
+ buildGroup(
elements.map { it.dri }.toSet(),
+ elements.flatMap { it.sourceSets }.toSet(),
kind = kind
) {
- elements.map {
- instance(setOf(it.dri), it.sourceSets.toSet()) {
- before {
- contentForBrief(it)
- contentForSinceKotlin(it)
- }
- divergent {
- group {
- +buildSignature(it)
+ link(elementName.orEmpty(), elements.first().dri, kind = kind)
+ divergentGroup(
+ ContentDivergentGroup.GroupID(name),
+ elements.map { it.dri }.toSet(),
+ kind = kind
+ ) {
+ elements.map {
+ instance(setOf(it.dri), it.sourceSets.toSet()) {
+ before {
+ contentForBrief(it)
+ contentForSinceKotlin(it)
+ }
+ divergent {
+ group {
+ +buildSignature(it)
+ }
}
}
}
}
}
}
- }
}
}
}
diff --git a/plugins/base/src/main/kotlin/translators/documentables/PageContentBuilder.kt b/plugins/base/src/main/kotlin/translators/documentables/PageContentBuilder.kt
index 9d10620e..a58ef114 100644
--- a/plugins/base/src/main/kotlin/translators/documentables/PageContentBuilder.kt
+++ b/plugins/base/src/main/kotlin/translators/documentables/PageContentBuilder.kt
@@ -1,9 +1,11 @@
package org.jetbrains.dokka.base.translators.documentables
+import org.jetbrains.dokka.DokkaConfiguration.DokkaSourceSet
import org.jetbrains.dokka.base.signatures.SignatureProvider
import org.jetbrains.dokka.base.transformers.pages.comments.CommentsToContentConverter
import org.jetbrains.dokka.links.DRI
-import org.jetbrains.dokka.model.*
+import org.jetbrains.dokka.model.Documentable
+import org.jetbrains.dokka.model.SourceSetDependent
import org.jetbrains.dokka.model.doc.DocTag
import org.jetbrains.dokka.model.properties.PropertyContainer
import org.jetbrains.dokka.pages.*
@@ -19,7 +21,7 @@ open class PageContentBuilder(
) {
fun contentFor(
dri: DRI,
- sourceSets: Set<SourceSetData>,
+ sourceSets: Set<DokkaSourceSet>,
kind: Kind = ContentKind.Main,
styles: Set<Style> = emptySet(),
extra: PropertyContainer<ContentNode> = PropertyContainer.empty(),
@@ -31,7 +33,7 @@ open class PageContentBuilder(
fun contentFor(
dri: Set<DRI>,
- sourceSets: Set<SourceSetData>,
+ sourceSets: Set<DokkaSourceSet>,
kind: Kind = ContentKind.Main,
styles: Set<Style> = emptySet(),
extra: PropertyContainer<ContentNode> = PropertyContainer.empty(),
@@ -46,7 +48,7 @@ open class PageContentBuilder(
kind: Kind = ContentKind.Main,
styles: Set<Style> = emptySet(),
extra: PropertyContainer<ContentNode> = PropertyContainer.empty(),
- sourceSets: Set<SourceSetData> = d.sourceSets.toSet(),
+ sourceSets: Set<DokkaSourceSet> = d.sourceSets.toSet(),
block: DocumentableContentBuilder.() -> Unit = {}
): ContentGroup =
DocumentableContentBuilder(setOf(d.dri), sourceSets, styles, extra)
@@ -56,14 +58,14 @@ open class PageContentBuilder(
@ContentBuilderMarker
open inner class DocumentableContentBuilder(
val mainDRI: Set<DRI>,
- val mainPlatformData: Set<SourceSetData>,
+ val mainPlatformData: Set<DokkaSourceSet>,
val mainStyles: Set<Style>,
val mainExtra: PropertyContainer<ContentNode>
) {
protected val contents = mutableListOf<ContentNode>()
fun build(
- sourceSets: Set<SourceSetData>,
+ sourceSets: Set<DokkaSourceSet>,
kind: Kind,
styles: Set<Style>,
extra: PropertyContainer<ContentNode>
@@ -87,7 +89,7 @@ open class PageContentBuilder(
level: Int,
text: String,
kind: Kind = ContentKind.Main,
- platformData: Set<SourceSetData> = mainPlatformData,
+ platformData: Set<DokkaSourceSet> = mainPlatformData,
styles: Set<Style> = mainStyles,
extra: PropertyContainer<ContentNode> = mainExtra,
block: DocumentableContentBuilder.() -> Unit = {}
@@ -109,18 +111,18 @@ open class PageContentBuilder(
fun cover(
text: String,
- platformData: Set<SourceSetData> = mainPlatformData,
+ platformData: Set<DokkaSourceSet> = mainPlatformData,
styles: Set<Style> = mainStyles + TextStyle.Cover,
extra: PropertyContainer<ContentNode> = mainExtra,
block: DocumentableContentBuilder.() -> Unit = {}
- ) {
+ ) {
header(1, text, platformData = platformData, styles = styles, extra = extra, block = block)
}
fun text(
text: String,
kind: Kind = ContentKind.Main,
- sourceSets: Set<SourceSetData> = mainPlatformData,
+ sourceSets: Set<DokkaSourceSet> = mainPlatformData,
styles: Set<Style> = mainStyles,
extra: PropertyContainer<ContentNode> = mainExtra
) {
@@ -132,7 +134,7 @@ open class PageContentBuilder(
fun linkTable(
elements: List<DRI>,
kind: Kind = ContentKind.Main,
- sourceSets: Set<SourceSetData> = mainPlatformData,
+ sourceSets: Set<DokkaSourceSet> = mainPlatformData,
styles: Set<Style> = mainStyles,
extra: PropertyContainer<ContentNode> = mainExtra
) {
@@ -150,7 +152,7 @@ open class PageContentBuilder(
fun table(
kind: Kind = ContentKind.Main,
- sourceSets: Set<SourceSetData> = mainPlatformData,
+ sourceSets: Set<DokkaSourceSet> = mainPlatformData,
styles: Set<Style> = mainStyles,
extra: PropertyContainer<ContentNode> = mainExtra,
operation: DocumentableContentBuilder.() -> List<ContentGroup>
@@ -168,7 +170,7 @@ open class PageContentBuilder(
level: Int,
kind: Kind = ContentKind.Main,
elements: Iterable<T>,
- sourceSets: Set<SourceSetData> = mainPlatformData,
+ sourceSets: Set<DokkaSourceSet> = mainPlatformData,
styles: Set<Style> = mainStyles,
extra: PropertyContainer<ContentNode> = mainExtra,
renderWhenEmpty: Boolean = false,
@@ -180,16 +182,16 @@ open class PageContentBuilder(
contents += ContentTable(
emptyList(),
elements
- .let{
+ .let {
if (needsSorting)
- it.sortedWith(compareBy(nullsLast(String.CASE_INSENSITIVE_ORDER)){ it.name })
+ it.sortedWith(compareBy(nullsLast(String.CASE_INSENSITIVE_ORDER)) { it.name })
else it
}
.map {
- buildGroup(setOf(it.dri), it.sourceSets.toSet(), kind, styles, extra) {
- operation(it)
- }
- },
+ buildGroup(setOf(it.dri), it.sourceSets.toSet(), kind, styles, extra) {
+ operation(it)
+ }
+ },
DCI(mainDRI, kind),
sourceSets, styles, extra
)
@@ -201,7 +203,7 @@ open class PageContentBuilder(
prefix: String = "",
suffix: String = "",
separator: String = ", ",
- sourceSets: Set<SourceSetData> = mainPlatformData, // TODO: children should be aware of this platform data
+ sourceSets: Set<DokkaSourceSet> = mainPlatformData, // TODO: children should be aware of this platform data
operation: DocumentableContentBuilder.(T) -> Unit
) {
if (elements.isNotEmpty()) {
@@ -219,7 +221,7 @@ open class PageContentBuilder(
text: String,
address: DRI,
kind: Kind = ContentKind.Main,
- sourceSets: Set<SourceSetData> = mainPlatformData,
+ sourceSets: Set<DokkaSourceSet> = mainPlatformData,
styles: Set<Style> = mainStyles,
extra: PropertyContainer<ContentNode> = mainExtra
) {
@@ -230,7 +232,7 @@ open class PageContentBuilder(
text: String,
address: DRI,
kind: Kind = ContentKind.Main,
- sourceSets: Set<SourceSetData> = mainPlatformData,
+ sourceSets: Set<DokkaSourceSet> = mainPlatformData,
styles: Set<Style> = mainStyles,
extra: PropertyContainer<ContentNode> = mainExtra
) = ContentDRILink(
@@ -244,7 +246,7 @@ open class PageContentBuilder(
text: String,
address: String,
kind: Kind = ContentKind.Main,
- sourceSets: Set<SourceSetData> = mainPlatformData,
+ sourceSets: Set<DokkaSourceSet> = mainPlatformData,
styles: Set<Style> = mainStyles,
extra: PropertyContainer<ContentNode> = mainExtra
) =
@@ -260,7 +262,7 @@ open class PageContentBuilder(
fun link(
address: DRI,
kind: Kind = ContentKind.Main,
- sourceSets: Set<SourceSetData> = mainPlatformData,
+ sourceSets: Set<DokkaSourceSet> = mainPlatformData,
styles: Set<Style> = mainStyles,
extra: PropertyContainer<ContentNode> = mainExtra,
block: DocumentableContentBuilder.() -> Unit
@@ -276,7 +278,7 @@ open class PageContentBuilder(
fun comment(
docTag: DocTag,
kind: Kind = ContentKind.Comment,
- sourceSets: Set<SourceSetData> = mainPlatformData,
+ sourceSets: Set<DokkaSourceSet> = mainPlatformData,
styles: Set<Style> = mainStyles,
extra: PropertyContainer<ContentNode> = mainExtra
) {
@@ -290,7 +292,7 @@ open class PageContentBuilder(
fun group(
dri: Set<DRI> = mainDRI,
- sourceSets: Set<SourceSetData> = mainPlatformData,
+ sourceSets: Set<DokkaSourceSet> = mainPlatformData,
kind: Kind = ContentKind.Main,
styles: Set<Style> = mainStyles,
extra: PropertyContainer<ContentNode> = mainExtra,
@@ -316,7 +318,7 @@ open class PageContentBuilder(
fun buildGroup(
dri: Set<DRI> = mainDRI,
- sourceSets: Set<SourceSetData> = mainPlatformData,
+ sourceSets: Set<DokkaSourceSet> = mainPlatformData,
kind: Kind = ContentKind.Main,
styles: Set<Style> = mainStyles,
extra: PropertyContainer<ContentNode> = mainExtra,
@@ -325,7 +327,7 @@ open class PageContentBuilder(
fun sourceSetDependentHint(
dri: Set<DRI> = mainDRI,
- sourceSets: Set<SourceSetData> = mainPlatformData,
+ sourceSets: Set<DokkaSourceSet> = mainPlatformData,
kind: Kind = ContentKind.Main,
styles: Set<Style> = mainStyles,
extra: PropertyContainer<ContentNode> = mainExtra,
@@ -339,7 +341,7 @@ open class PageContentBuilder(
fun sourceSetDependentHint(
dri: DRI,
- platformData: Set<SourceSetData> = mainPlatformData,
+ platformData: Set<DokkaSourceSet> = mainPlatformData,
kind: Kind = ContentKind.Main,
styles: Set<Style> = mainStyles,
extra: PropertyContainer<ContentNode> = mainExtra,
@@ -354,7 +356,7 @@ open class PageContentBuilder(
protected fun createText(
text: String,
kind: Kind,
- sourceSets: Set<SourceSetData>,
+ sourceSets: Set<DokkaSourceSet>,
styles: Set<Style>,
extra: PropertyContainer<ContentNode>
) =
@@ -362,7 +364,7 @@ open class PageContentBuilder(
fun <T> sourceSetDependentText(
value: SourceSetDependent<T>,
- sourceSets: Set<SourceSetData> = value.keys,
+ sourceSets: Set<DokkaSourceSet> = value.keys,
transform: (T) -> String
) = value.entries.filter { it.key in sourceSets }.mapNotNull { (p, v) ->
transform(v).takeIf { it.isNotBlank() }?.let { it to p }
@@ -381,7 +383,7 @@ open class PageContentBuilder(
private val instances: MutableList<ContentDivergentInstance> = mutableListOf()
fun instance(
dri: Set<DRI>,
- sourceSets: Set<SourceSetData>, // Having correct PlatformData is crucial here, that's why there's no default
+ sourceSets: Set<DokkaSourceSet>, // Having correct PlatformData is crucial here, that's why there's no default
kind: Kind = mainKind,
styles: Set<Style> = mainStyles,
extra: PropertyContainer<ContentNode> = mainExtra,
@@ -411,7 +413,7 @@ open class PageContentBuilder(
@ContentBuilderMarker
open inner class DivergentInstanceBuilder(
private val mainDRI: Set<DRI>,
- private val mainSourceSets: Set<SourceSetData>,
+ private val mainSourceSets: Set<DokkaSourceSet>,
private val mainStyles: Set<Style>,
private val mainExtra: PropertyContainer<ContentNode>
) {
@@ -421,7 +423,7 @@ open class PageContentBuilder(
fun before(
dri: Set<DRI> = mainDRI,
- sourceSets: Set<SourceSetData> = mainSourceSets,
+ sourceSets: Set<DokkaSourceSet> = mainSourceSets,
kind: Kind = ContentKind.Main,
styles: Set<Style> = mainStyles,
extra: PropertyContainer<ContentNode> = mainExtra,
@@ -434,7 +436,7 @@ open class PageContentBuilder(
fun divergent(
dri: Set<DRI> = mainDRI,
- sourceSets: Set<SourceSetData> = mainSourceSets,
+ sourceSets: Set<DokkaSourceSet> = mainSourceSets,
kind: Kind = ContentKind.Main,
styles: Set<Style> = mainStyles,
extra: PropertyContainer<ContentNode> = mainExtra,
@@ -445,7 +447,7 @@ open class PageContentBuilder(
fun after(
dri: Set<DRI> = mainDRI,
- sourceSets: Set<SourceSetData> = mainSourceSets,
+ sourceSets: Set<DokkaSourceSet> = mainSourceSets,
kind: Kind = ContentKind.Main,
styles: Set<Style> = mainStyles,
extra: PropertyContainer<ContentNode> = mainExtra,
@@ -459,7 +461,7 @@ open class PageContentBuilder(
fun build(
kind: Kind,
- sourceSets: Set<SourceSetData> = mainSourceSets,
+ sourceSets: Set<DokkaSourceSet> = mainSourceSets,
styles: Set<Style> = mainStyles,
extra: PropertyContainer<ContentNode> = mainExtra
) =
diff --git a/plugins/base/src/main/kotlin/translators/psi/DefaultPsiToDocumentableTranslator.kt b/plugins/base/src/main/kotlin/translators/psi/DefaultPsiToDocumentableTranslator.kt
index e71d936a..8588534b 100644
--- a/plugins/base/src/main/kotlin/translators/psi/DefaultPsiToDocumentableTranslator.kt
+++ b/plugins/base/src/main/kotlin/translators/psi/DefaultPsiToDocumentableTranslator.kt
@@ -7,10 +7,10 @@ import com.intellij.openapi.vfs.VirtualFileManager
import com.intellij.psi.*
import com.intellij.psi.impl.source.PsiClassReferenceType
import com.intellij.psi.impl.source.PsiImmediateClassType
+import org.jetbrains.dokka.DokkaConfiguration.DokkaSourceSet
import org.jetbrains.dokka.analysis.KotlinAnalysis
import org.jetbrains.dokka.analysis.PsiDocumentableSource
import org.jetbrains.dokka.analysis.from
-import org.jetbrains.dokka.base.DokkaBase
import org.jetbrains.dokka.links.DRI
import org.jetbrains.dokka.links.nextTarget
import org.jetbrains.dokka.links.withClass
@@ -21,7 +21,6 @@ import org.jetbrains.dokka.model.doc.Param
import org.jetbrains.dokka.model.doc.Text
import org.jetbrains.dokka.model.properties.PropertyContainer
import org.jetbrains.dokka.plugability.DokkaContext
-import org.jetbrains.dokka.plugability.DokkaPlugin
import org.jetbrains.dokka.transformers.sources.SourceToDocumentableTranslator
import org.jetbrains.dokka.utilities.DokkaLogger
import org.jetbrains.kotlin.asJava.elements.KtLightAbstractAnnotation
@@ -42,7 +41,7 @@ class DefaultPsiToDocumentableTranslator(
private val kotlinAnalysis: KotlinAnalysis
) : SourceToDocumentableTranslator {
- override fun invoke(sourceSet: SourceSetData, context: DokkaContext): DModule {
+ override fun invoke(sourceSet: DokkaSourceSet, context: DokkaContext): DModule {
fun isFileInSourceRoots(file: File): Boolean {
return sourceSet.sourceRoots.any { root -> file.path.startsWith(File(root.path).absolutePath) }
@@ -93,7 +92,7 @@ class DefaultPsiToDocumentableTranslator(
}
class DokkaPsiParser(
- private val sourceSetData: SourceSetData,
+ private val sourceSetData: DokkaSourceSet,
private val logger: DokkaLogger
) {
@@ -187,7 +186,7 @@ class DefaultPsiToDocumentableTranslator(
fields.filterIsInstance<PsiEnumConstant>().map { entry ->
DEnumEntry(
dri.withClass("$name.${entry.name}"),
- entry.name.orEmpty(),
+ entry.name,
javadocParser.parseDocumentation(entry).toSourceSetDependent(),
null,
emptyList(),