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 <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()); }
public async Task FindReferencesAsync(ISymbol symbol, CancellationToken cancellationToken) { await _progress.OnStartedAsync(cancellationToken).ConfigureAwait(false); try { await using var _ = await _progressTracker.AddSingleItemAsync(cancellationToken).ConfigureAwait(false); // For the starting symbol, always cascade up and down the inheritance hierarchy. var symbols = await DetermineAllSymbolsAsync( symbol, FindReferencesCascadeDirection.UpAndDown, cancellationToken).ConfigureAwait(false); var projectMap = await CreateProjectMapAsync(symbols, cancellationToken).ConfigureAwait(false); var projectToDocumentMap = await CreateProjectToDocumentMapAsync(projectMap, cancellationToken).ConfigureAwait(false); ValidateProjectToDocumentMap(projectToDocumentMap); await ProcessAsync(projectToDocumentMap, cancellationToken).ConfigureAwait(false); } finally { await _progress.OnCompletedAsync(cancellationToken).ConfigureAwait(false); } }
public async Task FindReferencesAsync(ISymbol symbol) { await _progress.OnStartedAsync().ConfigureAwait(false); try { await using var _ = await _progressTracker.AddSingleItemAsync().ConfigureAwait(false); var symbols = await DetermineAllSymbolsAsync(symbol).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 _progress.OnCompletedAsync().ConfigureAwait(false); } }
public Task OnCompletedAsync() => _progress.OnCompletedAsync();
public Task OnCompletedAsync() => _underlyingProgress.OnCompletedAsync();