Browse Source

Fixed FindFunction() to search namespaces.

pull/230/merge
Tom Spilman 12 years ago committed by triton
parent
commit
2027212e85
  1. 15
      src/AST/Namespace.cs

15
src/AST/Namespace.cs

@ -165,6 +165,11 @@ namespace CppSharp.AST @@ -165,6 +165,11 @@ namespace CppSharp.AST
}
public Function FindFunction(string name, bool createDecl = false)
{
var entries = name.Split(new string[] { "::" },
StringSplitOptions.RemoveEmptyEntries).ToList();
if (entries.Count <= 1)
{
var function = Functions.Find(e => e.Name.Equals(name));
@ -177,6 +182,16 @@ namespace CppSharp.AST @@ -177,6 +182,16 @@ namespace CppSharp.AST
return function;
}
var funcName = entries[entries.Count - 1];
var namespaces = entries.Take(entries.Count - 1);
var @namespace = FindNamespace(namespaces);
if (@namespace == null)
return null;
return @namespace.FindFunction(funcName, createDecl);
}
Class CreateClass(string name, bool isComplete)
{
var @class = new Class

Loading…
Cancel
Save