@Override public void processNames( @NotNull final Processor<String> processor, @NotNull GlobalSearchScope scope, IdFilter filter) { long started = System.currentTimeMillis(); FileBasedIndex.getInstance() .processAllKeys( FilenameIndex.NAME, new Processor<String>() { @Override public boolean process(String s) { return processor.process(s); } }, scope, filter); if (IdFilter.LOG.isDebugEnabled()) { IdFilter.LOG.debug("All names retrieved:" + (System.currentTimeMillis() - started)); } }
@Override @NotNull public String[] getNames(Project project, boolean includeNonProjectItems) { if (FileBasedIndex.ourEnableTracingOfKeyHashToVirtualFileMapping) { final THashSet<String> names = new THashSet<String>(1000); IdFilter filter = IdFilter.getProjectIdFilter(project, includeNonProjectItems); processNames( new Processor<String>() { @Override public boolean process(String s) { names.add(s); return true; } }, FindSymbolParameters.searchScopeFor(project, includeNonProjectItems), filter); if (IdFilter.LOG.isDebugEnabled()) { IdFilter.LOG.debug("All names retrieved2:" + names.size()); } return ArrayUtil.toStringArray(names); } else { return FilenameIndex.getAllFilenames(project); } }