aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKamil Doległo <kamilok1965@interia.pl>2020-03-16 14:25:49 +0100
committerKamil Doległo <kamilok1965@interia.pl>2020-03-16 14:25:49 +0100
commitcd38992a28a8b16cd91661f05829610d1373e47c (patch)
treeaa2cd1357739f2dc350729a1c386e070525723f0
parente5a5f152c3ba9ee3d533ca35e62e45ac2e69ffe1 (diff)
downloaddokka-cd38992a28a8b16cd91661f05829610d1373e47c.tar.gz
dokka-cd38992a28a8b16cd91661f05829610d1373e47c.tar.bz2
dokka-cd38992a28a8b16cd91661f05829610d1373e47c.zip
Fix Java signature generation
-rw-r--r--plugins/kotlin-as-java/src/main/kotlin/signatures/JavaSignatureProvider.kt7
1 files changed, 6 insertions, 1 deletions
diff --git a/plugins/kotlin-as-java/src/main/kotlin/signatures/JavaSignatureProvider.kt b/plugins/kotlin-as-java/src/main/kotlin/signatures/JavaSignatureProvider.kt
index 284d6ab9..55dd7a97 100644
--- a/plugins/kotlin-as-java/src/main/kotlin/signatures/JavaSignatureProvider.kt
+++ b/plugins/kotlin-as-java/src/main/kotlin/signatures/JavaSignatureProvider.kt
@@ -23,6 +23,7 @@ class JavaSignatureProvider(ctcc: CommentsToContentConverter, logger: DokkaLogge
override fun signature(documentable: Documentable): ContentNode = when (documentable) {
is Function -> signature(documentable)
+ is Property -> signature(documentable)
is Classlike -> signature(documentable)
is TypeParameter -> signature(documentable)
else -> throw NotImplementedError(
@@ -44,7 +45,7 @@ class JavaSignatureProvider(ctcc: CommentsToContentConverter, logger: DokkaLogge
is Object -> text("class ")
is Annotation -> text("@interface ")
}
- text(c.name!!)
+ link(c.name!!, c.dri)
if (c is WithGenerics) {
list(c.generics, prefix = "<", suffix = ">") {
+buildSignature(it)
@@ -59,6 +60,10 @@ class JavaSignatureProvider(ctcc: CommentsToContentConverter, logger: DokkaLogge
}
}
+ private fun signature(p: Property) = contentBuilder.contentFor(p, ContentKind.Symbol, setOf(TextStyle.Monospace)) {
+ signatureForProjection(p.type)
+ }
+
private fun signature(f: Function) = contentBuilder.contentFor(f, ContentKind.Symbol, setOf(TextStyle.Monospace)) {
text(f.modifier.takeIf { it !in ignoredModifiers }?.name.orEmpty() + " ")
val returnType = f.type