aboutsummaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
Diffstat (limited to 'core')
-rw-r--r--core/src/main/kotlin/model/Documentable.kt15
-rw-r--r--core/src/main/kotlin/pages/PageNodes.kt5
2 files changed, 17 insertions, 3 deletions
diff --git a/core/src/main/kotlin/model/Documentable.kt b/core/src/main/kotlin/model/Documentable.kt
index 293b8a30..34ad6c2b 100644
--- a/core/src/main/kotlin/model/Documentable.kt
+++ b/core/src/main/kotlin/model/Documentable.kt
@@ -111,9 +111,18 @@ data class DPackage(
override val sourceSets: Set<DokkaSourceSet> = emptySet(),
override val extra: PropertyContainer<DPackage> = PropertyContainer.empty()
) : Documentable(), WithScope, WithExtraProperties<DPackage> {
- override val name = dri.packageName.orEmpty()
- override val children: List<Documentable>
- get() = (properties + functions + classlikes + typealiases)
+
+ val packageName: String = dri.packageName.orEmpty()
+
+ /**
+ * !!! WARNING !!!
+ * This name is not guaranteed to be a be a canonical/real package name.
+ * e.g. this will return a human readable version for root packages.
+ * Use [packageName] or `dri.packageName` instead to obtain the real packageName
+ */
+ override val name: String = if (packageName.isBlank()) "[root]" else packageName
+
+ override val children: List<Documentable> = properties + functions + classlikes + typealiases
override fun withNewExtras(newExtras: PropertyContainer<DPackage>) = copy(extra = newExtras)
}
diff --git a/core/src/main/kotlin/pages/PageNodes.kt b/core/src/main/kotlin/pages/PageNodes.kt
index 176c0993..a91887b4 100644
--- a/core/src/main/kotlin/pages/PageNodes.kt
+++ b/core/src/main/kotlin/pages/PageNodes.kt
@@ -92,6 +92,11 @@ class PackagePageNode(
override val children: List<PageNode>,
override val embeddedResources: List<String> = listOf()
) : PackagePage {
+
+ init {
+ require(name.isNotBlank()) { "PackagePageNode.name cannot be blank" }
+ }
+
override fun modified(name: String, children: List<PageNode>): PackagePageNode =
modified(name = name, content = this.content, children = children)