From e25e9b677680c6a5014c8e94f28e2ae2b9e71be0 Mon Sep 17 00:00:00 2001 From: anna Date: Mon, 19 Apr 2010 13:39:41 +0400 Subject: [PATCH] do not inspect under .idea (IDEA-53905) --- .../src/com/intellij/analysis/AnalysisScope.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/platform/lang-api/src/com/intellij/analysis/AnalysisScope.java b/platform/lang-api/src/com/intellij/analysis/AnalysisScope.java index be517d3acad6..7f0db572a100 100644 --- a/platform/lang-api/src/com/intellij/analysis/AnalysisScope.java +++ b/platform/lang-api/src/com/intellij/analysis/AnalysisScope.java @@ -16,9 +16,13 @@ package com.intellij.analysis; +import com.intellij.ide.highlighter.ModuleFileType; +import com.intellij.ide.highlighter.ProjectFileType; +import com.intellij.ide.highlighter.WorkspaceFileType; import com.intellij.openapi.actionSystem.DataKey; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.diagnostic.Logger; +import com.intellij.openapi.fileTypes.FileType; import com.intellij.openapi.module.Module; import com.intellij.openapi.module.ModuleManager; import com.intellij.openapi.progress.ProgressIndicator; @@ -240,15 +244,13 @@ public class AnalysisScope { final PsiManager psiManager = PsiManager.getInstance(myProject); final FileIndex projectFileIndex = ProjectRootManager.getInstance(myProject).getFileIndex(); final ContentIterator contentIterator = new ContentIterator() { - @SuppressWarnings({"SimplifiableIfStatement"}) public boolean processFile(final VirtualFile fileOrDir) { - if (fileOrDir.isDirectory()) return true; final boolean isInScope = ApplicationManager.getApplication().runReadAction(new Computable() { public Boolean compute() { return ((GlobalSearchScope)myScope).contains(fileOrDir); } }).booleanValue(); - if (isInScope && (myIncludeTestSource || !projectFileIndex.isInTestSourceContent(fileOrDir))) { + if (isInScope) { return AnalysisScope.processFile(fileOrDir, visitor, psiManager, needReadAction); } return true; @@ -317,6 +319,11 @@ public class AnalysisScope { final FileIndex projectFileIndex, final PsiManager psiManager, final boolean needReadAction) { if (fileOrDir.isDirectory()) return true; + final FileType fileType = fileOrDir.getFileType(); + if (fileType instanceof WorkspaceFileType || + fileType instanceof ProjectFileType || + fileType instanceof ModuleFileType || + fileOrDir.getPath().contains("/.idea/")) return true; if (projectFileIndex.isInContent(fileOrDir) && (myIncludeTestSource || !projectFileIndex.isInTestSourceContent(fileOrDir))) { return processFile(fileOrDir, visitor, psiManager, needReadAction); }