Browse Source

Added OriginalNamespace to Declaration and now QualifiedOriginalName uses it.

pull/16/head
marcos henrich 12 years ago
parent
commit
fcb93169a2
  1. 25
      src/AST/Declaration.cs

25
src/AST/Declaration.cs

@ -38,10 +38,24 @@ namespace CppSharp.AST
/// </summary> /// </summary>
public abstract class Declaration : INamedDecl public abstract class Declaration : INamedDecl
{ {
private DeclarationContext @namespace;
public DeclarationContext OriginalNamespace;
// Namespace the declaration is contained in. // Namespace the declaration is contained in.
public DeclarationContext Namespace; public DeclarationContext Namespace
{
get { return @namespace; }
set
{
@namespace = value;
if (OriginalNamespace == null)
OriginalNamespace = @namespace;
}
}
private string name; private string name;
public virtual string OriginalName { get; set;}
// Name of the declaration. // Name of the declaration.
public virtual string Name public virtual string Name
@ -66,17 +80,14 @@ namespace CppSharp.AST
} }
} }
// Name of the declaration.
public virtual string OriginalName { get; set;}
public string QualifiedOriginalName public string QualifiedOriginalName
{ {
get get
{ {
if (Namespace == null) if (OriginalNamespace == null)
return OriginalName; return OriginalName;
return Namespace.IsRoot ? OriginalName return OriginalNamespace.IsRoot ? OriginalName
: string.Format("{0}::{1}", Namespace.QualifiedOriginalName, OriginalName); : string.Format("{0}::{1}", OriginalNamespace.QualifiedOriginalName, OriginalName);
} }
} }

Loading…
Cancel
Save