public async Task OnReferenceFoundAsync( SerializableSymbolAndProjectId definition, SerializableReferenceLocation reference) { var symbolAndProjectId = await definition.RehydrateAsync( _solution, _cancellationToken).ConfigureAwait(false); var referenceLocation = await reference.RehydrateAsync( _solution, _cancellationToken).ConfigureAwait(false); await _progress.OnReferenceFoundAsync(symbolAndProjectId, referenceLocation).ConfigureAwait(false); }
public async Task OnDefinitionFoundAsync(SerializableSymbolAndProjectId definition) { var symbolAndProjectId = await definition.RehydrateAsync( _solution, _cancellationToken).ConfigureAwait(false); lock (_gate) { _definitionMap[definition] = symbolAndProjectId; } await _progress.OnDefinitionFoundAsync(symbolAndProjectId).ConfigureAwait(false); }
public async Task FindReferencesAsync(SerializableSymbolAndProjectId symbolAndProjectIdArg, DocumentId[] documentArgs) { var solution = await GetSolutionAsync().ConfigureAwait(false); var symbolAndProjectId = await symbolAndProjectIdArg.RehydrateAsync( solution, CancellationToken).ConfigureAwait(false); var documents = documentArgs?.Select(solution.GetDocument) .ToImmutableHashSet(); var progressCallback = new ProgressCallback(this); await SymbolFinder.FindReferencesInCurrentProcessAsync( symbolAndProjectId, solution, progressCallback, documents, CancellationToken).ConfigureAwait(false); }
public async Task FindReferencesAsync( SerializableSymbolAndProjectId symbolAndProjectIdArg, SerializableDocumentId[] documentArgs, byte[] solutionChecksum) { var solution = await RoslynServices.SolutionService.GetSolutionAsync( new Checksum(solutionChecksum), CancellationToken).ConfigureAwait(false); var symbolAndProjectId = await symbolAndProjectIdArg.RehydrateAsync( solution, CancellationToken).ConfigureAwait(false); var documents = documentArgs?.Select(a => a.Rehydrate()) .Select(solution.GetDocument) .ToImmutableHashSet(); var progressCallback = new ProgressCallback(this); await SymbolFinder.FindReferencesInCurrentProcessAsync( symbolAndProjectId, solution, progressCallback, documents, CancellationToken).ConfigureAwait(false); }