From 15e95f16eccbc3667ee86fc7ed78533f84e67ddd Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Mon, 16 Feb 2015 13:40:43 +0100 Subject: exclude private members --- src/Java/JavaDocumentationBuilder.kt | 10 ++++++++-- src/main.kt | 2 +- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/Java/JavaDocumentationBuilder.kt b/src/Java/JavaDocumentationBuilder.kt index 9770fc95..0a9632bf 100644 --- a/src/Java/JavaDocumentationBuilder.kt +++ b/src/Java/JavaDocumentationBuilder.kt @@ -18,8 +18,9 @@ import com.intellij.psi.PsiTypeParameter import com.intellij.psi.javadoc.PsiDocTag import com.intellij.psi.javadoc.PsiDocTagValue import com.intellij.psi.PsiEllipsisType +import com.intellij.psi.PsiElement -public class JavaDocumentationBuilder() { +public class JavaDocumentationBuilder(private val options: DocumentationOptions) { fun appendFile(file: PsiJavaFile, module: DocumentationModule) { val packageNode = module.findOrCreatePackageNode(file.getPackageName()) packageNode.appendChildren(file.getClasses()) { build() } @@ -66,10 +67,15 @@ public class JavaDocumentationBuilder() { kind: DocumentationReference.Kind = DocumentationReference.Kind.Member, buildFn: T.() -> DocumentationNode) { elements.forEach { - append(it.buildFn(), kind) + if (!skipElement(it)) { + append(it.buildFn(), kind) + } } } + private fun skipElement(element: Any): Boolean = + !options.includeNonPublic && element is PsiModifierListOwner && element.hasModifierProperty(PsiModifier.PRIVATE) + fun DocumentationNode.appendMembers(elements: Array, buildFn: T.() -> DocumentationNode) = appendChildren(elements, DocumentationReference.Kind.Member, buildFn) diff --git a/src/main.kt b/src/main.kt index c422b9f6..63495d46 100644 --- a/src/main.kt +++ b/src/main.kt @@ -215,7 +215,7 @@ fun buildDocumentationModule(environment: AnalysisEnvironment, } val javaFiles = environment.getJavaSourceFiles().filter(filesToDocumentFilter) - val javaDocumentationBuilder = JavaDocumentationBuilder() + val javaDocumentationBuilder = JavaDocumentationBuilder(options) javaFiles.map { javaDocumentationBuilder.appendFile(it, documentationModule) } documentationModule -- cgit