From 8cdd88eb8c8fcd299f482a92f474246a1d6ddd61 Mon Sep 17 00:00:00 2001 From: anna Date: Mon, 10 Oct 2011 16:02:17 +0200 Subject: [PATCH] do not check for disabled in unused declaration inspection settings entry points: check implicit usages only --- .../codeInspection/deadCode/UnusedDeclarationInspection.java | 2 +- .../src/com/intellij/codeInspection/reference/RefUtil.java | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/java/java-impl/src/com/intellij/codeInspection/deadCode/UnusedDeclarationInspection.java b/java/java-impl/src/com/intellij/codeInspection/deadCode/UnusedDeclarationInspection.java index 92289f43ec8c..e6f03d4b0136 100644 --- a/java/java-impl/src/com/intellij/codeInspection/deadCode/UnusedDeclarationInspection.java +++ b/java/java-impl/src/com/intellij/codeInspection/deadCode/UnusedDeclarationInspection.java @@ -442,8 +442,8 @@ public class UnusedDeclarationInspection extends FilteringInspectionTool { } private boolean isEntryPoint(final RefElement owner) { - if (RefUtil.isEntryPoint(owner)) return true; final PsiElement element = owner.getElement(); + if (RefUtil.isImplicitUsage(element)) return true; if (element instanceof PsiModifierListOwner) { final EntryPointsManagerImpl entryPointsManager = EntryPointsManagerImpl.getInstance(element.getProject()); if (AnnotationUtil.isAnnotated((PsiModifierListOwner)element, entryPointsManager.ADDITIONAL_ANNOTATIONS) || 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 9d6e71cc9fc7..18450a13e7f7 100644 --- a/platform/lang-api/src/com/intellij/codeInspection/reference/RefUtil.java +++ b/platform/lang-api/src/com/intellij/codeInspection/reference/RefUtil.java @@ -42,6 +42,10 @@ public abstract class RefUtil { return true; } } + return isImplicitUsage(element); + } + + public static boolean isImplicitUsage(PsiElement element) { final ImplicitUsageProvider[] implicitUsageProviders = Extensions.getExtensions(ImplicitUsageProvider.EP_NAME); for (ImplicitUsageProvider provider : implicitUsageProviders) { if (provider.isImplicitUsage(element)) return true;