public override string GetDescription(int index) { string description = string.Empty; NVIdNode idNode = _declarations[index].IdNode; if (idNode is NVClassNode) { NVClassNode classNode = (NVClassNode)idNode; XmlDocumentationProvider documentationProvider = new XmlDocumentationProvider(classNode.AssemblyFileName); string classSummary = documentationProvider.GetTypeDocumentation(classNode.FullName); if (!string.IsNullOrEmpty(classSummary)) { description = string.Format("class {0}\n{1}", classNode.FullName, classSummary); } else { description = string.Format("class {0}", classNode.FullName); } } else if (idNode is NVLocalNode) { NVClassNode classNode = (NVClassNode)idNode.Type; if (classNode != null) { XmlDocumentationProvider documentationProvider = new XmlDocumentationProvider(classNode.AssemblyFileName); description = documentationProvider.GetTypeDocumentation(classNode.FullName); } } else if (idNode is NVMethodNode) { NVClassNode classNode = (NVClassNode)((NVMethodNode)idNode).Parent; if (classNode != null) { XmlDocumentationProvider documentationProvider = new XmlDocumentationProvider(classNode.AssemblyFileName); description = documentationProvider.GetMethodDocumentation(classNode.FullName, idNode.Name); } } // Return the documentation or an error message if (!string.IsNullOrEmpty(description)) { return(description); } return(string.Format("Could not retrieve documentation for AST node '{0}' (because it is not supported).", idNode != null ? idNode.GetType().Name : "")); }
public override string GetDescription(int index) { string description = string.Empty; NVIdNode idNode = _declarations[index].IdNode; if (idNode is NVClassNode) { NVClassNode classNode = (NVClassNode)idNode; XmlDocumentationProvider documentationProvider = new XmlDocumentationProvider(classNode.AssemblyFileName); string classSummary = documentationProvider.GetTypeDocumentation(classNode.FullName); if (!string.IsNullOrEmpty(classSummary)) { description = string.Format("class {0}\n{1}", classNode.FullName, classSummary); } else { description = string.Format("class {0}", classNode.FullName); } } else if (idNode is NVLocalNode) { NVClassNode classNode = (NVClassNode)idNode.Type; if (classNode != null) { XmlDocumentationProvider documentationProvider = new XmlDocumentationProvider(classNode.AssemblyFileName); description = documentationProvider.GetTypeDocumentation(classNode.FullName); } } else if (idNode is NVMethodNode) { NVClassNode classNode = (NVClassNode)((NVMethodNode)idNode).Parent; if (classNode != null) { XmlDocumentationProvider documentationProvider = new XmlDocumentationProvider(classNode.AssemblyFileName); description = documentationProvider.GetMethodDocumentation(classNode.FullName, idNode.Name); } } // Return the documentation or an error message if (!string.IsNullOrEmpty(description)) { return description; } return string.Format("Could not retrieve documentation for AST node '{0}' (because it is not supported).", idNode != null ? idNode.GetType().Name : ""); }