mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
correct inspection global progress
This commit is contained in:
@@ -16,6 +16,7 @@
|
||||
package com.intellij.codeInspection.deadCode;
|
||||
|
||||
import com.intellij.analysis.AnalysisScope;
|
||||
import com.intellij.codeInspection.GlobalInspectionContext;
|
||||
import com.intellij.codeInspection.InspectionManager;
|
||||
import com.intellij.codeInspection.InspectionsBundle;
|
||||
import com.intellij.codeInspection.ex.*;
|
||||
@@ -49,7 +50,7 @@ public class DummyEntryPointsTool extends FilteringInspectionTool {
|
||||
public void exportResults(@NotNull Element parentNode) {}
|
||||
|
||||
@NotNull
|
||||
public JobDescriptor[] getJobDescriptors() {
|
||||
public JobDescriptor[] getJobDescriptors(GlobalInspectionContext globalInspectionContext) {
|
||||
return new JobDescriptor[0];
|
||||
}
|
||||
|
||||
|
||||
+3
-2
@@ -687,8 +687,9 @@ public class UnusedDeclarationInspection extends FilteringInspectionTool {
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public JobDescriptor[] getJobDescriptors() {
|
||||
return new JobDescriptor[]{GlobalInspectionContextImpl.BUILD_GRAPH, GlobalInspectionContextImpl.FIND_EXTERNAL_USAGES};
|
||||
@Override
|
||||
public JobDescriptor[] getJobDescriptors(GlobalInspectionContext context) {
|
||||
return new JobDescriptor[]{((GlobalInspectionContextImpl)context).BUILD_GRAPH, ((GlobalInspectionContextImpl)context).FIND_EXTERNAL_USAGES};
|
||||
}
|
||||
|
||||
private static void commentOutDead(PsiElement psiElement) {
|
||||
|
||||
+12
-16
@@ -206,7 +206,7 @@ public class GlobalJavaInspectionContextImpl extends GlobalJavaInspectionContext
|
||||
for (SmartPsiElementPointer sortedID : sortedIDs) {
|
||||
final PsiClass psiClass = (PsiClass)dereferenceInReadAction(sortedID);
|
||||
if (psiClass == null) continue;
|
||||
context.incrementJobDoneAmount(GlobalInspectionContextImpl.FIND_EXTERNAL_USAGES, ApplicationManager.getApplication().runReadAction(
|
||||
context.incrementJobDoneAmount(((GlobalInspectionContextImpl)context).FIND_EXTERNAL_USAGES, ApplicationManager.getApplication().runReadAction(
|
||||
new Computable<String>() {
|
||||
public String compute() {
|
||||
return psiClass.getQualifiedName();
|
||||
@@ -230,8 +230,7 @@ public class GlobalJavaInspectionContextImpl extends GlobalJavaInspectionContext
|
||||
if (psiMethod == null) continue;
|
||||
final RefMethod refMethod = (RefMethod)refManager.getReference(psiMethod);
|
||||
|
||||
context
|
||||
.incrementJobDoneAmount(GlobalInspectionContextImpl.FIND_EXTERNAL_USAGES, refManager.getQualifiedName(refMethod));
|
||||
context.incrementJobDoneAmount(((GlobalInspectionContextImpl)context).FIND_EXTERNAL_USAGES, refManager.getQualifiedName(refMethod));
|
||||
|
||||
final List<DerivedMethodsProcessor> processors = myDerivedMethodsRequests.get(sortedID);
|
||||
LOG.assertTrue(processors != null, psiMethod.getClass().getName());
|
||||
@@ -250,9 +249,7 @@ public class GlobalJavaInspectionContextImpl extends GlobalJavaInspectionContext
|
||||
final List<UsagesProcessor> processors = myFieldUsagesRequests.get(sortedID);
|
||||
|
||||
LOG.assertTrue(processors != null, psiField.getClass().getName());
|
||||
context
|
||||
.incrementJobDoneAmount(GlobalInspectionContextImpl.FIND_EXTERNAL_USAGES,
|
||||
refManager.getQualifiedName(refManager.getReference(psiField)));
|
||||
context.incrementJobDoneAmount(((GlobalInspectionContextImpl)context).FIND_EXTERNAL_USAGES, refManager.getQualifiedName(refManager.getReference(psiField)));
|
||||
|
||||
ReferencesSearch.search(psiField, searchScope, false)
|
||||
.forEach(new PsiReferenceProcessorAdapter(createReferenceProcessor(processors, context)));
|
||||
@@ -269,7 +266,7 @@ public class GlobalJavaInspectionContextImpl extends GlobalJavaInspectionContext
|
||||
final List<UsagesProcessor> processors = myClassUsagesRequests.get(sortedID);
|
||||
|
||||
LOG.assertTrue(processors != null, psiClass.getClass().getName());
|
||||
context.incrementJobDoneAmount(GlobalInspectionContextImpl.FIND_EXTERNAL_USAGES, ApplicationManager.getApplication().runReadAction(
|
||||
context.incrementJobDoneAmount(((GlobalInspectionContextImpl)context).FIND_EXTERNAL_USAGES, ApplicationManager.getApplication().runReadAction(
|
||||
new Computable<String>() {
|
||||
public String compute() {
|
||||
return psiClass.getQualifiedName();
|
||||
@@ -292,9 +289,7 @@ public class GlobalJavaInspectionContextImpl extends GlobalJavaInspectionContext
|
||||
final List<UsagesProcessor> processors = myMethodUsagesRequests.get(sortedID);
|
||||
|
||||
LOG.assertTrue(processors != null, psiMethod.getClass().getName());
|
||||
context
|
||||
.incrementJobDoneAmount(GlobalInspectionContextImpl.FIND_EXTERNAL_USAGES,
|
||||
refManager.getQualifiedName(refManager.getReference(psiMethod)));
|
||||
context.incrementJobDoneAmount(((GlobalInspectionContextImpl)context).FIND_EXTERNAL_USAGES, refManager.getQualifiedName(refManager.getReference(psiMethod)));
|
||||
|
||||
MethodReferencesSearch.search(psiMethod, searchScope, true)
|
||||
.forEach(new PsiReferenceProcessorAdapter(createReferenceProcessor(processors, context)));
|
||||
@@ -414,7 +409,8 @@ public class GlobalJavaInspectionContextImpl extends GlobalJavaInspectionContext
|
||||
|
||||
|
||||
public void performPostRunActivities(List<InspectionProfileEntry> needRepeatSearchRequest, final GlobalInspectionContext context) {
|
||||
GlobalInspectionContextImpl.FIND_EXTERNAL_USAGES.setTotalAmount(getRequestCount() * 2);
|
||||
JobDescriptor progress = ((GlobalInspectionContextImpl)context).FIND_EXTERNAL_USAGES;
|
||||
progress.setTotalAmount(getRequestCount());
|
||||
|
||||
do {
|
||||
processSearchRequests(context);
|
||||
@@ -425,11 +421,11 @@ public class GlobalJavaInspectionContextImpl extends GlobalJavaInspectionContext
|
||||
needRepeatSearchRequest.remove(requestor);
|
||||
}
|
||||
}
|
||||
int oldSearchRequestCount = GlobalInspectionContextImpl.FIND_EXTERNAL_USAGES.getTotalAmount();
|
||||
float proportion = GlobalInspectionContextImpl.FIND_EXTERNAL_USAGES.getProgress();
|
||||
int totalAmount = oldSearchRequestCount + getRequestCount() * 2;
|
||||
GlobalInspectionContextImpl.FIND_EXTERNAL_USAGES.setTotalAmount(totalAmount);
|
||||
GlobalInspectionContextImpl.FIND_EXTERNAL_USAGES.setDoneAmount((int)(totalAmount * proportion));
|
||||
int oldSearchRequestCount = progress.getTotalAmount();
|
||||
int oldDoneAmount = progress.getDoneAmount();
|
||||
int totalAmount = oldSearchRequestCount + getRequestCount();
|
||||
progress.setTotalAmount(totalAmount);
|
||||
progress.setDoneAmount(oldDoneAmount);
|
||||
}
|
||||
while (!needRepeatSearchRequest.isEmpty());
|
||||
}
|
||||
|
||||
+2
-1
@@ -23,6 +23,7 @@ package com.intellij.codeInspection.inconsistentLanguageLevel;
|
||||
import com.intellij.analysis.AnalysisScope;
|
||||
import com.intellij.codeInsight.daemon.GroupNames;
|
||||
import com.intellij.codeInspection.CommonProblemDescriptor;
|
||||
import com.intellij.codeInspection.GlobalInspectionContext;
|
||||
import com.intellij.codeInspection.InspectionManager;
|
||||
import com.intellij.codeInspection.QuickFix;
|
||||
import com.intellij.codeInspection.ex.DescriptorProviderInspection;
|
||||
@@ -90,7 +91,7 @@ public class InconsistentLanguageLevelInspection extends DescriptorProviderInspe
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public JobDescriptor[] getJobDescriptors() {
|
||||
public JobDescriptor[] getJobDescriptors(GlobalInspectionContext globalInspectionContext) {
|
||||
return JobDescriptor.EMPTY_ARRAY;
|
||||
}
|
||||
|
||||
|
||||
+9
-8
@@ -22,10 +22,7 @@ package com.intellij.codeInspection.unusedLibraries;
|
||||
|
||||
import com.intellij.analysis.AnalysisScope;
|
||||
import com.intellij.codeInsight.daemon.GroupNames;
|
||||
import com.intellij.codeInspection.CommonProblemDescriptor;
|
||||
import com.intellij.codeInspection.InspectionManager;
|
||||
import com.intellij.codeInspection.InspectionsBundle;
|
||||
import com.intellij.codeInspection.QuickFix;
|
||||
import com.intellij.codeInspection.*;
|
||||
import com.intellij.codeInspection.ex.DescriptorProviderInspection;
|
||||
import com.intellij.codeInspection.ex.JobDescriptor;
|
||||
import com.intellij.codeInspection.reference.RefManager;
|
||||
@@ -64,7 +61,7 @@ import java.util.*;
|
||||
|
||||
public class UnusedLibrariesInspection extends DescriptorProviderInspection {
|
||||
private static final Logger LOG = Logger.getInstance("#" + UnusedLibrariesInspection.class.getName());
|
||||
private static final JobDescriptor BACKWARD_ANALYSIS = new JobDescriptor(InspectionsBundle.message("unused.library.backward.analysis.job.description"));
|
||||
private final JobDescriptor BACKWARD_ANALYSIS = new JobDescriptor(InspectionsBundle.message("unused.library.backward.analysis.job.description"));
|
||||
|
||||
public void runInspection(@NotNull final AnalysisScope scope, @NotNull final InspectionManager manager) {
|
||||
final Project project = getContext().getProject();
|
||||
@@ -118,14 +115,18 @@ public class UnusedLibrariesInspection extends DescriptorProviderInspection {
|
||||
}, new ProgressIndicatorBase() {
|
||||
public void setFraction(final double fraction) {
|
||||
super.setFraction(fraction);
|
||||
BACKWARD_ANALYSIS.setDoneAmount((int)fraction * BACKWARD_ANALYSIS.getTotalAmount());
|
||||
getContext().incrementJobDoneAmount(BACKWARD_ANALYSIS, getText2());
|
||||
int nextAmount = (int)(fraction * BACKWARD_ANALYSIS.getTotalAmount());
|
||||
if (nextAmount > BACKWARD_ANALYSIS.getDoneAmount() && nextAmount < BACKWARD_ANALYSIS.getTotalAmount()) {
|
||||
BACKWARD_ANALYSIS.setDoneAmount(nextAmount);
|
||||
getContext().incrementJobDoneAmount(BACKWARD_ANALYSIS, getText2());
|
||||
}
|
||||
}
|
||||
|
||||
public boolean isCanceled() {
|
||||
return progressIndicator != null && progressIndicator.isCanceled() || super.isCanceled();
|
||||
}
|
||||
});
|
||||
BACKWARD_ANALYSIS.setDoneAmount(BACKWARD_ANALYSIS.getTotalAmount());
|
||||
final Map<PsiFile, Set<PsiFile>> dependencies = builder.getDependencies();
|
||||
for (PsiFile file : dependencies.keySet()) {
|
||||
final VirtualFile virtualFile = file.getVirtualFile();
|
||||
@@ -175,7 +176,7 @@ public class UnusedLibrariesInspection extends DescriptorProviderInspection {
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public JobDescriptor[] getJobDescriptors() {
|
||||
public JobDescriptor[] getJobDescriptors(GlobalInspectionContext globalInspectionContext) {
|
||||
return new JobDescriptor[] {BACKWARD_ANALYSIS};
|
||||
}
|
||||
|
||||
|
||||
@@ -39,6 +39,7 @@ public class JobDescriptor {
|
||||
|
||||
public void setTotalAmount(int totalAmount) {
|
||||
myTotalAmount = totalAmount;
|
||||
myDoneAmount = 0;
|
||||
}
|
||||
|
||||
public int getDoneAmount() {
|
||||
@@ -46,16 +47,23 @@ public class JobDescriptor {
|
||||
}
|
||||
|
||||
public void setDoneAmount(int doneAmount) {
|
||||
if (doneAmount > getTotalAmount()) {
|
||||
int i = 0;
|
||||
}
|
||||
if (doneAmount < getDoneAmount()) {
|
||||
int i = 0;
|
||||
}
|
||||
myDoneAmount = doneAmount;
|
||||
}
|
||||
|
||||
public float getProgress() {
|
||||
float localProgress = getDoneAmount();
|
||||
if (getTotalAmount() != 0) {
|
||||
localProgress /= getTotalAmount();
|
||||
} else {
|
||||
float localProgress;
|
||||
if (getTotalAmount() == 0) {
|
||||
localProgress = 0;
|
||||
}
|
||||
else {
|
||||
localProgress = 1.0f * getDoneAmount() / getTotalAmount();
|
||||
}
|
||||
|
||||
return localProgress;
|
||||
}
|
||||
|
||||
-9
@@ -19,12 +19,10 @@ package com.intellij.codeInspection;
|
||||
import com.intellij.codeHighlighting.HighlightDisplayLevel;
|
||||
import com.intellij.codeInsight.daemon.impl.*;
|
||||
import com.intellij.codeInsight.daemon.impl.analysis.HighlightInfoHolder;
|
||||
import com.intellij.codeInspection.ex.JobDescriptor;
|
||||
import com.intellij.lang.annotation.HighlightSeverity;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.editor.Document;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.project.ProjectUtil;
|
||||
import com.intellij.openapi.util.TextRange;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.psi.PsiDocumentManager;
|
||||
@@ -36,7 +34,6 @@ import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
public abstract class DefaultHighlightVisitorBasedInspection extends GlobalSimpleInspectionTool {
|
||||
private static final JobDescriptor ANNOTATOR = new JobDescriptor(InspectionsBundle.message("inspection.processing.job.descriptor2"));
|
||||
private final boolean highlightErrorElements;
|
||||
private final boolean runAnnotators;
|
||||
|
||||
@@ -81,11 +78,6 @@ public abstract class DefaultHighlightVisitorBasedInspection extends GlobalSimpl
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public JobDescriptor[] getAdditionalJobs() {
|
||||
return new JobDescriptor[]{ANNOTATOR};
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public HighlightDisplayLevel getDefaultLevel() {
|
||||
@@ -134,7 +126,6 @@ public abstract class DefaultHighlightVisitorBasedInspection extends GlobalSimpl
|
||||
if (virtualFile == null) {
|
||||
return;
|
||||
}
|
||||
myGlobalContext.incrementJobDoneAmount(ANNOTATOR, ProjectUtil.calcRelativeToProjectPath(virtualFile, file.getProject()));
|
||||
|
||||
final Project project = file.getProject();
|
||||
Document document = PsiDocumentManager.getInstance(project).getDocument(file);
|
||||
|
||||
+24
-18
@@ -88,14 +88,11 @@ public class GlobalInspectionContextImpl extends UserDataHolderBase implements G
|
||||
|
||||
|
||||
private ProgressIndicator myProgressIndicator;
|
||||
public static final JobDescriptor BUILD_GRAPH = new JobDescriptor(InspectionsBundle.message("inspection.processing.job.descriptor"));
|
||||
public static final JobDescriptor[] BUILD_GRAPH_ONLY = {BUILD_GRAPH};
|
||||
public static final JobDescriptor FIND_EXTERNAL_USAGES =
|
||||
new JobDescriptor(InspectionsBundle.message("inspection.processing.job.descriptor1"));
|
||||
|
||||
|
||||
private static final JobDescriptor LOCAL_ANALYSIS = new JobDescriptor(InspectionsBundle.message("inspection.processing.job.descriptor2"));
|
||||
public static final JobDescriptor[] LOCAL_ANALYSIS_ARRAY = {LOCAL_ANALYSIS};
|
||||
public final JobDescriptor BUILD_GRAPH = new JobDescriptor(InspectionsBundle.message("inspection.processing.job.descriptor"));
|
||||
public final JobDescriptor[] BUILD_GRAPH_ONLY = {BUILD_GRAPH};
|
||||
public final JobDescriptor FIND_EXTERNAL_USAGES = new JobDescriptor(InspectionsBundle.message("inspection.processing.job.descriptor1"));
|
||||
private final JobDescriptor LOCAL_ANALYSIS = new JobDescriptor(InspectionsBundle.message("inspection.processing.job.descriptor2"));
|
||||
public final JobDescriptor[] LOCAL_ANALYSIS_ARRAY = {LOCAL_ANALYSIS};
|
||||
|
||||
private InspectionProfile myExternalProfile = null;
|
||||
|
||||
@@ -436,6 +433,7 @@ public class GlobalInspectionContextImpl extends UserDataHolderBase implements G
|
||||
refManager.inspectionReadActionStarted();
|
||||
BUILD_GRAPH.setTotalAmount(scope.getFileCount());
|
||||
LOCAL_ANALYSIS.setTotalAmount(scope.getFileCount());
|
||||
FIND_EXTERNAL_USAGES.setTotalAmount(0);
|
||||
//to override current progress in order to hide useless messages/%
|
||||
((ProgressManagerImpl)ProgressManager.getInstance()).executeProcessUnderProgress(new Runnable() {
|
||||
public void run() {
|
||||
@@ -514,6 +512,7 @@ public class GlobalInspectionContextImpl extends UserDataHolderBase implements G
|
||||
GlobalSimpleInspectionTool tool = (GlobalSimpleInspectionTool)toolWrapper.getTool();
|
||||
tool.inspectionStarted(manager, this, toolWrapper);
|
||||
}
|
||||
|
||||
scope.accept(new PsiElementVisitor() {
|
||||
@Override
|
||||
public void visitFile(final PsiFile file) {
|
||||
@@ -590,7 +589,9 @@ public class GlobalInspectionContextImpl extends UserDataHolderBase implements G
|
||||
};
|
||||
|
||||
|
||||
public void initializeTools(@NotNull List<Tools> outGlobalTools, @NotNull List<Tools> outLocalTools, @NotNull List<Tools> outGlobalSimpleTools) {
|
||||
public void initializeTools(@NotNull List<Tools> outGlobalTools,
|
||||
@NotNull List<Tools> outLocalTools,
|
||||
@NotNull List<Tools> outGlobalSimpleTools) {
|
||||
myJobDescriptors = new ArrayList<JobDescriptor>();
|
||||
final List<ToolsImpl> usedTools = getUsedTools();
|
||||
for (Tools currentTools : usedTools) {
|
||||
@@ -627,7 +628,7 @@ public class GlobalInspectionContextImpl extends UserDataHolderBase implements G
|
||||
else {
|
||||
outGlobalTools.add(currentTools);
|
||||
}
|
||||
JobDescriptor[] jobDescriptors = tool.getJobDescriptors();
|
||||
JobDescriptor[] jobDescriptors = tool.getJobDescriptors(this);
|
||||
for (JobDescriptor jobDescriptor : jobDescriptors) {
|
||||
appendJobDescriptor(jobDescriptor);
|
||||
}
|
||||
@@ -637,7 +638,7 @@ public class GlobalInspectionContextImpl extends UserDataHolderBase implements G
|
||||
return myTools;
|
||||
}
|
||||
|
||||
private void appendJobDescriptor(JobDescriptor job) {
|
||||
private void appendJobDescriptor(@NotNull JobDescriptor job) {
|
||||
if (!myJobDescriptors.contains(job)) {
|
||||
myJobDescriptors.add(job);
|
||||
job.setDoneAmount(0);
|
||||
@@ -683,18 +684,23 @@ public class GlobalInspectionContextImpl extends UserDataHolderBase implements G
|
||||
int old = job.getDoneAmount();
|
||||
job.setDoneAmount(old + 1);
|
||||
|
||||
int jobCount = myJobDescriptors.size();
|
||||
float totalProgress = 0;
|
||||
for (JobDescriptor jobDescriptor : myJobDescriptors) {
|
||||
totalProgress += jobDescriptor.getProgress();
|
||||
}
|
||||
|
||||
totalProgress /= jobCount;
|
||||
float totalProgress = getTotalProgress();
|
||||
|
||||
myProgressIndicator.setFraction(totalProgress);
|
||||
myProgressIndicator.setText(job.getDisplayName() + " " + message);
|
||||
}
|
||||
|
||||
private float getTotalProgress() {
|
||||
float totalProgress = 0;
|
||||
int liveDescriptors = 0;
|
||||
for (JobDescriptor jobDescriptor : myJobDescriptors) {
|
||||
totalProgress += jobDescriptor.getProgress();
|
||||
liveDescriptors += jobDescriptor.getTotalAmount() == 0 ? 0 : 1;
|
||||
}
|
||||
|
||||
return totalProgress / liveDescriptors;
|
||||
}
|
||||
|
||||
public void setExternalProfile(InspectionProfile profile) {
|
||||
myExternalProfile = profile;
|
||||
}
|
||||
|
||||
+3
-3
@@ -50,13 +50,13 @@ public class GlobalInspectionToolWrapper extends DescriptorProviderInspection {
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public JobDescriptor[] getJobDescriptors() {
|
||||
public JobDescriptor[] getJobDescriptors(GlobalInspectionContext context) {
|
||||
final JobDescriptor[] additionalJobs = myTool.getAdditionalJobs();
|
||||
if (additionalJobs == null) {
|
||||
return isGraphNeeded() ? GlobalInspectionContextImpl.BUILD_GRAPH_ONLY : JobDescriptor.EMPTY_ARRAY;
|
||||
return isGraphNeeded() ? ((GlobalInspectionContextImpl)context).BUILD_GRAPH_ONLY : JobDescriptor.EMPTY_ARRAY;
|
||||
}
|
||||
else {
|
||||
return isGraphNeeded() ? ArrayUtil.append(additionalJobs, GlobalInspectionContextImpl.BUILD_GRAPH) : additionalJobs;
|
||||
return isGraphNeeded() ? ArrayUtil.append(additionalJobs, ((GlobalInspectionContextImpl)context).BUILD_GRAPH) : additionalJobs;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -77,7 +77,7 @@ public abstract class InspectionTool extends InspectionProfileEntry {
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public abstract JobDescriptor[] getJobDescriptors();
|
||||
public abstract JobDescriptor[] getJobDescriptors(GlobalInspectionContext globalInspectionContext);
|
||||
|
||||
public boolean queryExternalUsagesRequests(final InspectionManager manager) {
|
||||
return false;
|
||||
|
||||
+2
-2
@@ -80,8 +80,8 @@ public final class LocalInspectionToolWrapper extends DescriptorProviderInspecti
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public JobDescriptor[] getJobDescriptors() {
|
||||
return GlobalInspectionContextImpl.LOCAL_ANALYSIS_ARRAY;
|
||||
public JobDescriptor[] getJobDescriptors(GlobalInspectionContext context) {
|
||||
return ((GlobalInspectionContextImpl)context).LOCAL_ANALYSIS_ARRAY;
|
||||
}
|
||||
|
||||
public void addProblemDescriptors(List<ProblemDescriptor> descriptors, final boolean filterSuppressed) {
|
||||
|
||||
@@ -364,8 +364,7 @@ public class RefManagerImpl extends RefManager {
|
||||
public void visitFile(PsiFile file) {
|
||||
final VirtualFile virtualFile = file.getVirtualFile();
|
||||
if (virtualFile != null) {
|
||||
myContext
|
||||
.incrementJobDoneAmount(GlobalInspectionContextImpl.BUILD_GRAPH, ProjectUtil.calcRelativeToProjectPath(virtualFile, myProject));
|
||||
myContext.incrementJobDoneAmount(myContext.BUILD_GRAPH, ProjectUtil.calcRelativeToProjectPath(virtualFile, myProject));
|
||||
}
|
||||
final FileViewProvider viewProvider = file.getViewProvider();
|
||||
final Set<Language> relevantLanguages = viewProvider.getLanguages();
|
||||
|
||||
+1
-1
@@ -82,6 +82,7 @@ public class BackwardDependenciesBuilder extends DependenciesBuilder {
|
||||
final PsiManager psiManager = PsiManager.getInstance(getProject());
|
||||
psiManager.startBatchFilesProcessingMode();
|
||||
try {
|
||||
final int fileCount = getScope().getFileCount();
|
||||
getScope().accept(new PsiRecursiveElementVisitor() {
|
||||
@Override public void visitFile(final PsiFile file) {
|
||||
ProgressIndicator indicator = ProgressManager.getInstance().getProgressIndicator();
|
||||
@@ -94,7 +95,6 @@ public class BackwardDependenciesBuilder extends DependenciesBuilder {
|
||||
if (virtualFile != null) {
|
||||
indicator.setText2(ProjectUtil.calcRelativeToProjectPath(virtualFile, getProject()));
|
||||
}
|
||||
final int fileCount = getScope().getFileCount();
|
||||
if (fileCount > 0) {
|
||||
indicator.setFraction(((double)++myFileCount) / myTotalFileCount);
|
||||
}
|
||||
|
||||
-16
@@ -19,10 +19,7 @@ import com.intellij.codeHighlighting.HighlightDisplayLevel;
|
||||
import com.intellij.codeInsight.daemon.impl.HighlightInfo;
|
||||
import com.intellij.codeInsight.daemon.impl.HighlightInfoFilter;
|
||||
import com.intellij.codeInspection.*;
|
||||
import com.intellij.codeInspection.ex.JobDescriptor;
|
||||
import com.intellij.openapi.project.ProjectUtil;
|
||||
import com.intellij.openapi.util.TextRange;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.psi.PsiFile;
|
||||
import com.intellij.psi.XmlRecursiveElementVisitor;
|
||||
@@ -34,27 +31,18 @@ import org.jetbrains.annotations.Nullable;
|
||||
* @author yole
|
||||
*/
|
||||
public class XmlHighlightVisitorBasedInspection extends GlobalSimpleInspectionTool {
|
||||
private static final JobDescriptor XML_HIGHLIGHTER =
|
||||
new JobDescriptor(InspectionsBundle.message("inspection.processing.job.descriptor2"));
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public HighlightDisplayLevel getDefaultLevel() {
|
||||
return HighlightDisplayLevel.ERROR;
|
||||
}
|
||||
|
||||
@Override
|
||||
public JobDescriptor[] getAdditionalJobs() {
|
||||
return new JobDescriptor[]{XML_HIGHLIGHTER};
|
||||
}
|
||||
|
||||
@Override
|
||||
public void checkFile(@NotNull PsiFile file,
|
||||
@NotNull final InspectionManager manager,
|
||||
@NotNull ProblemsHolder problemsHolder,
|
||||
@NotNull final GlobalInspectionContext globalContext,
|
||||
@NotNull final ProblemDescriptionsProcessor problemDescriptionsProcessor) {
|
||||
//XML_HIGHLIGHTER.setTotalAmount(scope.getFileCount());
|
||||
file.accept(new XmlRecursiveElementVisitor() {
|
||||
final XmlHighlightVisitor highlightVisitor = new XmlHighlightVisitor();
|
||||
|
||||
@@ -80,10 +68,6 @@ public class XmlHighlightVisitorBasedInspection extends GlobalSimpleInspectionTo
|
||||
return true;
|
||||
}
|
||||
};
|
||||
final VirtualFile virtualFile = file.getVirtualFile();
|
||||
if (virtualFile != null) {
|
||||
globalContext.incrementJobDoneAmount(XML_HIGHLIGHTER, ProjectUtil.calcRelativeToProjectPath(virtualFile, file.getProject()));
|
||||
}
|
||||
super.visitFile(file);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user