try to check annotation target applicability without resolve (IDEA-155612)

This commit is contained in:
peter
2016-05-30 21:55:01 +02:00
parent 56f0525c8a
commit f0edfe6027

View File

@@ -135,6 +135,17 @@ public class AnnotationTargetUtil {
@Nullable
private static TargetType translateTargetRef(@NotNull PsiReference reference) {
if (reference instanceof PsiJavaCodeReferenceElement) {
String name = ((PsiJavaCodeReferenceElement)reference).getReferenceName();
if (name != null) {
try {
return TargetType.valueOf(name);
}
catch (IllegalArgumentException ignore) {
}
}
}
PsiElement field = reference.resolve();
if (field instanceof PsiEnumConstant) {
String name = ((PsiEnumConstant)field).getName();