aboutsummaryrefslogtreecommitdiff
path: root/plugins/base/src/main/kotlin/signatures
diff options
context:
space:
mode:
authorFilip Zybała <fzybala@virtuslab.com>2020-03-13 14:56:38 +0100
committerPaweł Marks <Kordyjan@users.noreply.github.com>2020-03-25 13:19:31 +0100
commit9110dbc70e42d10c56d1e080fdaeecd1ea13d84f (patch)
tree0ca30e4d8875c50560048ea1136d9aafc44837f8 /plugins/base/src/main/kotlin/signatures
parent3f8fef0f65fe96fb2a3b1dc2280a16b175fbb6c9 (diff)
downloaddokka-9110dbc70e42d10c56d1e080fdaeecd1ea13d84f.tar.gz
dokka-9110dbc70e42d10c56d1e080fdaeecd1ea13d84f.tar.bz2
dokka-9110dbc70e42d10c56d1e080fdaeecd1ea13d84f.zip
Fixed data class rendering. Added information about primary constructor and changed its rendering.
Diffstat (limited to 'plugins/base/src/main/kotlin/signatures')
-rw-r--r--plugins/base/src/main/kotlin/signatures/KotlinSignatureProvider.kt17
1 files changed, 16 insertions, 1 deletions
diff --git a/plugins/base/src/main/kotlin/signatures/KotlinSignatureProvider.kt b/plugins/base/src/main/kotlin/signatures/KotlinSignatureProvider.kt
index 6eeedb88..31cd0eca 100644
--- a/plugins/base/src/main/kotlin/signatures/KotlinSignatureProvider.kt
+++ b/plugins/base/src/main/kotlin/signatures/KotlinSignatureProvider.kt
@@ -33,7 +33,11 @@ class KotlinSignatureProvider(ctcc: CommentsToContentConverter, logger: DokkaLog
private fun signature(c: DClasslike) = contentBuilder.contentFor(c, ContentKind.Symbol, setOf(TextStyle.Monospace)) {
platformText(c.visibility) { (it.takeIf { it !in ignoredVisibilities }?.name ?: "") + " " }
if (c is DClass) {
- text(c.modifier.name + " ")
+ if (c.extra[AdditionalModifiers.AdditionalKey]?.content?.contains(ExtraModifiers.DATA) == true) {
+ text("data ")
+ } else {
+ text(c.modifier.name + " ")
+ }
}
when (c) {
is DClass -> text("class ")
@@ -43,6 +47,17 @@ class KotlinSignatureProvider(ctcc: CommentsToContentConverter, logger: DokkaLog
is DAnnotation -> text("annotation class ")
}
link(c.name!!, c.dri)
+ if(c is Class){
+ val pConstructor = c.constructors.singleOrNull() { it.extra[PrimaryConstructorExtra.PrimaryConstructorExtraKey] != null }
+ if(pConstructor != null) {
+ list(pConstructor.parameters, "(", ")", ",", pConstructor.platformData.toSet()){
+ breakLine()
+ text(it.name ?: "", styles = mainStyles.plus(TextStyle.Bold))
+ text(": ")
+ signatureForProjection(it.type)
+ }
+ }
+ }
if (c is WithSupertypes) {
c.supertypes.map { (p, dris) ->
list(dris, prefix = " : ", platformData = setOf(p)) {