diff --git a/java/java-impl/src/com/intellij/codeInspection/canBeFinal/CanBeFinalAnnotator.java b/java/java-impl/src/com/intellij/codeInspection/canBeFinal/CanBeFinalAnnotator.java index 0925fccff830..c581649abe2b 100644 --- a/java/java-impl/src/com/intellij/codeInspection/canBeFinal/CanBeFinalAnnotator.java +++ b/java/java-impl/src/com/intellij/codeInspection/canBeFinal/CanBeFinalAnnotator.java @@ -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); } } } diff --git a/java/java-impl/src/com/intellij/codeInspection/deadCode/RefUnreachableFilter.java b/java/java-impl/src/com/intellij/codeInspection/deadCode/RefUnreachableFilter.java index 92273a52a672..288d73d490c6 100644 --- a/java/java-impl/src/com/intellij/codeInspection/deadCode/RefUnreachableFilter.java +++ b/java/java-impl/src/com/intellij/codeInspection/deadCode/RefUnreachableFilter.java @@ -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; } } diff --git a/java/java-impl/src/com/intellij/codeInspection/deadCode/UnreferencedFilter.java b/java/java-impl/src/com/intellij/codeInspection/deadCode/UnreferencedFilter.java index 1e1a3e625a2f..49eed3cd08d5 100644 --- a/java/java-impl/src/com/intellij/codeInspection/deadCode/UnreferencedFilter.java +++ b/java/java-impl/src/com/intellij/codeInspection/deadCode/UnreferencedFilter.java @@ -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; diff --git a/java/java-impl/src/com/intellij/codeInspection/reference/RefClassImpl.java b/java/java-impl/src/com/intellij/codeInspection/reference/RefClassImpl.java index e851403e416b..69067d653f57 100644 --- a/java/java-impl/src/com/intellij/codeInspection/reference/RefClassImpl.java +++ b/java/java-impl/src/com/intellij/codeInspection/reference/RefClassImpl.java @@ -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(); diff --git a/java/java-impl/src/com/intellij/codeInspection/reference/RefFieldImpl.java b/java/java-impl/src/com/intellij/codeInspection/reference/RefFieldImpl.java index 4913f755e0b6..0b31c94d124b 100644 --- a/java/java-impl/src/com/intellij/codeInspection/reference/RefFieldImpl.java +++ b/java/java-impl/src/com/intellij/codeInspection/reference/RefFieldImpl.java @@ -187,6 +187,5 @@ public class RefFieldImpl extends RefJavaElementImpl implements RefField { } protected void initialize() { - getRefManager().fireNodeInitialized(this); } } diff --git a/java/java-impl/src/com/intellij/codeInspection/reference/RefMethodImpl.java b/java/java-impl/src/com/intellij/codeInspection/reference/RefMethodImpl.java index d6498510aa35..346d64831d15 100644 --- a/java/java-impl/src/com/intellij/codeInspection/reference/RefMethodImpl.java +++ b/java/java-impl/src/com/intellij/codeInspection/reference/RefMethodImpl.java @@ -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) { diff --git a/java/java-impl/src/com/intellij/codeInspection/reference/RefParameterImpl.java b/java/java-impl/src/com/intellij/codeInspection/reference/RefParameterImpl.java index 1ba08f6415a2..25ed4e538bfa 100644 --- a/java/java-impl/src/com/intellij/codeInspection/reference/RefParameterImpl.java +++ b/java/java-impl/src/com/intellij/codeInspection/reference/RefParameterImpl.java @@ -127,7 +127,6 @@ public class RefParameterImpl extends RefJavaElementImpl implements RefParameter } protected void initialize() { - getRefManager().fireNodeInitialized(this); } public String getExternalName() { diff --git a/java/java-impl/src/com/intellij/codeInspection/unusedParameters/UnusedParametersInspection.java b/java/java-impl/src/com/intellij/codeInspection/unusedParameters/UnusedParametersInspection.java index ed09e148fa7b..e8168133fbb4 100644 --- a/java/java-impl/src/com/intellij/codeInspection/unusedParameters/UnusedParametersInspection.java +++ b/java/java-impl/src/com/intellij/codeInspection/unusedParameters/UnusedParametersInspection.java @@ -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; diff --git a/java/java-impl/src/com/intellij/codeInspection/visibility/VisibilityInspection.java b/java/java-impl/src/com/intellij/codeInspection/visibility/VisibilityInspection.java index c1f79c9a9e33..841e0bbfe7ea 100644 --- a/java/java-impl/src/com/intellij/codeInspection/visibility/VisibilityInspection.java +++ b/java/java-impl/src/com/intellij/codeInspection/visibility/VisibilityInspection.java @@ -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; } diff --git a/platform/lang-api/src/com/intellij/codeInspection/reference/RefUtil.java b/platform/lang-api/src/com/intellij/codeInspection/reference/RefUtil.java index 18450a13e7f7..a2ac4aa145ba 100644 --- a/platform/lang-api/src/com/intellij/codeInspection/reference/RefUtil.java +++ b/platform/lang-api/src/com/intellij/codeInspection/reference/RefUtil.java @@ -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 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); diff --git a/platform/lang-impl/src/com/intellij/codeInspection/reference/RefDirectoryImpl.java b/platform/lang-impl/src/com/intellij/codeInspection/reference/RefDirectoryImpl.java index 2a2ed840ab04..95087395c027 100644 --- a/platform/lang-impl/src/com/intellij/codeInspection/reference/RefDirectoryImpl.java +++ b/platform/lang-impl/src/com/intellij/codeInspection/reference/RefDirectoryImpl.java @@ -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(); } -} \ No newline at end of file +} diff --git a/platform/lang-impl/src/com/intellij/codeInspection/reference/RefFileImpl.java b/platform/lang-impl/src/com/intellij/codeInspection/reference/RefFileImpl.java index 2c09c7144f35..257ac40f796c 100644 --- a/platform/lang-impl/src/com/intellij/codeInspection/reference/RefFileImpl.java +++ b/platform/lang-impl/src/com/intellij/codeInspection/reference/RefFileImpl.java @@ -60,7 +60,6 @@ public class RefFileImpl extends RefElementImpl implements RefFile { } protected void initialize() { - getRefManager().fireNodeInitialized(this); } @Nullable diff --git a/platform/lang-impl/src/com/intellij/codeInspection/reference/RefManagerImpl.java b/platform/lang-impl/src/com/intellij/codeInspection/reference/RefManagerImpl.java index 4595a49ad352..e7469ec93ff3 100644 --- a/platform/lang-impl/src/com/intellij/codeInspection/reference/RefManagerImpl.java +++ b/platform/lang-impl/src/com/intellij/codeInspection/reference/RefManagerImpl.java @@ -447,6 +447,7 @@ public class RefManagerImpl extends RefManager { for (RefManagerExtension extension : myExtensions.values()) { extension.onEntityInitialized(refElement, elem); } + fireNodeInitialized(refElement); } }); diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/dependency/ClassWithTooManyDependenciesInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/dependency/ClassWithTooManyDependenciesInspection.java index a94c4fff1994..7476f9c0e39e 100644 --- a/plugins/InspectionGadgets/src/com/siyeh/ig/dependency/ClassWithTooManyDependenciesInspection.java +++ b/plugins/InspectionGadgets/src/com/siyeh/ig/dependency/ClassWithTooManyDependenciesInspection.java @@ -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 dependencies = @@ -85,4 +83,4 @@ public class ClassWithTooManyDependenciesInspection "class.with.too.many.dependencies.max.option"), this, "limit"); } -} \ No newline at end of file +}