aboutsummaryrefslogtreecommitdiff
path: root/core/src/main/kotlin/model
diff options
context:
space:
mode:
authorKamil Doległo <kamilok1965@interia.pl>2020-06-19 14:08:49 +0200
committerPaweł Marks <pmarks@virtuslab.com>2020-06-25 20:23:58 +0200
commit8cb6efc97f8fa321381c95cc5f85a3ce7bc13c3f (patch)
treefe4e24d9f352199e551bd34ba330c0d2c0acf7af /core/src/main/kotlin/model
parent08f40e2a13006882e8f8425f111b8527e7bbcb0f (diff)
downloaddokka-8cb6efc97f8fa321381c95cc5f85a3ce7bc13c3f.tar.gz
dokka-8cb6efc97f8fa321381c95cc5f85a3ce7bc13c3f.tar.bz2
dokka-8cb6efc97f8fa321381c95cc5f85a3ce7bc13c3f.zip
Remove SourceSetDataCache, rename PassConfiguration to DokkaSourceSet and use it instead of SourceSetData
Diffstat (limited to 'core/src/main/kotlin/model')
-rw-r--r--core/src/main/kotlin/model/Documentable.kt59
-rw-r--r--core/src/main/kotlin/model/SourceSetData.kt38
-rw-r--r--core/src/main/kotlin/model/documentableProperties.kt12
-rw-r--r--core/src/main/kotlin/model/documentableUtils.kt12
4 files changed, 43 insertions, 78 deletions
diff --git a/core/src/main/kotlin/model/Documentable.kt b/core/src/main/kotlin/model/Documentable.kt
index 768bddc5..35278302 100644
--- a/core/src/main/kotlin/model/Documentable.kt
+++ b/core/src/main/kotlin/model/Documentable.kt
@@ -1,5 +1,6 @@
package org.jetbrains.dokka.model
+import org.jetbrains.dokka.DokkaConfiguration.DokkaSourceSet
import org.jetbrains.dokka.links.DRI
import org.jetbrains.dokka.model.doc.DocumentationNode
import org.jetbrains.dokka.model.properties.PropertyContainer
@@ -11,8 +12,8 @@ abstract class Documentable {
abstract val dri: DRI
abstract val children: List<Documentable>
abstract val documentation: SourceSetDependent<DocumentationNode>
- abstract val sourceSets: Set<SourceSetData>
- abstract val expectPresentInSet: SourceSetData?
+ abstract val sourceSets: Set<DokkaSourceSet>
+ abstract val expectPresentInSet: DokkaSourceSet?
override fun toString(): String =
"${javaClass.simpleName}($dri)"
@@ -23,7 +24,7 @@ abstract class Documentable {
override fun hashCode() = dri.hashCode()
}
-typealias SourceSetDependent<T> = Map<SourceSetData, T>
+typealias SourceSetDependent<T> = Map<DokkaSourceSet, T>
interface WithExpectActual {
val sources: SourceSetDependent<DocumentableSource>
@@ -88,8 +89,8 @@ data class DModule(
override val name: String,
val packages: List<DPackage>,
override val documentation: SourceSetDependent<DocumentationNode>,
- override val expectPresentInSet: SourceSetData? = null,
- override val sourceSets: Set<SourceSetData>,
+ override val expectPresentInSet: DokkaSourceSet? = null,
+ override val sourceSets: Set<DokkaSourceSet>,
override val extra: PropertyContainer<DModule> = PropertyContainer.empty()
) : Documentable(), WithExtraProperties<DModule> {
override val dri: DRI = DRI.topLevel
@@ -106,8 +107,8 @@ data class DPackage(
override val classlikes: List<DClasslike>,
val typealiases: List<DTypeAlias>,
override val documentation: SourceSetDependent<DocumentationNode>,
- override val expectPresentInSet: SourceSetData? = null,
- override val sourceSets: Set<SourceSetData>,
+ override val expectPresentInSet: DokkaSourceSet? = null,
+ override val sourceSets: Set<DokkaSourceSet>,
override val extra: PropertyContainer<DPackage> = PropertyContainer.empty()
) : Documentable(), WithScope, WithExtraProperties<DPackage> {
override val name = dri.packageName.orEmpty()
@@ -130,9 +131,9 @@ data class DClass(
override val generics: List<DTypeParameter>,
override val supertypes: SourceSetDependent<List<DRI>>,
override val documentation: SourceSetDependent<DocumentationNode>,
- override val expectPresentInSet: SourceSetData?,
+ override val expectPresentInSet: DokkaSourceSet?,
override val modifier: SourceSetDependent<Modifier>,
- override val sourceSets: Set<SourceSetData>,
+ override val sourceSets: Set<DokkaSourceSet>,
override val extra: PropertyContainer<DClass> = PropertyContainer.empty()
) : DClasslike(), WithAbstraction, WithCompanion, WithConstructors, WithGenerics, WithSupertypes,
WithExtraProperties<DClass> {
@@ -148,7 +149,7 @@ data class DEnum(
override val name: String,
val entries: List<DEnumEntry>,
override val documentation: SourceSetDependent<DocumentationNode>,
- override val expectPresentInSet: SourceSetData?,
+ override val expectPresentInSet: DokkaSourceSet?,
override val sources: SourceSetDependent<DocumentableSource>,
override val functions: List<DFunction>,
override val properties: List<DProperty>,
@@ -157,7 +158,7 @@ data class DEnum(
override val companion: DObject?,
override val constructors: List<DFunction>,
override val supertypes: SourceSetDependent<List<DRI>>,
- override val sourceSets: Set<SourceSetData>,
+ override val sourceSets: Set<DokkaSourceSet>,
override val extra: PropertyContainer<DEnum> = PropertyContainer.empty()
) : DClasslike(), WithCompanion, WithConstructors, WithSupertypes, WithExtraProperties<DEnum> {
override val children: List<Documentable>
@@ -170,11 +171,11 @@ data class DEnumEntry(
override val dri: DRI,
override val name: String,
override val documentation: SourceSetDependent<DocumentationNode>,
- override val expectPresentInSet: SourceSetData?,
+ override val expectPresentInSet: DokkaSourceSet?,
override val functions: List<DFunction>,
override val properties: List<DProperty>,
override val classlikes: List<DClasslike>,
- override val sourceSets: Set<SourceSetData>,
+ override val sourceSets: Set<DokkaSourceSet>,
override val extra: PropertyContainer<DEnumEntry> = PropertyContainer.empty()
) : Documentable(), WithScope, WithExtraProperties<DEnumEntry> {
override val children: List<Documentable>
@@ -189,14 +190,14 @@ data class DFunction(
val isConstructor: Boolean,
val parameters: List<DParameter>,
override val documentation: SourceSetDependent<DocumentationNode>,
- override val expectPresentInSet: SourceSetData?,
+ override val expectPresentInSet: DokkaSourceSet?,
override val sources: SourceSetDependent<DocumentableSource>,
override val visibility: SourceSetDependent<Visibility>,
override val type: Bound,
override val generics: List<DTypeParameter>,
override val receiver: DParameter?,
override val modifier: SourceSetDependent<Modifier>,
- override val sourceSets: Set<SourceSetData>,
+ override val sourceSets: Set<DokkaSourceSet>,
override val extra: PropertyContainer<DFunction> = PropertyContainer.empty()
) : Documentable(), Callable, WithGenerics, WithExtraProperties<DFunction> {
override val children: List<Documentable>
@@ -209,7 +210,7 @@ data class DInterface(
override val dri: DRI,
override val name: String,
override val documentation: SourceSetDependent<DocumentationNode>,
- override val expectPresentInSet: SourceSetData?,
+ override val expectPresentInSet: DokkaSourceSet?,
override val sources: SourceSetDependent<DocumentableSource>,
override val functions: List<DFunction>,
override val properties: List<DProperty>,
@@ -218,7 +219,7 @@ data class DInterface(
override val companion: DObject?,
override val generics: List<DTypeParameter>,
override val supertypes: SourceSetDependent<List<DRI>>,
- override val sourceSets: Set<SourceSetData>,
+ override val sourceSets: Set<DokkaSourceSet>,
override val extra: PropertyContainer<DInterface> = PropertyContainer.empty()
) : DClasslike(), WithCompanion, WithGenerics, WithSupertypes, WithExtraProperties<DInterface> {
override val children: List<Documentable>
@@ -231,14 +232,14 @@ data class DObject(
override val name: String?,
override val dri: DRI,
override val documentation: SourceSetDependent<DocumentationNode>,
- override val expectPresentInSet: SourceSetData?,
+ override val expectPresentInSet: DokkaSourceSet?,
override val sources: SourceSetDependent<DocumentableSource>,
override val functions: List<DFunction>,
override val properties: List<DProperty>,
override val classlikes: List<DClasslike>,
override val visibility: SourceSetDependent<Visibility>,
override val supertypes: SourceSetDependent<List<DRI>>,
- override val sourceSets: Set<SourceSetData>,
+ override val sourceSets: Set<DokkaSourceSet>,
override val extra: PropertyContainer<DObject> = PropertyContainer.empty()
) : DClasslike(), WithSupertypes, WithExtraProperties<DObject> {
override val children: List<Documentable>
@@ -251,7 +252,7 @@ data class DAnnotation(
override val name: String,
override val dri: DRI,
override val documentation: SourceSetDependent<DocumentationNode>,
- override val expectPresentInSet: SourceSetData?,
+ override val expectPresentInSet: DokkaSourceSet?,
override val sources: SourceSetDependent<DocumentableSource>,
override val functions: List<DFunction>,
override val properties: List<DProperty>,
@@ -260,7 +261,7 @@ data class DAnnotation(
override val companion: DObject?,
override val constructors: List<DFunction>,
override val generics: List<DTypeParameter>,
- override val sourceSets: Set<SourceSetData>,
+ override val sourceSets: Set<DokkaSourceSet>,
override val extra: PropertyContainer<DAnnotation> = PropertyContainer.empty()
) : DClasslike(), WithCompanion, WithConstructors, WithExtraProperties<DAnnotation>, WithGenerics {
override val children: List<Documentable>
@@ -273,7 +274,7 @@ data class DProperty(
override val dri: DRI,
override val name: String,
override val documentation: SourceSetDependent<DocumentationNode>,
- override val expectPresentInSet: SourceSetData?,
+ override val expectPresentInSet: DokkaSourceSet?,
override val sources: SourceSetDependent<DocumentableSource>,
override val visibility: SourceSetDependent<Visibility>,
override val type: Bound,
@@ -281,7 +282,7 @@ data class DProperty(
val setter: DFunction?,
val getter: DFunction?,
override val modifier: SourceSetDependent<Modifier>,
- override val sourceSets: Set<SourceSetData>,
+ override val sourceSets: Set<DokkaSourceSet>,
override val generics: List<DTypeParameter>,
override val extra: PropertyContainer<DProperty> = PropertyContainer.empty()
) : Documentable(), Callable, WithExtraProperties<DProperty>, WithGenerics {
@@ -296,9 +297,9 @@ data class DParameter(
override val dri: DRI,
override val name: String?,
override val documentation: SourceSetDependent<DocumentationNode>,
- override val expectPresentInSet: SourceSetData?,
+ override val expectPresentInSet: DokkaSourceSet?,
val type: Bound,
- override val sourceSets: Set<SourceSetData>,
+ override val sourceSets: Set<DokkaSourceSet>,
override val extra: PropertyContainer<DParameter> = PropertyContainer.empty()
) : Documentable(), WithExtraProperties<DParameter> {
override val children: List<Nothing>
@@ -311,9 +312,9 @@ data class DTypeParameter(
override val dri: DRI,
override val name: String,
override val documentation: SourceSetDependent<DocumentationNode>,
- override val expectPresentInSet: SourceSetData?,
+ override val expectPresentInSet: DokkaSourceSet?,
val bounds: List<Bound>,
- override val sourceSets: Set<SourceSetData>,
+ override val sourceSets: Set<DokkaSourceSet>,
override val extra: PropertyContainer<DTypeParameter> = PropertyContainer.empty()
) : Documentable(), WithExtraProperties<DTypeParameter> {
override val children: List<Nothing>
@@ -329,8 +330,8 @@ data class DTypeAlias(
val underlyingType: SourceSetDependent<Bound>,
override val visibility: SourceSetDependent<Visibility>,
override val documentation: SourceSetDependent<DocumentationNode>,
- override val expectPresentInSet: SourceSetData?,
- override val sourceSets: Set<SourceSetData>,
+ override val expectPresentInSet: DokkaSourceSet?,
+ override val sourceSets: Set<DokkaSourceSet>,
override val extra: PropertyContainer<DTypeAlias> = PropertyContainer.empty()
) : Documentable(), WithType, WithVisibility, WithExtraProperties<DTypeAlias> {
override val children: List<Nothing>
diff --git a/core/src/main/kotlin/model/SourceSetData.kt b/core/src/main/kotlin/model/SourceSetData.kt
deleted file mode 100644
index 3e38cc7b..00000000
--- a/core/src/main/kotlin/model/SourceSetData.kt
+++ /dev/null
@@ -1,38 +0,0 @@
-package org.jetbrains.dokka.model
-
-import org.jetbrains.dokka.DokkaConfiguration
-import org.jetbrains.dokka.Platform
-import org.jetbrains.dokka.plugability.DokkaContext
-
-data class SourceSetData(
- val moduleName: String,
- val sourceSetID: String,
- val displayName: String,
- val platform: Platform,
- val sourceRoots: List<DokkaConfiguration.SourceRoot> = emptyList(),
- val dependentSourceSets: List<String> = emptyList()
-)
-
-class SourceSetCache {
- private val sourceSets = HashMap<String, SourceSetData>()
-
- val allSourceSets: List<SourceSetData>
- get() = sourceSets.values.toList()
-
- fun getSourceSet(pass: DokkaConfiguration.PassConfiguration) =
- sourceSets.getOrPut(pass.sourceSetID,
- {
- SourceSetData(
- pass.moduleName,
- pass.sourceSetID,
- pass.displayName,
- pass.analysisPlatform,
- pass.sourceRoots,
- pass.dependentSourceSets
- )
- }
- )
-}
-
-fun DokkaContext.sourceSet(pass: DokkaConfiguration.PassConfiguration): SourceSetData =
- sourceSetCache.getSourceSet(pass) \ No newline at end of file
diff --git a/core/src/main/kotlin/model/documentableProperties.kt b/core/src/main/kotlin/model/documentableProperties.kt
index 2aec199c..cd6a9335 100644
--- a/core/src/main/kotlin/model/documentableProperties.kt
+++ b/core/src/main/kotlin/model/documentableProperties.kt
@@ -1,26 +1,26 @@
package org.jetbrains.dokka.model
+import org.jetbrains.dokka.DokkaConfiguration.DokkaSourceSet
import org.jetbrains.dokka.links.DRI
import org.jetbrains.dokka.model.properties.ExtraProperty
import org.jetbrains.dokka.model.properties.MergeStrategy
-data class InheritedFunction(val inheritedFrom: SourceSetDependent<DRI?>): ExtraProperty<DFunction> {
+data class InheritedFunction(val inheritedFrom: SourceSetDependent<DRI?>) : ExtraProperty<DFunction> {
companion object : ExtraProperty.Key<DFunction, InheritedFunction> {
override fun mergeStrategyFor(left: InheritedFunction, right: InheritedFunction) = MergeStrategy.Replace(
InheritedFunction(left.inheritedFrom + right.inheritedFrom)
)
}
- fun isInherited(sourceSetDependent: SourceSetData): Boolean = inheritedFrom[sourceSetDependent] != null
+ fun isInherited(sourceSetDependent: DokkaSourceSet): Boolean = inheritedFrom[sourceSetDependent] != null
override val key: ExtraProperty.Key<DFunction, *> = InheritedFunction
}
-data class ImplementedInterfaces(val interfaces: SourceSetDependent<List<DRI>>): ExtraProperty<Documentable> {
+data class ImplementedInterfaces(val interfaces: SourceSetDependent<List<DRI>>) : ExtraProperty<Documentable> {
companion object : ExtraProperty.Key<Documentable, ImplementedInterfaces> {
- override fun mergeStrategyFor(left: ImplementedInterfaces, right: ImplementedInterfaces) = MergeStrategy.Replace(
- ImplementedInterfaces(left.interfaces + right.interfaces)
- )
+ override fun mergeStrategyFor(left: ImplementedInterfaces, right: ImplementedInterfaces) =
+ MergeStrategy.Replace(ImplementedInterfaces(left.interfaces + right.interfaces))
}
override val key: ExtraProperty.Key<Documentable, *> = ImplementedInterfaces
diff --git a/core/src/main/kotlin/model/documentableUtils.kt b/core/src/main/kotlin/model/documentableUtils.kt
index 2d4ade15..7057a62c 100644
--- a/core/src/main/kotlin/model/documentableUtils.kt
+++ b/core/src/main/kotlin/model/documentableUtils.kt
@@ -1,12 +1,14 @@
package org.jetbrains.dokka.model
-fun <T> SourceSetDependent<T>.filtered(platformDataList: Set<SourceSetData>) = filter { it.key in platformDataList }
-fun SourceSetData?.filtered(platformDataList: Set<SourceSetData>) = takeIf { this in platformDataList }
+import org.jetbrains.dokka.DokkaConfiguration.DokkaSourceSet
-fun DTypeParameter.filter(filteredData: Set<SourceSetData>) =
- if (filteredData.containsAll(sourceSets)) this
+fun <T> SourceSetDependent<T>.filtered(sourceSets: Set<DokkaSourceSet>) = filter { it.key in sourceSets }
+fun DokkaSourceSet?.filtered(sourceSets: Set<DokkaSourceSet>) = takeIf { this in sourceSets }
+
+fun DTypeParameter.filter(filteredSet: Set<DokkaSourceSet>) =
+ if (filteredSet.containsAll(sourceSets)) this
else {
- val intersection = filteredData.intersect(sourceSets)
+ val intersection = filteredSet.intersect(sourceSets)
if (intersection.isEmpty()) null
else DTypeParameter(
dri,