Browse Source

Improved the logic for checking for (nested/qualified) namespaces.

pull/1/head
triton 12 years ago
parent
commit
3c07a324a8
  1. 24
      src/Bridge/Namespace.cs

24
src/Bridge/Namespace.cs

@ -68,9 +68,31 @@ namespace Cxxi
public Namespace FindNamespace(string name) public Namespace FindNamespace(string name)
{ {
return Namespaces.Find(e => e.Name.Equals(name)); var namespaces = name.Split(new string[] { "::" },
StringSplitOptions.RemoveEmptyEntries);
return FindNamespace(namespaces);
}
public Namespace FindNamespace(string[] namespaces)
{
Namespace currentNamespace = this;
foreach (var @namespace in namespaces)
{
var childNamespace = currentNamespace.Namespaces.Find(
e => e.Name.Equals(@namespace));
if (childNamespace == null)
return null;
currentNamespace = childNamespace;
} }
return currentNamespace;
}
public Namespace FindCreateNamespace(string name, Namespace parent) public Namespace FindCreateNamespace(string name, Namespace parent)
{ {
var @namespace = FindNamespace(name); var @namespace = FindNamespace(name);

Loading…
Cancel
Save