private List<ClangCursor> FindFunctions(ClangCursor head, string name)
{
var result = new List<ClangCursor>();
if (name != string.Empty)
{
foreach (var c in head.GetChildren())
{
if (c.Spelling == name)
{
if (CursorIsValidDeclaration(c))
{
if (!result.Any(cc => cc.DisplayName == c.DisplayName))
{
result.Add(c);
}
}
}
result.AddRange(FindFunctions(c, name));
}
}
return result;
}