Browse Source

Fixed FindEnum to work with qualified names.

pull/1/head
triton 12 years ago
parent
commit
95418f79ab
  1. 15
      src/Bridge/Namespace.cs

15
src/Bridge/Namespace.cs

@ -88,6 +88,11 @@ namespace CppSharp @@ -88,6 +88,11 @@ namespace CppSharp
}
public Enumeration FindEnum(string name, bool createDecl = false)
{
var entries = name.Split(new string[] { "::" },
StringSplitOptions.RemoveEmptyEntries).ToList();
if (entries.Count <= 1)
{
var @enum = Enums.Find(e => e.Name.Equals(name));
@ -100,6 +105,16 @@ namespace CppSharp @@ -100,6 +105,16 @@ namespace CppSharp
return @enum;
}
var enumName = entries[entries.Count - 1];
var namespaces = entries.Take(entries.Count - 1);
var @namespace = FindNamespace(namespaces);
if (@namespace == null)
return null;
return @namespace.FindEnum(enumName, createDecl);
}
public Function FindFunction(string name, bool createDecl = false)
{
var function = Functions.Find(e => e.Name.Equals(name));

Loading…
Cancel
Save