4
4
import org .jetbrains .annotations .NotNull ;
5
5
6
6
import com .intellij .psi .JavaResolveResult ;
7
+ import com .intellij .psi .PsiCaseLabelElementList ;
7
8
import com .intellij .psi .PsiClass ;
8
9
import com .intellij .psi .PsiElement ;
9
10
import com .intellij .psi .PsiEnumConstant ;
15
16
import com .intellij .psi .PsiMethodCallExpression ;
16
17
import com .intellij .psi .PsiModifier ;
17
18
import com .intellij .psi .PsiReferenceExpression ;
18
- import com .intellij .psi .PsiSwitchLabelStatement ;
19
+ import com .intellij .psi .PsiSwitchLabelStatementBase ;
19
20
import com .intellij .psi .util .PsiTreeUtil ;
20
21
import com .intellij .psi .util .PsiUtil ;
21
22
import com .siyeh .ig .BaseInspectionVisitor ;
@@ -113,7 +114,7 @@ private boolean isUnqualifiedStaticAccess(final PsiReferenceExpression expressio
113
114
return false ;
114
115
}
115
116
final PsiMember member = (PsiMember )element ;
116
- if (member instanceof PsiEnumConstant && expression . getParent () instanceof PsiSwitchLabelStatement )
117
+ if (this . isEnumInSwitch ( member , expression ) )
117
118
{
118
119
return false ;
119
120
}
@@ -125,5 +126,19 @@ private boolean isUnqualifiedStaticAccess(final PsiReferenceExpression expressio
125
126
}
126
127
return member .hasModifierProperty (PsiModifier .STATIC );
127
128
}
129
+
130
+ private boolean isEnumInSwitch (final PsiMember member , final PsiReferenceExpression expression )
131
+ {
132
+ if (!(member instanceof PsiEnumConstant ))
133
+ {
134
+ return false ;
135
+ }
136
+
137
+ final PsiElement parent = expression .getParent ();
138
+ return parent instanceof PsiCaseLabelElementList
139
+ || parent != null && parent .getParent () instanceof PsiSwitchLabelStatementBase
140
+ // This was the original code and might be needed for older java versions
141
+ || parent instanceof PsiSwitchLabelStatementBase ;
142
+ }
128
143
}
129
144
}
0 commit comments