From c56a594100d50008ab721fe431b559ed3fa043f8 Mon Sep 17 00:00:00 2001 From: Anna Kozlova Date: Wed, 28 Oct 2015 21:07:56 +0100 Subject: [PATCH] disable inspection tool on directory EA-69117 - IAE: PackageSetBase.contains --- .../intellij/codeInspection/ex/ToolsImpl.java | 24 +++++++++++++------ 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/platform/analysis-impl/src/com/intellij/codeInspection/ex/ToolsImpl.java b/platform/analysis-impl/src/com/intellij/codeInspection/ex/ToolsImpl.java index 5f7e9014cf99..207dc359ce42 100644 --- a/platform/analysis-impl/src/com/intellij/codeInspection/ex/ToolsImpl.java +++ b/platform/analysis-impl/src/com/intellij/codeInspection/ex/ToolsImpl.java @@ -33,10 +33,8 @@ import com.intellij.profile.ProfileManager; import com.intellij.profile.codeInspection.SeverityProvider; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiFile; -import com.intellij.psi.search.scope.packageSet.CustomScopesProviderEx; -import com.intellij.psi.search.scope.packageSet.NamedScope; -import com.intellij.psi.search.scope.packageSet.NamedScopesHolder; -import com.intellij.psi.search.scope.packageSet.PackageSet; +import com.intellij.psi.search.scope.packageSet.*; +import com.intellij.psi.util.PsiUtilCore; import org.jdom.Element; import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; @@ -414,9 +412,21 @@ public class ToolsImpl implements Tools { final NamedScope scope = state.getScope(project); if (scope != null) { final PackageSet packageSet = scope.getValue(); - if (packageSet != null && packageSet.contains(element.getContainingFile(), validationManager)) { - state.setEnabled(false); - return; + if (packageSet != null) { + final PsiFile file = element.getContainingFile(); + if (file != null) { + if (packageSet.contains(file, validationManager)) { + state.setEnabled(false); + return; + } + } + else { + if (packageSet instanceof PackageSetBase && + ((PackageSetBase)packageSet).contains(PsiUtilCore.getVirtualFile(element), project, validationManager)) { + state.setEnabled(false); + return; + } + } } } } -- 2.32.0