diff --git a/java/java-impl/src/com/intellij/codeInspection/ex/GlobalJavaInspectionContextImpl.java b/java/java-impl/src/com/intellij/codeInspection/ex/GlobalJavaInspectionContextImpl.java index aff69ec85da9..b3aed0603150 100644 --- a/java/java-impl/src/com/intellij/codeInspection/ex/GlobalJavaInspectionContextImpl.java +++ b/java/java-impl/src/com/intellij/codeInspection/ex/GlobalJavaInspectionContextImpl.java @@ -194,7 +194,7 @@ public class GlobalJavaInspectionContextImpl extends GlobalJavaInspectionContext final SearchScope searchScope = new GlobalSearchScope(refManager.getProject()) { @Override public boolean contains(@NotNull VirtualFile file) { - return !scope.contains(file) || file.getFileType() != StdFileTypes.JAVA; + return scope != null && !scope.contains(file) || file.getFileType() != StdFileTypes.JAVA; } @Override @@ -394,7 +394,7 @@ public class GlobalJavaInspectionContextImpl extends GlobalJavaInspectionContext @Override public boolean execute(PsiReference reference) { AnalysisScope scope = context.getRefManager().getScope(); - if (scope.contains(reference.getElement()) && reference.getElement().getLanguage() == StdLanguages.JAVA || + if (scope != null && scope.contains(reference.getElement()) && reference.getElement().getLanguage() == StdLanguages.JAVA || PsiTreeUtil.getParentOfType(reference.getElement(), PsiDocComment.class) != null) { return true; } 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 c33d0d68b8cb..bb97f5cd78d5 100644 --- a/java/java-impl/src/com/intellij/codeInspection/unusedParameters/UnusedParametersInspection.java +++ b/java/java-impl/src/com/intellij/codeInspection/unusedParameters/UnusedParametersInspection.java @@ -132,7 +132,7 @@ public class UnusedParametersInspection extends GlobalJavaBatchInspectionTool { int idx = refParameter.getIndex(); final boolean[] found = {false}; for (int i = 0; i < derived.length && !found[0]; i++) { - if (!scope.contains(derived[i])) { + if (scope == null || !scope.contains(derived[i])) { final PsiParameter[] parameters = derived[i].getParameterList().getParameters(); if (parameters.length >= idx) continue; PsiParameter psiParameter = parameters[idx]; diff --git a/platform/analysis-api/src/com/intellij/codeInspection/reference/RefManager.java b/platform/analysis-api/src/com/intellij/codeInspection/reference/RefManager.java index 6f0a3c24e523..b46352670030 100644 --- a/platform/analysis-api/src/com/intellij/codeInspection/reference/RefManager.java +++ b/platform/analysis-api/src/com/intellij/codeInspection/reference/RefManager.java @@ -47,6 +47,7 @@ public abstract class RefManager { * * @return the analysis scope. */ + @Nullable public abstract AnalysisScope getScope(); /** diff --git a/platform/analysis-impl/src/com/intellij/codeInspection/reference/RefManagerImpl.java b/platform/analysis-impl/src/com/intellij/codeInspection/reference/RefManagerImpl.java index 0fbd048f4929..f31e44e96e2c 100644 --- a/platform/analysis-impl/src/com/intellij/codeInspection/reference/RefManagerImpl.java +++ b/platform/analysis-impl/src/com/intellij/codeInspection/reference/RefManagerImpl.java @@ -149,6 +149,7 @@ public class RefManagerImpl extends RefManager { } } + @Nullable @Override public AnalysisScope getScope() { return myScope; @@ -304,7 +305,9 @@ public class RefManagerImpl extends RefManager { if (!myDeclarationsFound) { long before = System.currentTimeMillis(); final AnalysisScope scope = getScope(); - scope.accept(myProjectIterator); + if (scope != null) { + scope.accept(myProjectIterator); + } myDeclarationsFound = true; LOG.info("Total duration of processing project usages:" + (System.currentTimeMillis() - before));