From 70000c87a37caa2a6b518a555f53c98514434403 Mon Sep 17 00:00:00 2001 From: Marcin Aman Date: Fri, 5 Feb 2021 14:55:45 +0100 Subject: Annotations for parameters (#1710) * Annotations for parameters * Annotations for parameters --- .../KotlinAnnotationsForParametersTest.kt | 23 ++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'plugins/base/src/test/kotlin/model/annotations/KotlinAnnotationsForParametersTest.kt') diff --git a/plugins/base/src/test/kotlin/model/annotations/KotlinAnnotationsForParametersTest.kt b/plugins/base/src/test/kotlin/model/annotations/KotlinAnnotationsForParametersTest.kt index 4cc34c09..e88d7353 100644 --- a/plugins/base/src/test/kotlin/model/annotations/KotlinAnnotationsForParametersTest.kt +++ b/plugins/base/src/test/kotlin/model/annotations/KotlinAnnotationsForParametersTest.kt @@ -3,6 +3,8 @@ package model.annotations import org.jetbrains.dokka.links.DRI import org.jetbrains.dokka.model.Annotations import org.jetbrains.dokka.model.DFunction +import org.jetbrains.dokka.model.DProperty +import org.jetbrains.dokka.model.GenericTypeConstructor import org.junit.jupiter.api.Test import utils.AbstractModelTest import kotlin.test.assertEquals @@ -27,4 +29,25 @@ class KotlinAnnotationsForParametersTest : AbstractModelTest("/src/main/kotlin/a } } } + + @Test + fun `generic receiver with annotated bounds`() { + inlineModelTest( + """ + |@Target(AnnotationTarget.TYPE_PARAMETER) + |annotation class Hello(val bar: String) + |fun foo(arg: String): List = TODO() + """.trimIndent() + ) { + with((this / "annotations" / "foo").cast()) { + val annotations = (generics.first().bounds.first() as GenericTypeConstructor) + .extra[Annotations]?.directAnnotations?.flatMap { it.value } + val driOfHello = DRI("annotations", "Hello") + val annotationsValues = annotations?.flatMap { it.params.values }?.map { it.toString() }?.toList() + + assertEquals(listOf(driOfHello), annotations?.map { it.dri }) + assertEquals(listOf("abc"), annotationsValues) + } + } + } } \ No newline at end of file -- cgit