public override bool GoTo(DbgLoadModuleReference moduleRef, ReadOnlyCollection <object> options) { if (moduleRef.Module.IsDotNetModule()) { GoToCore(moduleRef, options); return(true); } return(false); }
void GoTo(DbgLoadModuleReference moduleRef, ReadOnlyCollection <object> options) { foreach (var lz in dbgLoadModuleReferenceHandlers) { if (lz.Value.GoTo(moduleRef, options)) { return; } } Debug.Fail($"No handler for module {moduleRef.Module.Name}"); }
bool GoToCore(DbgLoadModuleReference moduleRef, ReadOnlyCollection <object> options) { bool canShowMessageBox = true; var md = LoadModule(moduleRef.Module, moduleRef.UseMemory, ref canShowMessageBox); if (md == null) { return(false); } // The file could've been added lazily to the list so add a short delay before we select it bool newTab = options.Any(a => StringComparer.Ordinal.Equals(PredefinedReferenceNavigatorOptions.NewTab, a)); uiDispatcher.UIBackground(() => documentTabService.FollowReference(md, newTab)); return(true); }