@@ -5,6 +5,7 @@ import com.intellij.codeInsight.javadoc.JavaDocInfoGenerator
55import com.intellij.lang.java.JavaDocumentationProvider
66import com.intellij.psi.PsiDocCommentBase
77import com.intellij.psi.PsiJavaDocumentedElement
8+ import com.intellij.psi.javadoc.PsiDocComment
89
910/* *
1011 * To render UtBot custom JavaDoc tags messages, we need to override basic behaviour of [JavaDocumentationProvider].
@@ -25,12 +26,27 @@ class UtDocumentationProvider : JavaDocumentationProvider() {
2526 // get JavaDoc comment rendered by the platform.
2627 val baseJavaDocInfo = baseJavaDocInfoGenerator.generateRenderedDocInfo()
2728
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? {
2840 // add UTBot sections with custom tags.
2941 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+ }
3450 }
3551
3652 /* *
0 commit comments