@@ -6,7 +6,9 @@ import com.intellij.openapi.application.ApplicationManager
6
6
import com.intellij.openapi.application.ReadAction
7
7
import com.intellij.openapi.editor.markup.GutterIconRenderer.Alignment.RIGHT
8
8
import com.intellij.openapi.util.IconLoader
9
+ import com.intellij.psi.PsiClass
9
10
import com.intellij.psi.PsiElement
11
+ import com.intellij.psi.PsiEnumConstant
10
12
import com.intellij.psi.impl.source.PsiClassReferenceType
11
13
import com.intellij.ui.awt.RelativePoint
12
14
import com.intellij.usageView.UsageInfo
@@ -75,9 +77,17 @@ private class SubscribeLineMarkerInfo(
75
77
val elementToSearch =
76
78
(uElement.uastParameters[0].type as PsiClassReferenceType ).reference.resolve()
77
79
if (elementToSearch != null) {
78
- usages = search(elementToSearch)
79
- .filter(UsageInfo ::isPost)
80
- .map(::UsageInfo2UsageAdapter )
80
+ val psiClassElement = elementToSearch.toUElement()
81
+ usages = if ((psiClassElement as? PsiClass )?.isEnum == true) {
82
+ val elementsToSearch = psiClassElement.allFields.filterIsInstance<PsiEnumConstant >()
83
+ search(elementsToSearch)
84
+ .filter(UsageInfo ::isPost)
85
+ .map(::UsageInfo2UsageAdapter )
86
+ } else {
87
+ search(elementToSearch)
88
+ .filter(UsageInfo ::isPost)
89
+ .map(::UsageInfo2UsageAdapter )
90
+ }
81
91
}
82
92
}
83
93
ApplicationManager .getApplication().invokeLater {
0 commit comments