From 612e8c2f6f1b52f19c6ae51aa3d5655dfb43ba0c Mon Sep 17 00:00:00 2001 From: Szymon Świstun Date: Thu, 23 Jan 2020 11:10:37 +0100 Subject: formatting --- core/src/main/kotlin/model/Documentable.kt | 120 ++++++++++++++++++++++++----- 1 file changed, 102 insertions(+), 18 deletions(-) (limited to 'core/src/main/kotlin/model') diff --git a/core/src/main/kotlin/model/Documentable.kt b/core/src/main/kotlin/model/Documentable.kt index 7add2c3f..86ba24b7 100644 --- a/core/src/main/kotlin/model/Documentable.kt +++ b/core/src/main/kotlin/model/Documentable.kt @@ -1,9 +1,10 @@ package org.jetbrains.dokka.model -import org.jetbrains.dokka.model.doc.* -import org.jetbrains.dokka.transformers.descriptors.KotlinTypeWrapper import org.jetbrains.dokka.links.DRI +import org.jetbrains.dokka.model.doc.DocumentationNode import org.jetbrains.dokka.pages.PlatformData +import org.jetbrains.dokka.transformers.descriptors.KotlinClassKindTypes +import org.jetbrains.dokka.transformers.descriptors.KotlinTypeWrapper class Module(override val name: String, val packages: List) : Documentable() { override val dri: DRI = DRI.topLevel @@ -15,7 +16,7 @@ class Package( override val dri: DRI, override val functions: List, override val properties: List, - override val classes: List, + override val classlikes: List, override val extra: MutableSet = mutableSetOf() ) : ScopeNode() { override val name = dri.packageName.orEmpty() @@ -24,16 +25,79 @@ class Package( class Class( override val dri: DRI, override val name: String, - val kind: ClassKind, + override val kind: ClassKind, val constructors: List, override val functions: List, override val properties: List, - override val classes: List, + override val classlikes: List, override val expected: ClassPlatformInfo?, override val actual: List, override val extra: MutableSet = mutableSetOf() -) : ScopeNode() { - val inherited by lazy { platformInfo.mapNotNull { (it as? ClassPlatformInfo)?.inherited }.flatten() } +) : Classlike( + name = name, + dri = dri, + kind = kind, + functions = functions, + properties = properties, + classlikes = classlikes, + expected = expected, + actual = actual, + extra = extra +) + +class Enum( + override val dri: DRI, + override val name: String, + val entries: List, + val constructors: List, + override val functions: List = emptyList(), + override val properties: List = emptyList(), + override val classlikes: List = emptyList(), + override val expected: ClassPlatformInfo? = null, + override val actual: List, + override val extra: MutableSet = mutableSetOf() +) : Classlike(dri = dri, name = name, kind = KotlinClassKindTypes.ENUM_CLASS, actual = actual) { + constructor(c: Classlike, entries: List, ctors: List) : this( + dri = c.dri, + name = c.name, + entries = entries, + constructors = ctors, + functions = c.functions, + properties = c.properties, + classlikes = c.classlikes, + expected = c.expected, + actual = c.actual, + extra = c.extra + ) + + override val children: List + get() = entries +} + +class EnumEntry( + override val dri: DRI, + override val name: String, + override val expected: ClassPlatformInfo? = null, + override val actual: List, + override val extra: MutableSet = mutableSetOf() +) : Classlike( + dri = dri, + name = name, + actual = actual, + expected = expected, + extra = extra, + kind = KotlinClassKindTypes.ENUM_ENTRY +) { + constructor(c: Classlike) : this( + dri = c.dri, + name = c.name, + actual = c.actual, + expected = c.expected, + extra = c.extra + ) + + override val children: List + get() = emptyList() } class Function( @@ -83,7 +147,8 @@ interface PlatformInfo { class BasePlatformInfo( override val documentationNode: DocumentationNode, - override val platformData: List) : PlatformInfo { + override val platformData: List +) : PlatformInfo { override fun equals(other: Any?): Boolean = other is PlatformInfo && documentationNode == other.documentationNode @@ -94,7 +159,8 @@ class BasePlatformInfo( class ClassPlatformInfo( val info: PlatformInfo, - val inherited: List) : PlatformInfo by info + val inherited: List +) : PlatformInfo by info abstract class Documentable { open val expected: PlatformInfo? = null @@ -114,27 +180,45 @@ abstract class Documentable { override fun hashCode() = dri.hashCode() + + val commentsData: List + get() = platformInfo.map { it.documentationNode } + val briefDocTagString: String get() = platformInfo - .firstOrNull() - ?.documentationNode - ?.children - ?.firstOrNull() - ?.root - ?.docTagSummary() - ?.shorten(40) ?: "" + .firstOrNull() + ?.documentationNode + ?.children + ?.firstOrNull() + ?.root + ?.docTagSummary() + ?.shorten(40) ?: "" open val extra: MutableSet = mutableSetOf() } +abstract class Classlike( + override val dri: DRI, + override val name: String, + open val kind: ClassKind, + override val functions: List = emptyList(), + override val properties: List = emptyList(), + override val classlikes: List = emptyList(), + override val expected: ClassPlatformInfo? = null, + override val actual: List, + override val extra: MutableSet = mutableSetOf() +) : ScopeNode() { + val inherited by lazy { platformInfo.mapNotNull { (it as? ClassPlatformInfo)?.inherited }.flatten() } +} + abstract class ScopeNode : Documentable() { abstract val functions: List abstract val properties: List - abstract val classes: List + abstract val classlikes: List override val children: List - get() = functions + properties + classes + get() = functions + properties + classlikes } abstract class CallableNode : Documentable() { -- cgit