EA-30271 - NPE: CanBeFinalInspection.checkElement

This commit is contained in:
Anna Kozlova
2012-02-01 13:43:23 +04:00
parent 87ca62938c
commit f153bdf5db
@@ -140,24 +140,24 @@ public class CanBeFinalInspection extends GlobalJavaInspectionTool {
if (!((RefElementImpl)refElement).checkFlag(CanBeFinalAnnotator.CAN_BE_FINAL_MASK)) return null;
final PsiMember psiMember = (PsiMember)refElement.getElement();
if (!CanBeFinalHandler.allowToBeFinal(psiMember)) return null;
if (psiMember == null || !CanBeFinalHandler.allowToBeFinal(psiMember)) return null;
PsiIdentifier psiIdentifier = null;
if (refElement instanceof RefClass) {
RefClass refClass = (RefClass)refElement;
if (refClass.isInterface() || refClass.isAnonymous() || refClass.isAbstract()) return null;
if (!isReportClasses()) return null;
psiIdentifier = refClass.getElement().getNameIdentifier();
psiIdentifier = ((PsiClass)psiMember).getNameIdentifier();
}
else if (refElement instanceof RefMethod) {
RefMethod refMethod = (RefMethod)refElement;
if (refMethod.getOwnerClass().isFinal()) return null;
if (!isReportMethods()) return null;
psiIdentifier = ((PsiMethod)refMethod.getElement()).getNameIdentifier();
psiIdentifier = ((PsiMethod)psiMember).getNameIdentifier();
}
else if (refElement instanceof RefField) {
if (!isReportFields()) return null;
psiIdentifier = ((RefField)refElement).getElement().getNameIdentifier();
psiIdentifier = ((PsiField)psiMember).getNameIdentifier();
}