From ce29c52ff50c592b724bb1ef1b06d3625679ebfa Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Fri, 13 Feb 2015 17:55:18 +0100 Subject: handle Java constructors nicely --- src/Java/JavaDocumentationBuilder.kt | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) (limited to 'src/Java') diff --git a/src/Java/JavaDocumentationBuilder.kt b/src/Java/JavaDocumentationBuilder.kt index 879c0b2c..fdf5c665 100644 --- a/src/Java/JavaDocumentationBuilder.kt +++ b/src/Java/JavaDocumentationBuilder.kt @@ -32,9 +32,11 @@ public class JavaDocumentationBuilder() { return result } - fun DocumentationNode(element: PsiNamedElement, kind: Kind): DocumentationNode { + fun DocumentationNode(element: PsiNamedElement, + kind: Kind, + name: String = element.getName() ?: ""): DocumentationNode { val docComment = if (element is PsiDocCommentOwner) parseDocumentation(element.getDocComment()) else Content.Empty - val node = DocumentationNode(element.getName() ?: "", docComment, kind) + val node = DocumentationNode(name, docComment, kind) if (element is PsiModifierListOwner) { node.appendModifiers(element) } @@ -71,8 +73,13 @@ public class JavaDocumentationBuilder() { } fun PsiMethod.build(): DocumentationNode { - val node = DocumentationNode(this, Kind.Function) - node.appendType(getReturnType()) + val node = DocumentationNode(this, + if (isConstructor()) Kind.Constructor else Kind.Function, + if (isConstructor()) "" else getName()) + + if (!isConstructor()) { + node.appendType(getReturnType()) + } node.appendDetails(getParameterList().getParameters()) { build() } node.appendDetails(getTypeParameters()) { build() } return node -- cgit