aboutsummaryrefslogtreecommitdiff
path: root/core/src/main/kotlin/Languages
diff options
context:
space:
mode:
authorSimon Ogorodnik <Simon.Ogorodnik@jetbrains.com>2018-05-26 00:19:54 +0300
committerSimon Ogorodnik <Simon.Ogorodnik@jetbrains.com>2018-07-14 23:57:12 +0300
commitf5746c40cbb44204edd137b3183ef0d04958047b (patch)
tree57e1876aa573d09215cc34959961c691179ab248 /core/src/main/kotlin/Languages
parent633fda36403e8c5483054737d285dd01b5c190bb (diff)
downloaddokka-f5746c40cbb44204edd137b3183ef0d04958047b.tar.gz
dokka-f5746c40cbb44204edd137b3183ef0d04958047b.tar.bz2
dokka-f5746c40cbb44204edd137b3183ef0d04958047b.zip
KT-24624: Partial, more detailed signature on class page
Diffstat (limited to 'core/src/main/kotlin/Languages')
-rw-r--r--core/src/main/kotlin/Languages/CommonLanguageService.kt18
-rw-r--r--core/src/main/kotlin/Languages/NewJavaLanguageService.kt9
2 files changed, 25 insertions, 2 deletions
diff --git a/core/src/main/kotlin/Languages/CommonLanguageService.kt b/core/src/main/kotlin/Languages/CommonLanguageService.kt
index edefa1b5..ddc95d32 100644
--- a/core/src/main/kotlin/Languages/CommonLanguageService.kt
+++ b/core/src/main/kotlin/Languages/CommonLanguageService.kt
@@ -62,5 +62,23 @@ abstract class CommonLanguageService : LanguageService {
}
}
+ abstract fun showModifierInSummary(node: DocumentationNode): Boolean
+
+ protected fun ContentBlock.renderModifiersForNode(
+ node: DocumentationNode,
+ renderMode: LanguageService.RenderMode,
+ nowrap: Boolean = false
+ ) {
+ val modifiers = node.details(NodeKind.Modifier)
+ for (it in modifiers) {
+ if (node.kind == NodeKind.Interface && it.name == "abstract")
+ continue
+ if (renderMode == LanguageService.RenderMode.SUMMARY && !showModifierInSummary(it)) {
+ continue
+ }
+ renderModifier(this, it, renderMode, nowrap)
+ }
+ }
+
} \ No newline at end of file
diff --git a/core/src/main/kotlin/Languages/NewJavaLanguageService.kt b/core/src/main/kotlin/Languages/NewJavaLanguageService.kt
index 0266c033..fa9f70fd 100644
--- a/core/src/main/kotlin/Languages/NewJavaLanguageService.kt
+++ b/core/src/main/kotlin/Languages/NewJavaLanguageService.kt
@@ -6,11 +6,15 @@ import org.jetbrains.dokka.LanguageService.RenderMode
* Implements [LanguageService] and provides rendering of symbols in Java language
*/
class NewJavaLanguageService : CommonLanguageService() {
+ override fun showModifierInSummary(node: DocumentationNode): Boolean {
+ return true
+ }
+
override fun render(node: DocumentationNode, renderMode: RenderMode): ContentNode {
return content {
(when (node.kind) {
NodeKind.Package -> renderPackage(node)
- in NodeKind.classLike -> renderClass(node)
+ in NodeKind.classLike -> renderClass(node, renderMode)
NodeKind.Modifier -> renderModifier(this, node, renderMode)
NodeKind.TypeParameter -> renderTypeParameter(node)
@@ -131,7 +135,8 @@ class NewJavaLanguageService : CommonLanguageService() {
text(" ")
}
- private fun ContentBlock.renderClass(node: DocumentationNode) {
+ private fun ContentBlock.renderClass(node: DocumentationNode, renderMode: RenderMode) {
+ renderModifiersForNode(node, renderMode)
renderClassKind(node)
identifier(node.name)