diff options
author | ebraminio <ebraminio@gmail.com> | 2022-05-16 18:45:40 +0430 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-05-16 17:15:40 +0300 |
commit | 658146291e2bbf3461a2c86f8e8e23cff6b211f6 (patch) | |
tree | 053cbef26286d3ac0247eca2e1dd1de97f801c79 | |
parent | c532003c71cc551ce0df797a8d6207c0edb8eaab (diff) | |
download | dokka-658146291e2bbf3461a2c86f8e8e23cff6b211f6.tar.gz dokka-658146291e2bbf3461a2c86f8e8e23cff6b211f6.tar.bz2 dokka-658146291e2bbf3461a2c86f8e8e23cff6b211f6.zip |
Don't expose enum constructor arguments to documentations (#2497)
* Don't expose enum constructor arguments to documentation
Enum constructor arguments is mostly internal detail of enums that
isn't supposed to be exposed to clients of some library so let's
don't put it in the generated documentations result.
6 files changed, 3 insertions, 93 deletions
diff --git a/core/api/core.api b/core/api/core.api index 28f55df6..2a35b178 100644 --- a/core/api/core.api +++ b/core/api/core.api @@ -858,24 +858,6 @@ public final class org/jetbrains/dokka/model/CompositeSourceSetIDKt { public static final fun plus (Lorg/jetbrains/dokka/DokkaSourceSetID;Lorg/jetbrains/dokka/DokkaSourceSetID;)Lorg/jetbrains/dokka/model/CompositeSourceSetID; } -public final class org/jetbrains/dokka/model/ConstructorValues : org/jetbrains/dokka/model/properties/ExtraProperty { - public static final field Companion Lorg/jetbrains/dokka/model/ConstructorValues$Companion; - public fun <init> (Ljava/util/Map;)V - public final fun component1 ()Ljava/util/Map; - public final fun copy (Ljava/util/Map;)Lorg/jetbrains/dokka/model/ConstructorValues; - public static synthetic fun copy$default (Lorg/jetbrains/dokka/model/ConstructorValues;Ljava/util/Map;ILjava/lang/Object;)Lorg/jetbrains/dokka/model/ConstructorValues; - public fun equals (Ljava/lang/Object;)Z - public fun getKey ()Lorg/jetbrains/dokka/model/properties/ExtraProperty$Key; - public final fun getValues ()Ljava/util/Map; - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class org/jetbrains/dokka/model/ConstructorValues$Companion : org/jetbrains/dokka/model/properties/ExtraProperty$Key { - public synthetic fun mergeStrategyFor (Ljava/lang/Object;Ljava/lang/Object;)Lorg/jetbrains/dokka/model/properties/MergeStrategy; - public fun mergeStrategyFor (Lorg/jetbrains/dokka/model/ConstructorValues;Lorg/jetbrains/dokka/model/ConstructorValues;)Lorg/jetbrains/dokka/model/properties/MergeStrategy$Replace; -} - public final class org/jetbrains/dokka/model/Contravariance : org/jetbrains/dokka/model/Variance { public fun <init> (Lorg/jetbrains/dokka/model/Bound;)V public final fun component1 ()Lorg/jetbrains/dokka/model/Bound; diff --git a/core/src/main/kotlin/model/additionalExtras.kt b/core/src/main/kotlin/model/additionalExtras.kt index d708d137..9b98448e 100644 --- a/core/src/main/kotlin/model/additionalExtras.kt +++ b/core/src/main/kotlin/model/additionalExtras.kt @@ -115,12 +115,3 @@ data class ActualTypealias(val underlyingType: SourceSetDependent<Bound>) : Extr override val key: ExtraProperty.Key<DClasslike, ActualTypealias> = ActualTypealias } - -data class ConstructorValues(val values: SourceSetDependent<List<Expression>>) : ExtraProperty<DEnumEntry> { - companion object : ExtraProperty.Key<DEnumEntry, ConstructorValues> { - override fun mergeStrategyFor(left: ConstructorValues, right: ConstructorValues) = - MergeStrategy.Replace(ConstructorValues(left.values + right.values)) - } - - override val key: ExtraProperty.Key<DEnumEntry, ConstructorValues> = ConstructorValues -} diff --git a/plugins/base/src/main/kotlin/signatures/KotlinSignatureProvider.kt b/plugins/base/src/main/kotlin/signatures/KotlinSignatureProvider.kt index 642c01c3..294c1d24 100644 --- a/plugins/base/src/main/kotlin/signatures/KotlinSignatureProvider.kt +++ b/plugins/base/src/main/kotlin/signatures/KotlinSignatureProvider.kt @@ -78,17 +78,6 @@ class KotlinSignatureProvider(ctcc: CommentsToContentConverter, logger: DokkaLog group(styles = setOf(TextStyle.Block)) { annotationsBlock(e) link(e.name, e.dri, styles = emptySet()) - e.extra[ConstructorValues]?.let { constructorValues -> - constructorValues.values[it]?.let { values -> - list( - elements = values, - prefix = "(", - suffix = ")", - separator = ", ", - separatorStyles = mainStyles + TokenStyle.Punctuation, - ) { highlightValue(it) } - } - } } } } diff --git a/plugins/base/src/main/kotlin/translators/descriptors/DefaultDescriptorToDocumentableTranslator.kt b/plugins/base/src/main/kotlin/translators/descriptors/DefaultDescriptorToDocumentableTranslator.kt index 85ec1d07..fa0a5b48 100644 --- a/plugins/base/src/main/kotlin/translators/descriptors/DefaultDescriptorToDocumentableTranslator.kt +++ b/plugins/base/src/main/kotlin/translators/descriptors/DefaultDescriptorToDocumentableTranslator.kt @@ -321,8 +321,7 @@ private class DokkaDescriptorVisitor( expectPresentInSet = sourceSet.takeIf { isExpect }, extra = PropertyContainer.withAll( descriptor.additionalExtras().toSourceSetDependent().toAdditionalModifiers(), - descriptor.getAnnotations().toSourceSetDependent().toAnnotations(), - ConstructorValues(descriptor.getAppliedConstructorParameters().toSourceSetDependent()) + descriptor.getAnnotations().toSourceSetDependent().toAnnotations() ) ) } diff --git a/plugins/base/src/test/kotlin/enums/EnumsTest.kt b/plugins/base/src/test/kotlin/enums/EnumsTest.kt index ee4de696..8cb9f654 100644 --- a/plugins/base/src/test/kotlin/enums/EnumsTest.kt +++ b/plugins/base/src/test/kotlin/enums/EnumsTest.kt @@ -277,52 +277,6 @@ class EnumsTest : BaseAbstractTest() { } @Test - fun enumWithConstructor() { - val configuration = dokkaConfiguration { - sourceSets { - sourceSet { - sourceRoots = listOf("src/") - } - } - } - - testInline( - """ - |/src/main/kotlin/basic/TestEnum.kt - |package testpackage - | - | - |enum class TestEnum(name: String, index: Int, excluded: Boolean) { - | E1("e1", 1, true), - | E2("e2", 2, false); - |} - """.trimMargin(), - configuration - ) { - documentablesTransformationStage = { m -> - m.packages.let { p -> - p.first().classlikes.let { c -> - val enum = c.first() as DEnum - val (first, second) = enum.entries.sortedBy { it.name } - - assertEquals(1, first.extra.allOfType<ConstructorValues>().size) - assertEquals(1, second.extra.allOfType<ConstructorValues>().size) - assertEquals(listOf(StringConstant("e1"), IntegerConstant(1), BooleanConstant(true)), first.extra.allOfType<ConstructorValues>().first().values.values.first()) - assertEquals(listOf(StringConstant("e2"), IntegerConstant(2), BooleanConstant(false)), second.extra.allOfType<ConstructorValues>().first().values.values.first()) - } - } - } - pagesGenerationStage = { module -> - val entryPage = module.dfs { it.name == "E1" } as ClasslikePageNode - val signaturePart = (entryPage.content.dfs { - it is ContentGroup && it.dci.toString() == "[testpackage/TestEnum.E1///PointingToDeclaration/{\"org.jetbrains.dokka.links.EnumEntryDRIExtra\":{\"key\":\"org.jetbrains.dokka.links.EnumEntryDRIExtra\"}}][Symbol]" - } as ContentGroup) - assertEquals("(\"e1\", 1, true)", signaturePart.constructorSignature()) - } - } - } - - @Test fun enumWithMethods() { val configuration = dokkaConfiguration { sourceSets { @@ -356,8 +310,6 @@ class EnumsTest : BaseAbstractTest() { val enum = c.first { it is DEnum } as DEnum val first = enum.entries.first() - assertEquals(1, first.extra.allOfType<ConstructorValues>().size) - assertEquals(emptyList<String>(), first.extra.allOfType<ConstructorValues>().first().values.values.first()) assertNotNull(first.functions.find { it.name == "toBeImplemented" }) } } @@ -414,7 +366,4 @@ class EnumsTest : BaseAbstractTest() { } } } - - private fun ContentGroup.constructorSignature(): String = - (children.single() as ContentGroup).children.drop(1).joinToString(separator = "") { (it as ContentText).text } } diff --git a/plugins/base/src/test/kotlin/signatures/SignatureTest.kt b/plugins/base/src/test/kotlin/signatures/SignatureTest.kt index 3895eede..2d17b7f8 100644 --- a/plugins/base/src/test/kotlin/signatures/SignatureTest.kt +++ b/plugins/base/src/test/kotlin/signatures/SignatureTest.kt @@ -876,7 +876,7 @@ class SignatureTest : BaseAbstractTest() { } @Test - fun `should have no empty parentheses for no-arg enum entry`() { + fun `should not expose enum constructor entry arguments`() { val writerPlugin = TestOutputWriterPlugin() testInline( @@ -905,7 +905,7 @@ class SignatureTest : BaseAbstractTest() { ) enumEntrySignatures[1].match( - A("WITH_ARG"), "(\"arg\")", + A("WITH_ARG"), ignoreSpanWithTokenStyle = true ) } |