Hopefully, all of unnecessary getElement() calls are gone

This commit is contained in:
Maxim Shafirov
2012-04-13 21:05:18 +04:00
parent 2e35fe79e0
commit d6c521502f
14 changed files with 19 additions and 52 deletions
@@ -47,7 +47,7 @@ class CanBeFinalAnnotator extends RefGraphAnnotatorEx {
if (refElement instanceof RefClass) {
final RefClass refClass = (RefClass)refElement;
final PsiClass psiClass = refClass.getElement();
if (RefUtil.isEntryPoint(refClass)) {
if (refClass.isEntry()) {
((RefClassImpl)refClass).setFlag(false, CAN_BE_FINAL_MASK);
return;
}
@@ -115,7 +115,7 @@ class CanBeFinalAnnotator extends RefGraphAnnotatorEx {
final PsiClass psiClass = (PsiClass)refElement.getElement();
if (psiClass != null) {
if (RefUtil.isEntryPoint(refElement)) {
if (refElement.isEntry()) {
((RefClassImpl)refElement).setFlag(false, CAN_BE_FINAL_MASK);
}
@@ -205,11 +205,8 @@ class CanBeFinalAnnotator extends RefGraphAnnotatorEx {
}
else if (refElement instanceof RefMethod) {
final RefMethod refMethod = (RefMethod)refElement;
final PsiElement element = refMethod.getElement();
if (element instanceof PsiMethod) {
if (RefUtil.isEntryPoint(refMethod)) {
((RefMethodImpl)refMethod).setFlag(false, CAN_BE_FINAL_MASK);
}
if (refMethod.isEntry()) {
((RefMethodImpl)refMethod).setFlag(false, CAN_BE_FINAL_MASK);
}
}
}
@@ -25,12 +25,8 @@
package com.intellij.codeInspection.deadCode;
import com.intellij.codeInspection.ex.InspectionTool;
import com.intellij.codeInspection.reference.RefElementImpl;
import com.intellij.codeInspection.reference.RefJavaElement;
import com.intellij.codeInspection.reference.RefParameter;
import com.intellij.codeInspection.reference.*;
import com.intellij.codeInspection.util.RefFilter;
import com.intellij.psi.PsiDocCommentOwner;
import com.intellij.psi.PsiElement;
public class RefUnreachableFilter extends RefFilter {
protected InspectionTool myTool;
@@ -42,8 +38,8 @@ public class RefUnreachableFilter extends RefFilter {
public int getElementProblemCount(RefJavaElement refElement) {
if (refElement instanceof RefParameter) return 0;
if (refElement.isSyntheticJSP()) return 0;
final PsiElement element = refElement.getElement();
if (!(element instanceof PsiDocCommentOwner) || !myTool.getContext().isToCheckMember(refElement, myTool)) return 0;
if (!(refElement instanceof RefMethod || refElement instanceof RefClass || refElement instanceof RefField)) return 0;
if (!myTool.getContext().isToCheckMember(refElement, myTool)) return 0;
return ((RefElementImpl)refElement).isSuspicious() ? 1 : 0;
}
}
@@ -26,8 +26,6 @@ package com.intellij.codeInspection.deadCode;
import com.intellij.codeInspection.ex.InspectionTool;
import com.intellij.codeInspection.reference.*;
import com.intellij.psi.PsiDocCommentOwner;
import com.intellij.psi.PsiElement;
public class UnreferencedFilter extends RefUnreachableFilter {
public UnreferencedFilter(final InspectionTool tool) {
@@ -38,8 +36,8 @@ public class UnreferencedFilter extends RefUnreachableFilter {
if (refElement instanceof RefParameter) return 0;
if (refElement.isEntry() || !((RefElementImpl)refElement).isSuspicious() || refElement.isSyntheticJSP()) return 0;
final PsiElement element = refElement.getElement();
if (!(element instanceof PsiDocCommentOwner) || !myTool.getContext().isToCheckMember(refElement, myTool)) return 0;
if (!(refElement instanceof RefMethod || refElement instanceof RefClass || refElement instanceof RefField)) return 0;
if (!myTool.getContext().isToCheckMember(refElement, myTool)) return 0;
if (refElement instanceof RefField) {
RefField refField = (RefField) refElement;
@@ -176,7 +176,6 @@ public class RefClassImpl extends RefJavaElementImpl implements RefClass {
final PsiClass applet = getRefJavaManager().getApplet();
setApplet(applet != null && psiClass.isInheritor(applet, true));
getRefManager().fireNodeInitialized(this);
PsiManager psiManager = getRefManager().getPsiManager();
psiManager.dropResolveCaches();
PsiFile file = psiClass.getContainingFile();
@@ -187,6 +187,5 @@ public class RefFieldImpl extends RefJavaElementImpl implements RefField {
}
protected void initialize() {
getRefManager().fireNodeInitialized(this);
}
}
@@ -127,7 +127,6 @@ public class RefMethodImpl extends RefJavaElementImpl implements RefMethod {
updateThrowsList(null);
}
collectUncaughtExceptions(method);
getRefManager().fireNodeInitialized(this);
}
private static boolean isAppMain(PsiMethod psiMethod, RefMethod refMethod) {
@@ -127,7 +127,6 @@ public class RefParameterImpl extends RefJavaElementImpl implements RefParameter
}
protected void initialize() {
getRefManager().fireNodeInitialized(this);
}
public String getExternalName() {
@@ -79,7 +79,7 @@ public class UnusedParametersInspection extends GlobalJavaInspectionTool {
if (unusedParameters.isEmpty()) return null;
if (RefUtil.isEntryPoint(refMethod)) return null;
if (refMethod.isEntry()) return null;
final PsiModifierListOwner element = refMethod.getElement();
if (element != null && EntryPointsManagerImpl.getInstance(manager.getProject()).isEntryPoint(element)) return null;
@@ -158,13 +158,13 @@ public class VisibilityInspection extends GlobalJavaInspectionTool {
if (refElement instanceof RefMethod) {
RefMethod refMethod = (RefMethod) refElement;
if (refMethod.isExternalOverride()) return null;
if (RefUtil.isEntryPoint(refMethod)) return null;
if (refMethod.isEntry()) return null;
}
//ignore anonymous classes. They do not have access modifiers.
if (refElement instanceof RefClass) {
RefClass refClass = (RefClass) refElement;
if (refClass.isAnonymous() || RefUtil.isEntryPoint(refClass) || refClass.isTestCase() || refClass.isServlet() || refClass.isApplet() || refClass.isLocalClass()) return null;
if (refClass.isAnonymous() || refClass.isEntry() || refClass.isTestCase() || refClass.isServlet() || refClass.isApplet() || refClass.isLocalClass()) return null;
if (isTopLevelClass(refClass) && !SUGGEST_PACKAGE_LOCAL_FOR_TOP_CLASSES) return null;
}