public override IEnumerable<Issue> GetIssues()
{
XmlNodeList issues = doc.SelectNodes ("/report/assemblies/assembly/issue");
foreach (XmlNode node in issues) {
string type_str = node.Attributes ["type"].Value;
IssueType issue_type = GetIssueTypeFromString (type_str);
Issue issue;
if (issue_type == IssueType.PInvoke) {
XmlNode function = node.SelectSingleNode ("method");
XmlNode library = node.SelectSingleNode ("data");
string lib = library.InnerText;
if (!String.IsNullOrEmpty (lib))
lib = lib.ToLowerInvariant ();
string func = function.InnerText;
if (!String.IsNullOrEmpty (func))
func = func.ToLowerInvariant ();
issue = new PInvokeIssue (lib, func);
} else {
XmlNode name = node.SelectSingleNode ("raw");
issue = new MemberIssue (issue_type, name.InnerText, null);
}
yield return issue;
}
}