hide change defaults intention if annotation is not accessible (IDEA-193685)

This commit is contained in:
Anna Kozlova
2018-06-20 14:49:51 +03:00
parent 5f0c40c945
commit 83d09acf8e
@@ -958,8 +958,13 @@ public class NullableStuffInspectionBase extends AbstractBaseJavaLocalInspection
final PsiAnnotation annotation = AnnotationUtil.findAnnotation(modifierListOwner, nullableManager.getNotNulls());
if (annotation != null) {
final PsiJavaCodeReferenceElement referenceElement = annotation.getNameReferenceElement();
if (referenceElement != null && referenceElement.resolve() != null) {
return new ChangeNullableDefaultsFix(annotation.getQualifiedName(), null, nullableManager);
if (referenceElement != null) {
JavaResolveResult resolveResult = referenceElement.advancedResolve(false);
if (resolveResult.getElement() != null &&
resolveResult.isValidResult() &&
!nullableManager.getDefaultNotNull().equals(annotation.getQualifiedName())) {
return new ChangeNullableDefaultsFix(annotation.getQualifiedName(), null, nullableManager);
}
}
}
return null;