From 11bc0b1ceef4340e7587b85b647010faf171131b Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Thu, 26 Feb 2015 20:42:59 +0100 Subject: hide visibility modifiers in summary list of members --- src/Kotlin/KotlinLanguageService.kt | 25 +++++++++++++--------- test/data/format/annotationClass.md | 2 +- test/data/format/annotations.md | 2 +- test/data/format/classWithDefaultObject.html | 2 +- test/data/format/classWithDefaultObject.md | 2 +- .../format/crossLanguage/kotlinExtendsJava.html | 2 +- test/data/format/deprecated.class.html | 2 +- test/data/format/javaLinkTag.html | 2 +- test/data/format/javaSeeTag.html | 2 +- test/data/format/javaSupertype.html | 2 +- test/data/format/typeLink.html | 2 +- test/data/format/typeParameterVariance.md | 2 +- 12 files changed, 26 insertions(+), 21 deletions(-) diff --git a/src/Kotlin/KotlinLanguageService.kt b/src/Kotlin/KotlinLanguageService.kt index 9836bbda..fd31988d 100644 --- a/src/Kotlin/KotlinLanguageService.kt +++ b/src/Kotlin/KotlinLanguageService.kt @@ -6,6 +6,8 @@ import org.jetbrains.dokka.LanguageService.RenderMode * Implements [LanguageService] and provides rendering of symbols in Kotlin language */ class KotlinLanguageService : LanguageService { + private val visibilityModifiers = setOf("public", "protected", "private") + override fun render(node: DocumentationNode, renderMode: RenderMode): ContentNode { return content { when (node.kind) { @@ -14,7 +16,7 @@ class KotlinLanguageService : LanguageService { DocumentationNode.Kind.Interface, DocumentationNode.Kind.Enum, DocumentationNode.Kind.AnnotationClass, - DocumentationNode.Kind.Object -> renderClass(node) + DocumentationNode.Kind.Object -> renderClass(node, renderMode) DocumentationNode.Kind.EnumItem, DocumentationNode.Kind.ExternalClass -> if (renderMode == RenderMode.FULL) identifier(node.name) @@ -26,9 +28,9 @@ class KotlinLanguageService : LanguageService { DocumentationNode.Kind.Modifier -> renderModifier(node) DocumentationNode.Kind.Constructor, DocumentationNode.Kind.Function, - DocumentationNode.Kind.DefaultObjectFunction -> renderFunction(node) + DocumentationNode.Kind.DefaultObjectFunction -> renderFunction(node, renderMode) DocumentationNode.Kind.Property, - DocumentationNode.Kind.DefaultObjectProperty -> renderProperty(node) + DocumentationNode.Kind.DefaultObjectProperty -> renderProperty(node, renderMode) else -> identifier(node.name) } } @@ -187,11 +189,14 @@ class KotlinLanguageService : LanguageService { } } - private fun ContentBlock.renderModifiersForNode(node: DocumentationNode) { + private fun ContentBlock.renderModifiersForNode(node: DocumentationNode, renderMode: RenderMode) { val modifiers = node.details(DocumentationNode.Kind.Modifier) for (it in modifiers) { if (node.kind == org.jetbrains.dokka.DocumentationNode.Kind.Interface && it.name == "abstract") continue + if (renderMode == RenderMode.SUMMARY && it.name in visibilityModifiers) { + continue + } renderModifier(it) } } @@ -215,8 +220,8 @@ class KotlinLanguageService : LanguageService { text(" ") } - private fun ContentBlock.renderClass(node: DocumentationNode) { - renderModifiersForNode(node) + private fun ContentBlock.renderClass(node: DocumentationNode, renderMode: RenderMode) { + renderModifiersForNode(node, renderMode) renderAnnotationsForNode(node) when (node.kind) { DocumentationNode.Kind.Class -> keyword("class ") @@ -233,8 +238,8 @@ class KotlinLanguageService : LanguageService { renderSupertypesForNode(node) } - private fun ContentBlock.renderFunction(node: DocumentationNode) { - renderModifiersForNode(node) + private fun ContentBlock.renderFunction(node: DocumentationNode, renderMode: RenderMode) { + renderModifiersForNode(node, renderMode) renderAnnotationsForNode(node) when (node.kind) { DocumentationNode.Kind.Constructor -> identifier(node.owner!!.name) @@ -268,8 +273,8 @@ class KotlinLanguageService : LanguageService { else -> true } - private fun ContentBlock.renderProperty(node: DocumentationNode) { - renderModifiersForNode(node) + private fun ContentBlock.renderProperty(node: DocumentationNode, renderMode: RenderMode) { + renderModifiersForNode(node, renderMode) renderAnnotationsForNode(node) when (node.kind) { DocumentationNode.Kind.Property, diff --git a/test/data/format/annotationClass.md b/test/data/format/annotationClass.md index 936217d2..03548aa3 100644 --- a/test/data/format/annotationClass.md +++ b/test/data/format/annotationClass.md @@ -10,5 +10,5 @@ ### Constructors -| [<init>](test/fancy/-init-) | `public fancy()` | +| [<init>](test/fancy/-init-) | `fancy()` | diff --git a/test/data/format/annotations.md b/test/data/format/annotations.md index 9e32eb24..caf84084 100644 --- a/test/data/format/annotations.md +++ b/test/data/format/annotations.md @@ -10,7 +10,7 @@ ### Constructors -| [<init>](test/-foo/-init-) | `public Foo()` | +| [<init>](test/-foo/-init-) | `Foo()` | ### Properties diff --git a/test/data/format/classWithDefaultObject.html b/test/data/format/classWithDefaultObject.html index ca6f2305..663d8f64 100644 --- a/test/data/format/classWithDefaultObject.html +++ b/test/data/format/classWithDefaultObject.html @@ -16,7 +16,7 @@ <init> -public Klass() +Klass() diff --git a/test/data/format/classWithDefaultObject.md b/test/data/format/classWithDefaultObject.md index d9f6a8fe..645f4755 100644 --- a/test/data/format/classWithDefaultObject.md +++ b/test/data/format/classWithDefaultObject.md @@ -10,7 +10,7 @@ ### Constructors -| [<init>](test/-klass/-init-) | `public Klass()` | +| [<init>](test/-klass/-init-) | `Klass()` | ### Default Object Properties diff --git a/test/data/format/crossLanguage/kotlinExtendsJava.html b/test/data/format/crossLanguage/kotlinExtendsJava.html index 035b66b0..5b93d837 100644 --- a/test/data/format/crossLanguage/kotlinExtendsJava.html +++ b/test/data/format/crossLanguage/kotlinExtendsJava.html @@ -17,7 +17,7 @@ <init> -public Bar()

See xyzzy

+Bar()

See xyzzy

diff --git a/test/data/format/deprecated.class.html b/test/data/format/deprecated.class.html index 600b362f..69da63a1 100644 --- a/test/data/format/deprecated.class.html +++ b/test/data/format/deprecated.class.html @@ -33,7 +33,7 @@ <init> -public C() +C() diff --git a/test/data/format/javaLinkTag.html b/test/data/format/javaLinkTag.html index e5d5b01d..d6ced4ce 100644 --- a/test/data/format/javaLinkTag.html +++ b/test/data/format/javaLinkTag.html @@ -18,7 +18,7 @@ bar -public open fun bar(): Unit +open fun bar(): Unit diff --git a/test/data/format/javaSeeTag.html b/test/data/format/javaSeeTag.html index c1ebb740..cf7b7941 100644 --- a/test/data/format/javaSeeTag.html +++ b/test/data/format/javaSeeTag.html @@ -19,7 +19,7 @@ bar -public open fun bar(): Unit +open fun bar(): Unit diff --git a/test/data/format/javaSupertype.html b/test/data/format/javaSupertype.html index 92a53a44..3a93da0a 100644 --- a/test/data/format/javaSupertype.html +++ b/test/data/format/javaSupertype.html @@ -16,7 +16,7 @@ returnFoo -public open fun returnFoo(foo: Foo): Foo +open fun returnFoo(foo: Foo): Foo diff --git a/test/data/format/typeLink.html b/test/data/format/typeLink.html index 9df615c8..ff99090a 100644 --- a/test/data/format/typeLink.html +++ b/test/data/format/typeLink.html @@ -16,7 +16,7 @@ <init> -public Bar() +Bar() diff --git a/test/data/format/typeParameterVariance.md b/test/data/format/typeParameterVariance.md index a46929ce..9ba871a8 100644 --- a/test/data/format/typeParameterVariance.md +++ b/test/data/format/typeParameterVariance.md @@ -10,5 +10,5 @@ ### Constructors -| [<init>](test/-foo/-init-) | `public Foo()` | +| [<init>](test/-foo/-init-) | `Foo()` | -- cgit