diff options
Diffstat (limited to 'plugins/base/src/main/kotlin/transformers')
3 files changed, 5 insertions, 8 deletions
diff --git a/plugins/base/src/main/kotlin/transformers/documentables/DefaultDocumentableMerger.kt b/plugins/base/src/main/kotlin/transformers/documentables/DefaultDocumentableMerger.kt index 1b8fa299..c8e4f565 100644 --- a/plugins/base/src/main/kotlin/transformers/documentables/DefaultDocumentableMerger.kt +++ b/plugins/base/src/main/kotlin/transformers/documentables/DefaultDocumentableMerger.kt @@ -25,7 +25,7 @@ internal object DefaultDocumentableMerger : DocumentableMerger { ), documentation = list.map { it.documentation }.flatMap { it.entries }.associate { (k,v) -> k to v }, expectPresentInSet = list.firstNotNullResult { it.expectPresentInSet }, - sourceSets = list.flatMap { it.sourceSets } + sourceSets = list.flatMap { it.sourceSets }.toSet() ).mergeExtras(left, right) } } diff --git a/plugins/base/src/main/kotlin/transformers/documentables/DocumentableVisibilityFilter.kt b/plugins/base/src/main/kotlin/transformers/documentables/DocumentableVisibilityFilter.kt index d15ec791..d3fc65fb 100644 --- a/plugins/base/src/main/kotlin/transformers/documentables/DocumentableVisibilityFilter.kt +++ b/plugins/base/src/main/kotlin/transformers/documentables/DocumentableVisibilityFilter.kt @@ -91,12 +91,12 @@ internal class DocumentableVisibilityFilter(val context: DokkaContext) : PreMerg visibilityForPlatform(d)?.isAllowedInPackage(dri.packageName) == true && additionalCondition(this, d) || alternativeCondition(this, d) - } + }.toSet() private fun <T> List<T>.transform( additionalCondition: (T, SourceSetData) -> Boolean = ::alwaysTrue, alternativeCondition: (T, SourceSetData) -> Boolean = ::alwaysFalse, - recreate: (T, List<SourceSetData>) -> T + recreate: (T, Set<SourceSetData>) -> T ): Pair<Boolean, List<T>> where T : Documentable, T : WithVisibility { var changed = false val values = mapNotNull { t -> @@ -170,11 +170,11 @@ internal class DocumentableVisibilityFilter(val context: DokkaContext) : PreMerg } } - private fun filterEnumEntries(entries: List<DEnumEntry>, filteredPlatforms: List<SourceSetData>) = + private fun filterEnumEntries(entries: List<DEnumEntry>, filteredPlatforms: Set<SourceSetData>) = entries.mapNotNull { entry -> if (filteredPlatforms.containsAll(entry.sourceSets)) entry else { - val intersection = filteredPlatforms.intersect(entry.sourceSets).toList() + val intersection = filteredPlatforms.intersect(entry.sourceSets) if (intersection.isEmpty()) null else DEnumEntry( entry.dri, diff --git a/plugins/base/src/main/kotlin/transformers/pages/sourcelinks/SourceLinksTransformer.kt b/plugins/base/src/main/kotlin/transformers/pages/sourcelinks/SourceLinksTransformer.kt index e324c5bb..d987a5d5 100644 --- a/plugins/base/src/main/kotlin/transformers/pages/sourcelinks/SourceLinksTransformer.kt +++ b/plugins/base/src/main/kotlin/transformers/pages/sourcelinks/SourceLinksTransformer.kt @@ -9,15 +9,12 @@ import org.jetbrains.dokka.model.SourceSetData import org.jetbrains.dokka.model.DocumentableSource import org.jetbrains.dokka.model.PsiDocumentableSource import org.jetbrains.dokka.model.WithExpectActual -import org.jetbrains.dokka.model.properties.PropertyContainer -import org.jetbrains.dokka.model.sourceSet import org.jetbrains.dokka.pages.* import org.jetbrains.dokka.plugability.DokkaContext import org.jetbrains.dokka.transformers.pages.PageTransformer import org.jetbrains.kotlin.descriptors.DeclarationDescriptorWithSource import org.jetbrains.kotlin.resolve.source.getPsi import org.jetbrains.kotlin.utils.addToStdlib.cast -import org.jetbrains.kotlin.utils.addToStdlib.safeAs class SourceLinksTransformer(val context: DokkaContext, val builder: PageContentBuilder) : PageTransformer { |
