internal static void Unload(MonoDevelop.Projects.WorkspaceItem item) { var ws = item as MonoDevelop.Projects.Workspace; if (ws != null) { foreach (var it in ws.Items) { Unload(it); } ws.ItemAdded -= OnWorkspaceItemAdded; ws.ItemRemoved -= OnWorkspaceItemRemoved; MonoDocDocumentationProvider.ClearCommentCache(); } else { var solution = item as MonoDevelop.Projects.Solution; if (solution != null) { MonoDevelopWorkspace result = GetWorkspace(solution); if (result != emptyWorkspace) { lock (workspaceLock) workspaces = workspaces.Remove(result); result.Dispose(); } solution.SolutionItemAdded -= OnSolutionItemAdded; solution.SolutionItemRemoved -= OnSolutionItemRemoved; if (solution.ParentWorkspace == null) { MonoDocDocumentationProvider.ClearCommentCache(); } } } }
public static string GetDocumentation(ISymbol member) { if (member == null) { return(null); } var documentation = member.GetDocumentationCommentXml(); if (string.IsNullOrEmpty(documentation)) { documentation = MonoDocDocumentationProvider.GetDocumentation(member); } if (documentation != null) { return(CleanEmpty(documentation)); } return(null); }
internal void Unload(MonoDevelop.Projects.WorkspaceItem item) { var ws = item as MonoDevelop.Projects.Workspace; if (ws != null) { foreach (var it in ws.Items) { Unload(it); } ws.ItemAdded -= OnWorkspaceItemAdded; ws.ItemRemoved -= OnWorkspaceItemRemoved; MonoDocDocumentationProvider.ClearCommentCache(); } else { var solution = item as MonoDevelop.Projects.Solution; if (solution != null) { MonoDevelopWorkspace result = GetWorkspace(solution); if (result != emptyWorkspace) { lock (workspaceLock) workspaces = workspaces.Remove(result); result.Dispose(); } lock (solution.ExtendedProperties.SyncRoot) { if (solution.ExtendedProperties [typeof(WorkspaceRequestRegistration)] is WorkspaceRequestRegistration registration) { registration.Dispose(); } } solution.SolutionItemAdded -= OnSolutionItemAdded; solution.SolutionItemRemoved -= OnSolutionItemRemoved; if (solution.ParentWorkspace == null) { MonoDocDocumentationProvider.ClearCommentCache(); } } } }
protected override string GetDocumentationForSymbol(string documentationMemberID, CultureInfo preferredCulture, CancellationToken cancellationToken = default(CancellationToken)) { return(MonoDocDocumentationProvider.GetDocumentation(documentationMemberID)); }