public async Task FindReferencesAsync(SymbolAndProjectId symbolAndProjectId) { await _progress.OnStartedAsync().ConfigureAwait(false); await _progressTracker.AddItemsAsync(1).ConfigureAwait(false); try { var symbols = await DetermineAllSymbolsAsync(symbolAndProjectId).ConfigureAwait(false); var projectMap = await CreateProjectMapAsync(symbols).ConfigureAwait(false); var projectToDocumentMap = await CreateProjectToDocumentMapAsync(projectMap).ConfigureAwait(false); ValidateProjectToDocumentMap(projectToDocumentMap); await ProcessAsync(projectToDocumentMap).ConfigureAwait(false); } finally { await _progressTracker.ItemCompletedAsync().ConfigureAwait(false); await _progress.OnCompletedAsync().ConfigureAwait(false); } }
public async Task FindReferencesAsync() { await _progressTracker.AddItemsAsync(1).ConfigureAwait(false); try { if (_searchKind != SearchKind.None) { await FindReferencesWorkerAsync().ConfigureAwait(false); } } finally { await _progressTracker.ItemCompletedAsync().ConfigureAwait(false); } }
public async Task <IEnumerable <ReferencedSymbol> > FindReferencesAsync( SymbolAndProjectId symbolAndProjectId) { await _progress.OnStartedAsync().ConfigureAwait(false); await _progressTracker.AddItemsAsync(1).ConfigureAwait(false); try { var symbols = await DetermineAllSymbolsAsync(symbolAndProjectId).ConfigureAwait(false); var projectMap = await CreateProjectMapAsync(symbols).ConfigureAwait(false); var documentMap = await CreateDocumentMapAsync(projectMap).ConfigureAwait(false); await ProcessAsync(documentMap).ConfigureAwait(false); } finally { await _progressTracker.ItemCompletedAsync().ConfigureAwait(false); await _progress.OnCompletedAsync().ConfigureAwait(false); } return(_foundReferences.Select( kvp => new ReferencedSymbol(kvp.Key, kvp.Value.ToImmutableArray())).ToImmutableArray()); }