|
3 | 3 | import com.intellij.openapi.module.Module; |
4 | 4 | import com.intellij.openapi.module.ModuleManager; |
5 | 5 | import com.intellij.openapi.project.Project; |
6 | | -import com.intellij.psi.PsiAnnotation; |
7 | | -import com.intellij.psi.PsiAnnotationMemberValue; |
8 | | -import com.intellij.psi.PsiElement; |
9 | | -import com.intellij.psi.PsiMethod; |
| 6 | +import com.intellij.psi.*; |
10 | 7 | import com.intellij.psi.impl.java.stubs.index.JavaAnnotationIndex; |
11 | 8 | import com.intellij.psi.impl.source.PsiClassImpl; |
12 | 9 | import com.intellij.psi.impl.source.tree.java.PsiArrayInitializerMemberValueImpl; |
| 10 | +import com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl; |
13 | 11 | import com.intellij.psi.impl.source.tree.java.PsiLiteralExpressionImpl; |
14 | 12 | import com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl; |
15 | 13 | import com.intellij.psi.search.GlobalSearchScope; |
@@ -133,7 +131,13 @@ private static List<String> getPath(PsiAnnotation psiAnnotation, Mapping mapping |
133 | 131 | PsiAnnotationMemberValue[] values = ((PsiArrayInitializerMemberValueImpl) value).getInitializers(); |
134 | 132 | StringBuilder sb = new StringBuilder(); |
135 | 133 | for (PsiAnnotationMemberValue path : values) { |
136 | | - paths.add((String) ((PsiLiteralExpressionImpl) path).getValue()); |
| 134 | + if (path instanceof PsiBinaryExpressionImpl) { |
| 135 | + // todo get the PsiBinaryExpressionImpl const value |
| 136 | + // PsiReferenceExpression ? |
| 137 | + paths.add(((PsiBinaryExpressionImpl) path).getText()); |
| 138 | + } else { |
| 139 | + paths.add((String) ((PsiLiteralExpressionImpl) path).getValue()); |
| 140 | + } |
137 | 141 | } |
138 | 142 | return paths; |
139 | 143 | } |
|
0 commit comments