diff options
author | Paweł Marks <pmarks@virtuslab.com> | 2020-08-21 16:29:39 +0200 |
---|---|---|
committer | Kamil Doległo <9080183+kamildoleglo@users.noreply.github.com> | 2020-08-21 17:51:18 +0200 |
commit | f2635289b1923866843e1dd47423bd6ca74c2cb1 (patch) | |
tree | e669d400535b390c87fa121224d0ecb9fd40b048 /plugins/base/src | |
parent | 705cbd313838db9f0c64d8f2bc7947ccbb40ed19 (diff) | |
download | dokka-f2635289b1923866843e1dd47423bd6ca74c2cb1.tar.gz dokka-f2635289b1923866843e1dd47423bd6ca74c2cb1.tar.bz2 dokka-f2635289b1923866843e1dd47423bd6ca74c2cb1.zip |
Replace SelfType with family of RecursiveTypes
Diffstat (limited to 'plugins/base/src')
-rw-r--r-- | plugins/base/src/test/kotlin/basic/DRITest.kt | 35 |
1 files changed, 32 insertions, 3 deletions
diff --git a/plugins/base/src/test/kotlin/basic/DRITest.kt b/plugins/base/src/test/kotlin/basic/DRITest.kt index 7083609a..4e805f48 100644 --- a/plugins/base/src/test/kotlin/basic/DRITest.kt +++ b/plugins/base/src/test/kotlin/basic/DRITest.kt @@ -38,7 +38,7 @@ class DRITest : AbstractCoreTest() { val expected = TypeConstructor( "kotlin.Function1", listOf( TypeParam(listOf(Nullable(TypeConstructor("kotlin.Any", emptyList())))), - Nullable(TypeParam(listOf(TypeConstructor("kotlin.Comparable", listOf(SelfType))))) + Nullable(TypeParam(listOf(TypeConstructor("kotlin.Comparable", listOf(RecursiveType(0)))))) ) ) val actual = module.packages.single() @@ -70,7 +70,7 @@ class DRITest : AbstractCoreTest() { configuration ) { documentablesMergingStage = { module -> - val expected = Nullable(TypeParam(listOf(TypeConstructor("kotlin.Comparable", listOf(SelfType))))) + val expected = Nullable(TypeParam(listOf(TypeConstructor("kotlin.Comparable", listOf(RecursiveType(0)))))) val actual = module.packages.single() .functions.single() .dri.callable?.params?.single() @@ -100,7 +100,7 @@ class DRITest : AbstractCoreTest() { configuration ) { documentablesMergingStage = { module -> - val expected = Nullable(TypeParam(listOf(TypeConstructor("kotlin.Comparable", listOf(SelfType))))) + val expected = Nullable(TypeParam(listOf(TypeConstructor("kotlin.Comparable", listOf(RecursiveType(0)))))) val actual = module.packages.single() .functions.single() .dri.callable?.receiver @@ -314,4 +314,33 @@ class DRITest : AbstractCoreTest() { } } } + + @Test + fun `deep recursive typebound #1342`() { + val configuration = dokkaConfiguration { + sourceSets { + sourceSet { + sourceRoots = listOf("src/") + } + } + } + testInline( + """ + |/src/main/kotlin/Test.kt + |package example + | + | fun <T, S, R> recursiveBound(t: T, s: S, r: R) where T: List<S>, S: List<R>, R: List<S> = Unit + | + """.trimMargin(), + configuration + ) { + documentablesMergingStage = { module -> + val function = module.dfs { it.name == "recursiveBound" } + assertEquals( + "example//recursiveBound/#TypeParam(bounds=[kotlin.collections.List[TypeParam(bounds=[kotlin.collections.List[TypeParam(bounds=[kotlin.collections.List[^^]])]])]])#TypeParam(bounds=[kotlin.collections.List[TypeParam(bounds=[kotlin.collections.List[^]])]])#TypeParam(bounds=[kotlin.collections.List[TypeParam(bounds=[kotlin.collections.List[^]])]])/PointingToDeclaration/", + function?.dri?.toString(), + ) + } + } + } } |