package org.jetbrains.dokka.model import org.jetbrains.dokka.DokkaConfiguration.DokkaSourceSet import org.jetbrains.dokka.DokkaSourceSetID import org.jetbrains.dokka.Platform import org.jetbrains.dokka.utilities.SelfRepresentingSingletonSet data class DisplaySourceSet( val sourceSetIDs: CompositeSourceSetID, val name: String, val platform: Platform ) : SelfRepresentingSingletonSet { constructor(sourceSet: DokkaSourceSet) : this( sourceSetIDs = CompositeSourceSetID(sourceSet.sourceSetID), name = sourceSet.displayName, platform = sourceSet.analysisPlatform ) } fun DokkaSourceSet.toDisplaySourceSet(): DisplaySourceSet = DisplaySourceSet(this) fun Iterable.toDisplaySourceSets(): Set = map { it.toDisplaySourceSet() }.toSet() val Iterable.sourceSetIDs: List get() = this.flatMap { it.sourceSetIDs.all }