diff options
| author | Marcin Aman <maman@virtuslab.com> | 2020-05-07 17:10:10 +0200 |
|---|---|---|
| committer | Paweł Marks <Kordyjan@users.noreply.github.com> | 2020-05-19 13:47:03 +0200 |
| commit | 3aeb65472be150a6098f2fac17dbdf0bb2a40013 (patch) | |
| tree | 03540fe12ce6b139fbb7658a2d57d0e97023721c /plugins/base/src/main/kotlin/translators/descriptors | |
| parent | e9d7fc75b46bb44f2c946b8cbb0636deb71e20dc (diff) | |
| download | dokka-3aeb65472be150a6098f2fac17dbdf0bb2a40013.tar.gz dokka-3aeb65472be150a6098f2fac17dbdf0bb2a40013.tar.bz2 dokka-3aeb65472be150a6098f2fac17dbdf0bb2a40013.zip | |
Missing generics on class. Add generics to annotation #834
Diffstat (limited to 'plugins/base/src/main/kotlin/translators/descriptors')
| -rw-r--r-- | plugins/base/src/main/kotlin/translators/descriptors/DefaultDescriptorToDocumentableTranslator.kt | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/plugins/base/src/main/kotlin/translators/descriptors/DefaultDescriptorToDocumentableTranslator.kt b/plugins/base/src/main/kotlin/translators/descriptors/DefaultDescriptorToDocumentableTranslator.kt index 7cc96a24..a62d9a0b 100644 --- a/plugins/base/src/main/kotlin/translators/descriptors/DefaultDescriptorToDocumentableTranslator.kt +++ b/plugins/base/src/main/kotlin/translators/descriptors/DefaultDescriptorToDocumentableTranslator.kt @@ -1,10 +1,11 @@ package org.jetbrains.dokka.base.translators.descriptors import org.jetbrains.dokka.analysis.DokkaResolutionFacade +import org.jetbrains.dokka.links.* import org.jetbrains.dokka.links.Callable -import org.jetbrains.dokka.links.DRI -import org.jetbrains.dokka.links.withClass import org.jetbrains.dokka.model.* +import org.jetbrains.dokka.model.Nullable +import org.jetbrains.dokka.model.TypeConstructor import org.jetbrains.dokka.model.doc.* import org.jetbrains.dokka.model.properties.PropertyContainer import org.jetbrains.dokka.parsers.MarkdownParser @@ -127,7 +128,7 @@ private class DokkaDescriptorVisitor( visibility = descriptor.visibility.toDokkaVisibility().toSourceSetDependent(), supertypes = info.supertypes.toSourceSetDependent(), documentation = info.docs, - generics = descriptor.typeConstructor.parameters.map { it.toTypeParameter() }, + generics = descriptor.declaredTypeParameters.map { it.toTypeParameter() }, companion = descriptor.companion(driWithPlatform), sourceSets = listOf(sourceSet), extra = PropertyContainer.withAll(descriptor.additionalExtras(), descriptor.getAnnotations()) @@ -216,6 +217,7 @@ private class DokkaDescriptorVisitor( extra = PropertyContainer.withAll(descriptor.additionalExtras(), descriptor.getAnnotations()), companion = descriptor.companionObjectDescriptor?.let { objectDescriptor(it, driWithPlatform) }, visibility = descriptor.visibility.toDokkaVisibility().toSourceSetDependent(), + generics = descriptor.declaredTypeParameters.map { it.toTypeParameter() }, constructors = descriptor.constructors.map { visitConstructorDescriptor(it, driWithPlatform) }, sources = descriptor.createSources() ) @@ -245,7 +247,7 @@ private class DokkaDescriptorVisitor( expectPresentInSet = sourceSet.takeIf { isExpect }, visibility = descriptor.visibility.toDokkaVisibility().toSourceSetDependent(), supertypes = info.supertypes.toSourceSetDependent(), - generics = descriptor.typeConstructor.parameters.map { it.toTypeParameter() }, + generics = descriptor.declaredTypeParameters.map { it.toTypeParameter() }, documentation = info.docs, modifier = descriptor.modifier().toSourceSetDependent(), companion = descriptor.companion(driWithPlatform), @@ -364,7 +366,7 @@ private class DokkaDescriptorVisitor( descriptor: ReceiverParameterDescriptor, parent: DRIWithPlatformInfo ) = DParameter( - dri = parent.dri.copy(target = 0), + dri = parent.dri.copy(target = PointingToDeclaration), name = null, type = descriptor.type.toBound(), expectPresentInSet = null, @@ -383,7 +385,7 @@ private class DokkaDescriptorVisitor( fun PropertyDescriptor.asParameter(parent: DRI) = DParameter( - parent.copy(target = 1), + parent.copy(target = PointingToCallableParameters(parameterIndex = 1)), this.name.asString(), type = this.type.toBound(), expectPresentInSet = sourceSet.takeIf { isExpect }, @@ -444,7 +446,7 @@ private class DokkaDescriptorVisitor( private fun parameter(index: Int, descriptor: ValueParameterDescriptor, parent: DRIWithPlatformInfo) = DParameter( - dri = parent.dri.copy(target = index + 1), + dri = parent.dri.copy(target = PointingToCallableParameters(index)), name = descriptor.name.asString(), type = descriptor.type.toBound(), expectPresentInSet = null, @@ -518,7 +520,10 @@ private class DokkaDescriptorVisitor( ) private fun KotlinType.toBound(): Bound = when (val ctor = constructor.declarationDescriptor) { - is TypeParameterDescriptor -> OtherParameter(ctor.name.asString()).let { + is TypeParameterDescriptor -> OtherParameter( + declarationDRI = DRI.from(ctor.containingDeclaration), + name = ctor.name.asString() + ).let { if (isMarkedNullable) Nullable(it) else it } else -> TypeConstructor( |
