1
+ package org.utbot.intellij.plugin.javadoc
2
+
3
+ import com.intellij.psi.PsiElement
4
+ import com.intellij.psi.PsiMethod
5
+ import com.intellij.psi.PsiReference
6
+ import com.intellij.psi.javadoc.CustomJavadocTagProvider
7
+ import com.intellij.psi.javadoc.JavadocTagInfo
8
+ import com.intellij.psi.javadoc.PsiDocTagValue
9
+
10
+ /* *
11
+ * Provides plugin's custom JavaDoc tags to make test summaries structured.
12
+ */
13
+ class UtCustomJavaDocTagProvider : CustomJavadocTagProvider {
14
+ override fun getSupportedTags (): List <JavadocTagInfo > =
15
+ listOf (
16
+ UtCustomTag .ClassUnderTest ,
17
+ UtCustomTag .MethodUnderTest ,
18
+ UtCustomTag .ExpectedResult ,
19
+ UtCustomTag .ActualResult ,
20
+ UtCustomTag .Executes ,
21
+ UtCustomTag .Invokes ,
22
+ UtCustomTag .ReturnsFrom ,
23
+ UtCustomTag .ThrowsException ,
24
+ )
25
+
26
+ sealed class UtCustomTag (private val name : String ) : JavadocTagInfo {
27
+ override fun getName (): String = name
28
+
29
+ override fun isInline () = false
30
+
31
+ override fun checkTagValue (value : PsiDocTagValue ? ): String? = null
32
+
33
+ override fun getReference (value : PsiDocTagValue ? ): PsiReference ? = null
34
+
35
+ override fun isValidInContext (element : PsiElement ? ): Boolean {
36
+ return element is PsiMethod
37
+ }
38
+
39
+ object ClassUnderTest : UtCustomTag(" utbot.classUnderTest" )
40
+ object MethodUnderTest : UtCustomTag(" utbot.methodUnderTest" )
41
+ object ExpectedResult : UtCustomTag(" utbot.expectedResult" )
42
+ object ActualResult : UtCustomTag(" utbot.actualResult" )
43
+ object Executes : UtCustomTag(" utbot.executes" )
44
+ object Invokes : UtCustomTag(" utbot.invokes" )
45
+ object ReturnsFrom : UtCustomTag(" utbot.returnsFrom" )
46
+ object ThrowsException : UtCustomTag(" utbot.throwsException" )
47
+ }
48
+ }
0 commit comments