Browse Source

Fixed FindClass to work with qualified names.

pull/1/head
triton 12 years ago
parent
commit
a19381df38
  1. 16
      src/Bridge/Namespace.cs

16
src/Bridge/Namespace.cs

@ -142,13 +142,25 @@ namespace CppSharp
public Class FindClass(string name) public Class FindClass(string name)
{ {
var namespaces = name.Split(new string[] { "::" }, var entries = name.Split(new string[] { "::" },
StringSplitOptions.RemoveEmptyEntries); StringSplitOptions.RemoveEmptyEntries).ToList();
if (entries.Count <= 1)
{
var @class = Classes.Find(e => e.Name.Equals(name)); var @class = Classes.Find(e => e.Name.Equals(name));
return @class; return @class;
} }
var className = entries[entries.Count - 1];
var namespaces = entries.Take(entries.Count - 1);
var @namespace = FindNamespace(namespaces);
if (@namespace == null)
return null;
return @namespace.FindClass(className);
}
public Class FindClass(string name, bool isComplete, public Class FindClass(string name, bool isComplete,
bool createDecl = false) bool createDecl = false)
{ {

Loading…
Cancel
Save