void FindReferencesThread(object state) { try { foreach (var sr in ReferenceFinding.FindReferences( IdeApp.Workbench.ActiveDocument.HasProject ? IdeApp.Workbench.ActiveDocument.Project as DProject : null, (INode)state, monitor)) { monitor.ReportResult(sr); } } 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(); } } }
public static void StartReferenceSearchAsync(INode n) { var rf = new ReferenceFinding { monitor = IdeApp.Workbench.ProgressMonitors.GetSearchProgressMonitor(true, true) }; ThreadPool.QueueUserWorkItem(rf.FindReferencesThread, n); }
public static void StartReferenceSearchAsync(INode n, bool searchInDerivatives = false) { var rf = new ReferenceFinding { alsoSearchDerivatives = searchInDerivatives, monitor = IdeApp.Workbench.ProgressMonitors.GetSearchProgressMonitor(true, true) }; ThreadPool.QueueUserWorkItem(rf.FindReferencesThread, n); }
public void FindReferences(bool allOverloads = false) { AbstractType res = GetResult(); INode n; if (res != null && (n = DResolver.GetResultMember(res, true)) != null) { ReferenceFinding.StartReferenceSearchAsync(n, allOverloads); } }
void FindReferences() { ReferenceFinding.StartReferenceSearchAsync(firstResultNode); }
public void FindReferences() { ReferenceFinding.StartReferenceSearchAsync(n); }