mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Hopefully, all of unnecessary getElement() calls are gone
This commit is contained in:
@@ -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() {
|
||||
|
||||
+1
-1
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -15,11 +15,8 @@
|
||||
*/
|
||||
package com.intellij.codeInspection.reference;
|
||||
|
||||
import com.intellij.ExtensionPoints;
|
||||
import com.intellij.codeInsight.daemon.ImplicitUsageProvider;
|
||||
import com.intellij.openapi.components.ServiceManager;
|
||||
import com.intellij.openapi.extensions.Extensions;
|
||||
import com.intellij.openapi.extensions.ExtensionPoint;
|
||||
import com.intellij.psi.PsiElement;
|
||||
|
||||
/**
|
||||
@@ -29,21 +26,8 @@ import com.intellij.psi.PsiElement;
|
||||
* @author anna
|
||||
* @since 6.0
|
||||
*/
|
||||
public abstract class RefUtil {
|
||||
public static RefUtil getInstance() {
|
||||
return ServiceManager.getService(RefUtil.class);
|
||||
}
|
||||
|
||||
public static boolean isEntryPoint(final RefElement refElement) {
|
||||
final PsiElement element = refElement.getElement();
|
||||
final ExtensionPoint<EntryPoint> point = Extensions.getRootArea().getExtensionPoint(ExtensionPoints.DEAD_CODE_TOOL);
|
||||
for (EntryPoint entryPoint : point.getExtensions()) {
|
||||
if (entryPoint.isEntryPoint(refElement, element)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return isImplicitUsage(element);
|
||||
}
|
||||
public class RefUtil {
|
||||
private RefUtil() {}
|
||||
|
||||
public static boolean isImplicitUsage(PsiElement element) {
|
||||
final ImplicitUsageProvider[] implicitUsageProviders = Extensions.getExtensions(ImplicitUsageProvider.EP_NAME);
|
||||
|
||||
@@ -25,7 +25,6 @@ import com.intellij.openapi.module.Module;
|
||||
import com.intellij.openapi.module.ModuleUtil;
|
||||
import com.intellij.psi.PsiDirectory;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.psi.PsiManager;
|
||||
|
||||
public class RefDirectoryImpl extends RefElementImpl implements RefDirectory{
|
||||
protected RefDirectoryImpl(PsiDirectory psiElement, RefManager refManager) {
|
||||
@@ -58,7 +57,6 @@ public class RefDirectoryImpl extends RefElementImpl implements RefDirectory{
|
||||
}
|
||||
|
||||
protected void initialize() {
|
||||
getRefManager().fireNodeInitialized(this);
|
||||
}
|
||||
|
||||
public String getQualifiedName() {
|
||||
@@ -70,4 +68,4 @@ public class RefDirectoryImpl extends RefElementImpl implements RefDirectory{
|
||||
assert element != null;
|
||||
return ((PsiDirectory)element).getVirtualFile().getPath();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -60,7 +60,6 @@ public class RefFileImpl extends RefElementImpl implements RefFile {
|
||||
}
|
||||
|
||||
protected void initialize() {
|
||||
getRefManager().fireNodeInitialized(this);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
|
||||
@@ -447,6 +447,7 @@ public class RefManagerImpl extends RefManager {
|
||||
for (RefManagerExtension extension : myExtensions.values()) {
|
||||
extension.onEntityInitialized(refElement, elem);
|
||||
}
|
||||
fireNodeInitialized(refElement);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
+3
-5
@@ -21,13 +21,12 @@ import com.intellij.codeInspection.GlobalInspectionContext;
|
||||
import com.intellij.codeInspection.InspectionManager;
|
||||
import com.intellij.codeInspection.ProblemDescriptionsProcessor;
|
||||
import com.intellij.codeInspection.reference.RefClass;
|
||||
import com.intellij.codeInspection.reference.RefFile;
|
||||
import com.intellij.codeInspection.reference.RefJavaVisitor;
|
||||
import com.intellij.codeInspection.reference.RefManager;
|
||||
import com.intellij.codeInspection.ui.SingleIntegerFieldOptionsPanel;
|
||||
import com.intellij.psi.PsiClass;
|
||||
import com.siyeh.InspectionGadgetsBundle;
|
||||
import com.siyeh.ig.BaseGlobalInspection;
|
||||
import com.siyeh.ig.psiutils.ClassUtils;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import javax.swing.*;
|
||||
@@ -58,8 +57,7 @@ public class ClassWithTooManyDependenciesInspection
|
||||
@Override
|
||||
public void visitClass(RefClass refClass) {
|
||||
super.visitClass(refClass);
|
||||
final PsiClass aClass = refClass.getElement();
|
||||
if (ClassUtils.isInnerClass(aClass)) {
|
||||
if (!(refClass.getOwner() instanceof RefFile)) {
|
||||
return;
|
||||
}
|
||||
final Set<RefClass> dependencies =
|
||||
@@ -85,4 +83,4 @@ public class ClassWithTooManyDependenciesInspection
|
||||
"class.with.too.many.dependencies.max.option"),
|
||||
this, "limit");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user