Browse Source

Added support in Namespace.cs to store typedefs.

pull/1/head
triton 13 years ago
parent
commit
8f5464c6df
  1. 11
      src/Bridge/Namespace.cs

11
src/Bridge/Namespace.cs

@ -16,6 +16,7 @@ namespace Cxxi
public List<Enumeration> Enums; public List<Enumeration> Enums;
public List<Function> Functions; public List<Function> Functions;
public List<Class> Classes; public List<Class> Classes;
public List<Typedef> Typedefs;
public Namespace() public Namespace()
: this(null, String.Empty) : this(null, String.Empty)
@ -32,6 +33,7 @@ namespace Cxxi
Enums = new List<Enumeration>(); Enums = new List<Enumeration>();
Functions = new List<Function>(); Functions = new List<Function>();
Classes = new List<Class>(); Classes = new List<Class>();
Typedefs = new List<Typedef>();
} }
public Namespace FindNamespace(string name) public Namespace FindNamespace(string name)
@ -64,10 +66,17 @@ namespace Cxxi
return @class; return @class;
} }
public Typedef FindTypedef(string name)
{
return Typedefs.Find(e => e.Name.Equals(name));
}
public T FindType<T>(string name) where T : Declaration public T FindType<T>(string name) where T : Declaration
{ {
var type = FindEnum(name) var type = FindEnum(name)
?? FindFunction(name) ?? (Declaration)FindClass(name); ?? FindFunction(name)
?? (Declaration)FindClass(name)
?? FindTypedef(name);
return type as T; return type as T;
} }

Loading…
Cancel
Save