Common class name constants organized

This commit is contained in:
Roman Shevchenko
2013-04-02 20:05:14 +02:00
parent 25bd2fd927
commit e26267e300
3 changed files with 23 additions and 15 deletions
@@ -458,9 +458,11 @@ public class AnnotationsHighlightUtil {
public static HighlightInfo checkTargetAnnotationDuplicates(PsiAnnotation annotation) {
PsiJavaCodeReferenceElement nameRef = annotation.getNameReferenceElement();
if (nameRef == null) return null;
PsiElement resolved = nameRef.resolve();
if (!(resolved instanceof PsiClass) ||
!CommonClassNames.TARGET_ANNOTATION_FQ_NAME.equals(((PsiClass) resolved).getQualifiedName())) return null;
if (!(resolved instanceof PsiClass) || !CommonClassNames.JAVA_LANG_ANNOTATION_TARGET.equals(((PsiClass)resolved).getQualifiedName())) {
return null;
}
PsiNameValuePair[] attributes = annotation.getParameterList().getAttributes();
if (attributes.length < 1) return null;
@@ -483,6 +485,7 @@ public class AnnotationsHighlightUtil {
return null;
}
@Nullable
public static HighlightInfo checkFunctionalInterface(PsiAnnotation annotation) {
final String errorMessage = LambdaUtil.checkFunctionalInterface(annotation);
if (errorMessage != null) {
@@ -376,7 +376,7 @@ public class PsiImplUtil {
if (!annotationType.isAnnotationType()) return null;
PsiModifierList modifierList = annotationType.getModifierList();
if (modifierList == null) return null;
PsiAnnotation target = modifierList.findAnnotation(CommonClassNames.TARGET_ANNOTATION_FQ_NAME);
PsiAnnotation target = modifierList.findAnnotation(CommonClassNames.JAVA_LANG_ANNOTATION_TARGET);
if (target == null) return DEFAULT_TARGETS; // if omitted it is applicable to all but Java 8 TYPE_USE/TYPE_PARAMETERS targets
PsiAnnotationMemberValue value = target.findAttributeValue(null);
@@ -33,14 +33,18 @@ public interface CommonClassNames {
@NonNls String JAVA_LANG_THROWABLE = "java.lang.Throwable";
@NonNls String JAVA_LANG_EXCEPTION = "java.lang.Exception";
@NonNls String JAVA_LANG_ERROR = "java.lang.Error";
@NonNls String JAVA_LANG_ASSERTION_ERROR = "java.lang.AssertionError";
@NonNls String JAVA_LANG_RUNTIME_EXCEPTION = "java.lang.RuntimeException";
@NonNls String JAVA_LANG_AUTO_CLOSEABLE = "java.lang.AutoCloseable";
@NonNls String JAVA_LANG_ITERABLE = "java.lang.Iterable";
@NonNls String JAVA_UTIL_ITERATOR = "java.util.Iterator";
@NonNls String JAVA_LANG_RUNNABLE = "java.lang.Runnable";
@NonNls String JAVA_LANG_DEPRECATED = "java.lang.Deprecated";
@NonNls String JAVA_LANG_ANNOTATION_TARGET = "java.lang.annotation.Target";
@NonNls String JAVA_LANG_ANNOTATION_INHERITED = "java.lang.annotation.Inherited";
@NonNls String JAVA_LANG_ANNOTATION_ANNOTATION = "java.lang.annotation.Annotation";
@@ -50,7 +54,10 @@ public interface CommonClassNames {
@NonNls String JAVA_UTIL_COLLECTIONS = "java.util.Collections";
@NonNls String JAVA_UTIL_COLLECTION = "java.util.Collection";
@NonNls String JAVA_UTIL_MAP = "java.util.Map";
@NonNls String JAVA_UTIL_MAP_ENTRY = "java.util.Map.Entry";
@NonNls String JAVA_UTIL_HASH_MAP = "java.util.HashMap";
@NonNls String JAVA_UTIL_LIST = "java.util.List";
@NonNls String JAVA_UTIL_ARRAY_LIST = "java.util.ArrayList";
@NonNls String JAVA_UTIL_SET = "java.util.Set";
@NonNls String JAVA_UTIL_PROPERTIES = "java.util.Properties";
@NonNls String JAVA_UTIL_PROPERTY_RESOURCE_BUNDLE = "java.util.PropertyResourceBundle";
@@ -59,11 +66,9 @@ public interface CommonClassNames {
@NonNls String JAVA_UTIL_DICTIONARY = "java.util.Dictionary";
@NonNls String JAVA_UTIL_COMPARATOR = "java.util.Comparator";
/** @deprecated not that common (to remove in IDEA 13) */
@SuppressWarnings("UnusedDeclaration") @NonNls String JAVA_SQL_DATE = "java.sql.Date";
@NonNls String JAVA_IO_SERIALIZABLE = "java.io.Serializable";
@NonNls String JAVA_IO_EXTERNALIZABLE = "java.io.Externalizable";
@NonNls String JAVA_IO_FILE = "java.io.File";
@NonNls String JAVA_LANG_STRING = "java.lang.String";
@NonNls String JAVA_LANG_STRING_SHORT = "String";
@@ -83,17 +88,17 @@ public interface CommonClassNames {
@NonNls String JAVA_LANG_CLONEABLE = "java.lang.Cloneable";
@NonNls String JAVA_LANG_COMPARABLE = "java.lang.Comparable";
@NonNls String CLASS_FILE_EXTENSION = ".class";
@NonNls String JAVA_UTIL_CONCURRENT_FUTURE = "java.util.concurrent.Future";
@NonNls String JAVA_UTIL_ARRAY_LIST = "java.util.ArrayList";
@NonNls String JAVA_UTIL_CONCURRENT_CALLABLE = "java.util.concurrent.Callable";
@NonNls String JAVA_LANG_INVOKE_MH_POLYMORPHIC = "java.lang.invoke.MethodHandle.PolymorphicSignature";
@NonNls String TARGET_ANNOTATION_FQ_NAME = "java.lang.annotation.Target";
@NonNls String JAVA_LANG_RUNNABLE = "java.lang.Runnable";
@NonNls String JAVA_IO_FILE = "java.io.File";
@NonNls String JAVA_LANG_ASSERTION_ERROR = "java.lang.AssertionError";
@NonNls String JAVA_UTIL_CONCURRENT_CALLABLE = "java.util.concurrent.Callable";
@NonNls String JAVA_UTIL_MAP_ENTRY = "java.util.Map.Entry";
@NonNls String JAVA_UTIL_HASH_MAP = "java.util.HashMap";
@NonNls String CLASS_FILE_EXTENSION = ".class";
/** @deprecated not that common (to remove in IDEA 13) */
@SuppressWarnings("UnusedDeclaration") @NonNls String JAVA_SQL_DATE = "java.sql.Date";
/** @deprecated use {@link #JAVA_LANG_ANNOTATION_TARGET} (to remove in IDEA 14) */
@SuppressWarnings("UnusedDeclaration") @NonNls String TARGET_ANNOTATION_FQ_NAME = JAVA_LANG_ANNOTATION_TARGET;
}