@Override public void performPreRunActivities( @NotNull final List<Tools> globalTools, @NotNull final List<Tools> localTools, @NotNull final GlobalInspectionContext context) { final AnalysisScope analysisScope = context.getRefManager().getScope(); if (analysisScope == null) return; final GlobalSearchScope scope = GlobalSearchScope.EMPTY_SCOPE.union(analysisScope.toSearchScope()); updateIndicator("Looking for Dart files...", -1); final Collection<VirtualFile> dartFiles = ApplicationManager.getApplication() .runReadAction( new Computable<Collection<VirtualFile>>() { @Override public Collection<VirtualFile> compute() { return FileTypeIndex.getFiles(DartFileType.INSTANCE, scope); } }); double index = 0.0; final int size = dartFiles.size(); for (final VirtualFile dartFile : dartFiles) { index++; analyzeFile(dartFile, context.getProject(), index / size); } }