void AddExtensionMethods (Tree tree)
{
XmlDocument extensions = null;
XmlNode root = null;
int numMethods = 0;
foreach (string asm in asm_dirs) {
string overview_file = Path.Combine (asm, "index.xml");
if (File.Exists (overview_file)) {
XmlDocument overview = new XmlDocument ();
overview.Load (overview_file);
XmlNodeList e = overview.SelectNodes ("/Overview/ExtensionMethods/*");
if (e.Count > 0) {
if (extensions == null) {
extensions = new XmlDocument ();
root = extensions.CreateElement ("ExtensionMethods");
extensions.AppendChild (root);
}
foreach (XmlNode n in e) {
++numMethods;
root.AppendChild (extensions.ImportNode (n, true));
}
}
}
}
if (extensions != null) {
tree.HelpSource.Message (TraceLevel.Info, "Have {0} extension methods", numMethods);
tree.HelpSource.PackXml ("ExtensionMethods.xml", extensions, "ExtensionMethods.xml");
}
}