From 7cfdd8a512adb6b8589328610efb5bd56c3c0dd7 Mon Sep 17 00:00:00 2001 From: Szymon Świstun Date: Wed, 11 Mar 2020 15:07:56 +0100 Subject: Add annotations to extra properties --- core/src/main/kotlin/model/aditionalExtras.kt | 9 +++++++++ core/src/main/kotlin/model/properties/PropertyContainer.kt | 3 +++ 2 files changed, 12 insertions(+) (limited to 'core/src') diff --git a/core/src/main/kotlin/model/aditionalExtras.kt b/core/src/main/kotlin/model/aditionalExtras.kt index d9587fe3..b0755759 100644 --- a/core/src/main/kotlin/model/aditionalExtras.kt +++ b/core/src/main/kotlin/model/aditionalExtras.kt @@ -1,5 +1,6 @@ package org.jetbrains.dokka.model +import org.jetbrains.dokka.links.DRI import org.jetbrains.dokka.model.properties.ExtraProperty import org.jetbrains.dokka.model.properties.MergeStrategy @@ -14,4 +15,12 @@ class AdditionalModifiers(val content: Set) : ExtraProperty = AdditionalKey +} + +class Annotations(val content: List) : ExtraProperty { + companion object : ExtraProperty.Key + + override val key: ExtraProperty.Key = Annotations + + data class Annotation(val dri: DRI, val params: Map) } \ No newline at end of file diff --git a/core/src/main/kotlin/model/properties/PropertyContainer.kt b/core/src/main/kotlin/model/properties/PropertyContainer.kt index 7fa46ccb..5ea42e42 100644 --- a/core/src/main/kotlin/model/properties/PropertyContainer.kt +++ b/core/src/main/kotlin/model/properties/PropertyContainer.kt @@ -15,9 +15,12 @@ class PropertyContainer internal constructor( } inline fun allOfType(): List = map.values.filterIsInstance() + fun addAll(vararg extras: ExtraProperty): PropertyContainer = + PropertyContainer(map + extras.map { p -> p.key to p }) companion object { fun empty(): PropertyContainer = PropertyContainer(emptyMap()) + fun withAll(vararg extras: ExtraProperty) = empty().addAll(*extras) } } -- cgit