aboutsummaryrefslogtreecommitdiff
path: root/core/src/main/kotlin
diff options
context:
space:
mode:
authorSimon Ogorodnik <Simon.Ogorodnik@jetbrains.com>2016-11-02 17:24:33 +0300
committerSimon Ogorodnik <Simon.Ogorodnik@jetbrains.com>2016-11-02 17:24:33 +0300
commit6c16c6197e390576f233223be2283666c566ddb9 (patch)
tree861f678cac96d39d7ba18f3d4dec98a95a8b2395 /core/src/main/kotlin
parentd1eee305ef865eee8848989363db3f0fed63e11a (diff)
parent40e81322426a925f3fe88e867a8a0e9858847835 (diff)
downloaddokka-6c16c6197e390576f233223be2283666c566ddb9.tar.gz
dokka-6c16c6197e390576f233223be2283666c566ddb9.tar.bz2
dokka-6c16c6197e390576f233223be2283666c566ddb9.zip
Merge branch '0.9.10/GH-98'
Diffstat (limited to 'core/src/main/kotlin')
-rw-r--r--core/src/main/kotlin/Java/JavaPsiDocumentationBuilder.kt12
-rw-r--r--core/src/main/kotlin/Kotlin/KotlinAsJavaDocumentationBuilder.kt9
2 files changed, 14 insertions, 7 deletions
diff --git a/core/src/main/kotlin/Java/JavaPsiDocumentationBuilder.kt b/core/src/main/kotlin/Java/JavaPsiDocumentationBuilder.kt
index e73b19b4..268315ef 100644
--- a/core/src/main/kotlin/Java/JavaPsiDocumentationBuilder.kt
+++ b/core/src/main/kotlin/Java/JavaPsiDocumentationBuilder.kt
@@ -3,9 +3,13 @@ package org.jetbrains.dokka
import com.google.inject.Inject
import com.intellij.psi.*
import com.intellij.psi.util.InheritanceUtil
+import com.intellij.psi.util.PsiTreeUtil
+import org.jetbrains.kotlin.asJava.KtLightDeclaration
import org.jetbrains.kotlin.asJava.KtLightElement
-import org.jetbrains.kotlin.lexer.KtModifierKeywordToken
+import org.jetbrains.kotlin.kdoc.parser.KDocKnownTag
+import org.jetbrains.kotlin.kdoc.psi.impl.KDocTag
import org.jetbrains.kotlin.lexer.KtTokens
+import org.jetbrains.kotlin.psi.KtDeclaration
import org.jetbrains.kotlin.psi.KtModifierListOwner
fun getSignature(element: PsiElement?) = when(element) {
@@ -277,6 +281,8 @@ class JavaPsiDocumentationBuilder : JavaDocumentationBuilder {
}
}
-fun hasSuppressDocTag(element: Any?) =
- element is PsiDocCommentOwner && element.docComment?.let { it.findTagByName("suppress") != null } ?: false
+fun hasSuppressDocTag(element: Any?): Boolean {
+ val declaration = (element as? KtLightDeclaration<*, *>)?.kotlinOrigin as? KtDeclaration ?: return false
+ return PsiTreeUtil.findChildrenOfType(declaration.docComment, KDocTag::class.java).any { it.knownTag == KDocKnownTag.SUPPRESS }
+}
diff --git a/core/src/main/kotlin/Kotlin/KotlinAsJavaDocumentationBuilder.kt b/core/src/main/kotlin/Kotlin/KotlinAsJavaDocumentationBuilder.kt
index ddfa6621..304b2bf2 100644
--- a/core/src/main/kotlin/Kotlin/KotlinAsJavaDocumentationBuilder.kt
+++ b/core/src/main/kotlin/Kotlin/KotlinAsJavaDocumentationBuilder.kt
@@ -37,10 +37,11 @@ class KotlinAsJavaDocumentationBuilder
}
}
- fun PsiClass.isVisibleInDocumentation() : Boolean {
- val origin: KtDeclaration? = (this as KtLightElement<*, *>).kotlinOrigin as? KtDeclaration
- return origin?.hasModifier(KtTokens.INTERNAL_KEYWORD) != true &&
- origin?.hasModifier(KtTokens.PRIVATE_KEYWORD) != true
+ fun PsiClass.isVisibleInDocumentation(): Boolean {
+ val origin: KtDeclaration = (this as KtLightElement<*, *>).kotlinOrigin as? KtDeclaration ?: return true
+
+ return origin.hasModifier(KtTokens.INTERNAL_KEYWORD) != true &&
+ origin.hasModifier(KtTokens.PRIVATE_KEYWORD) != true
}
}