@@ -5,6 +5,7 @@ import com.intellij.codeInsight.javadoc.JavaDocInfoGenerator
5
5
import com.intellij.lang.java.JavaDocumentationProvider
6
6
import com.intellij.psi.PsiDocCommentBase
7
7
import com.intellij.psi.PsiJavaDocumentedElement
8
+ import com.intellij.psi.javadoc.PsiDocComment
8
9
9
10
/* *
10
11
* To render UtBot custom JavaDoc tags messages, we need to override basic behaviour of [JavaDocumentationProvider].
@@ -25,12 +26,27 @@ class UtDocumentationProvider : JavaDocumentationProvider() {
25
26
// get JavaDoc comment rendered by the platform.
26
27
val baseJavaDocInfo = baseJavaDocInfoGenerator.generateRenderedDocInfo()
27
28
29
+ return getRenderedDoc(baseJavaDocInfo, docComment, comment)
30
+ }
31
+
32
+ /* *
33
+ * Processes JavaDoc generated by IJ platform to render plugin's custom tags correctly.
34
+ */
35
+ private fun getRenderedDoc (
36
+ baseJavaDocInfo : String? ,
37
+ docComment : PsiDocComment ,
38
+ comment : PsiDocCommentBase
39
+ ): String? {
28
40
// add UTBot sections with custom tags.
29
41
val utJavaDocInfoGenerator = UtJavaDocInfoGenerator ()
30
- val javaDocInfoWithUtSections =
31
- utJavaDocInfoGenerator.addUtBotSpecificSectionsToJavaDoc(baseJavaDocInfo, docComment)
32
-
33
- return JavaDocExternalFilter .filterInternalDocInfo(javaDocInfoWithUtSections)
42
+ return if (baseJavaDocInfo != null && baseJavaDocInfo.contains(" utbot" )) {
43
+ val javaDocInfoWithUtSections =
44
+ utJavaDocInfoGenerator.addUtBotSpecificSectionsToJavaDoc(docComment)
45
+ val finalJavaDoc = replaceTagNamesWithMessages(javaDocInfoWithUtSections)
46
+ JavaDocExternalFilter .filterInternalDocInfo(finalJavaDoc)
47
+ } else {
48
+ super .generateRenderedDoc(comment)
49
+ }
34
50
}
35
51
36
52
/* *
0 commit comments