Browse Source

Remove the redundant Parent property of the namespace and just use the Namespace property from the declaration.

pull/1/head
triton 13 years ago
parent
commit
70eeebb9f1
  1. 14
      src/Bridge/Namespace.cs

14
src/Bridge/Namespace.cs

@ -9,7 +9,6 @@ namespace Cxxi
/// </summary> /// </summary>
public class Namespace : Declaration public class Namespace : Declaration
{ {
public Namespace Parent { get; set; }
public bool IsAnonymous { get; set; } public bool IsAnonymous { get; set; }
public List<Namespace> Namespaces; public List<Namespace> Namespaces;
@ -26,7 +25,7 @@ namespace Cxxi
if (this is TranslationUnit) if (this is TranslationUnit)
return this as TranslationUnit; return this as TranslationUnit;
else else
return Parent.TranslationUnit; return Namespace.TranslationUnit;
} }
} }
@ -35,7 +34,7 @@ namespace Cxxi
get get
{ {
return !IgnoreFlags.HasFlag(IgnoreFlags.Generation) || return !IgnoreFlags.HasFlag(IgnoreFlags.Generation) ||
Parent.IsGenerated; Namespace.IsGenerated;
} }
} }
@ -44,7 +43,7 @@ namespace Cxxi
get get
{ {
return !IgnoreFlags.HasFlag(IgnoreFlags.Processing) || return !IgnoreFlags.HasFlag(IgnoreFlags.Processing) ||
Parent.IsProcessed; Namespace.IsProcessed;
} }
} }
@ -56,7 +55,7 @@ namespace Cxxi
public Namespace(Namespace parent, string name, bool isAnonymous = false) public Namespace(Namespace parent, string name, bool isAnonymous = false)
{ {
Name = name; Name = name;
Parent = parent; Namespace = parent;
IsAnonymous = isAnonymous; IsAnonymous = isAnonymous;
Namespaces = new List<Namespace>(); Namespaces = new List<Namespace>();
@ -132,6 +131,9 @@ namespace Cxxi
public Class FindClass(string name, bool isComplete, public Class FindClass(string name, bool isComplete,
bool createDecl = false) bool createDecl = false)
{ {
var namespaces = name.Split(new string[] { "::" },
StringSplitOptions.RemoveEmptyEntries);
var @class = FindClass(name); var @class = FindClass(name);
if (@class == null) if (@class == null)
@ -216,7 +218,7 @@ namespace Cxxi
} }
} }
public bool IsRoot { get { return Parent == null; } } public bool IsRoot { get { return Namespace == null; } }
public override T Visit<T>(IDeclVisitor<T> visitor) public override T Visit<T>(IDeclVisitor<T> visitor)
{ {

Loading…
Cancel
Save