public static async Task FindAllReferencesAsync (string documentIdString, Projects.Project hintProject = null, CancellationToken token = default(CancellationToken))
{
if (hintProject == null)
hintProject = IdeApp.Workbench.ActiveDocument?.Project;
var monitor = IdeApp.Workbench.ProgressMonitors.GetSearchProgressMonitor (true, true);
try {
foreach (var provider in findReferencesProvider) {
foreach (var result in await provider.FindAllReferences (documentIdString, hintProject, token)) {
monitor.ReportResult (result);
}
}
} catch (OperationCanceledException) {
} catch (Exception ex) {
if (monitor != null)
monitor.ReportError ("Error finding references", ex);
else
LoggingService.LogError ("Error finding references", ex);
} finally {
if (monitor != null)
monitor.Dispose ();
}
}