示例#1
0
        public async Task <IEnumerable <ReferencedSymbol> > FindReferencesAsync(ISymbol symbol)
        {
            progress.OnStarted();
            progress.ReportProgress(0, 1);
            try
            {
                var symbols = await DetermineAllSymbolsAsync(symbol).ConfigureAwait(false);

                var projectMap = await CreateProjectMapAsync(symbols).ConfigureAwait(false);

                var documentMap = await CreateDocumentMapAsync(projectMap).ConfigureAwait(false);
                await ProcessAsync(documentMap).ConfigureAwait(false);
            }
            finally
            {
                progress.ReportProgress(1, 1);
                progress.OnCompleted();
            }

            return(this.foundReferences.Select(kvp => new ReferencedSymbol(kvp.Key, kvp.Value.ToImmutableArray())).ToImmutableArray());
        }
示例#2
0
 public Task OnStartedAsync()
 {
     _progress.OnStarted();
     return(SpecializedTasks.EmptyTask);
 }
示例#3
0
 public Task OnStartedAsync()
 {
     _progress.OnStarted();
     return(Task.CompletedTask);
 }