From 2269ac5e003b1cce90742b5f5ed9cd294dd099f4 Mon Sep 17 00:00:00 2001 From: Vsevolod Tolstopyatov Date: Mon, 14 Aug 2023 19:45:32 +0200 Subject: Refactor and document DisplaySourceSet, deprecate SelfRepresentingSingletonSet (#3105) * Deprecate internal API SelfRepresentingSingletonSet for removal as being harmful and unimplement it in DisplaySourceSet * Provide no automatic migration for DisplaySourceSet, as there are no mechanisms for that. Manual migration is the replacement of 'dss' to `setOf(dss)` where applicable * Introduce a convenience-member DefaultRenderer.buildContentNode to avoid wrapping DSS into set manually * Document DisplaySourceSet * Replace Iterable.sourceSetIDs with more straightforward Iterable.computeSourceSetIds(), refactor all the usages, save some allocations * Start caching CompositeSourceSetID properties to avoid excessive allocations * Update integration tests on the latest revision with Knit version where the workaround is applied Fixes #2897 --- core/src/main/kotlin/utilities/SelfRepresentingSingletonSet.kt | 2 ++ 1 file changed, 2 insertions(+) (limited to 'core/src/main/kotlin/utilities') diff --git a/core/src/main/kotlin/utilities/SelfRepresentingSingletonSet.kt b/core/src/main/kotlin/utilities/SelfRepresentingSingletonSet.kt index e1b42388..95cc9eb9 100644 --- a/core/src/main/kotlin/utilities/SelfRepresentingSingletonSet.kt +++ b/core/src/main/kotlin/utilities/SelfRepresentingSingletonSet.kt @@ -3,6 +3,8 @@ package org.jetbrains.dokka.utilities import org.jetbrains.dokka.InternalDokkaApi @InternalDokkaApi +@Suppress("DEPRECATION_ERROR") +@Deprecated(message = "SelfRepresentingSingletonSet is an incorrect set implementation that breaks set invariants", level = DeprecationLevel.ERROR) interface SelfRepresentingSingletonSet> : Set { override val size: Int get() = 1 -- cgit