From 36203df8873ce10039f667b81f63065de1067579 Mon Sep 17 00:00:00 2001
From: Dimitar Dobrev <dpldobrev@yahoo.com>
Date: Mon, 23 Feb 2015 00:49:41 +0200
Subject: [PATCH] Restored the full qualifying when printing types.

Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
---
 .../CSharp/i686-apple-darwin12.4.0/AST.cs     | 268 +++++++++---------
 .../i686-apple-darwin12.4.0/CppParser.cs      |   8 +-
 .../CSharp/i686-apple-darwin12.4.0/Target.cs  |   2 +-
 .../Bindings/CSharp/i686-pc-win32-msvc/AST.cs | 268 +++++++++---------
 .../CSharp/i686-pc-win32-msvc/CppParser.cs    |   8 +-
 .../CSharp/i686-pc-win32-msvc/Target.cs       |   2 +-
 .../Bindings/CSharp/x86_64-linux-gnu/AST.cs   | 266 ++++++++---------
 .../CSharp/x86_64-linux-gnu/CppParser.cs      |   8 +-
 .../CSharp/x86_64-linux-gnu/Target.cs         |   2 +-
 .../Generators/CSharp/CSharpTextTemplate.cs   |   6 -
 src/Generator/Passes/RenameRootNamespaces.cs  |   2 -
 11 files changed, 416 insertions(+), 424 deletions(-)

diff --git a/src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/AST.cs b/src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/AST.cs
index fc6e6a5a..714aeb6a 100644
--- a/src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/AST.cs
+++ b/src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/AST.cs
@@ -267,7 +267,7 @@ namespace CppSharp
                 private static Type.Internal* __CopyValue(Type.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(8);
-                    Type.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.Type.Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return (Type.Internal*) ret;
                 }
 
@@ -545,7 +545,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class TagType : Type, IDisposable
+            public unsafe partial class TagType : CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 12)]
                 public new partial struct Internal
@@ -585,7 +585,7 @@ namespace CppSharp
                 private static TagType.Internal* __CopyValue(TagType.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(12);
-                    TagType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.TagType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (TagType.Internal*) ret;
                 }
 
@@ -596,7 +596,7 @@ namespace CppSharp
                 }
 
                 protected TagType(TagType.Internal* native, bool isInternalImpl = false)
-                    : base((Type.Internal*) native)
+                    : base((CppSharp.Parser.AST.Type.Internal*) native)
                 {
                 }
 
@@ -631,7 +631,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class ArrayType : Type, IDisposable
+            public unsafe partial class ArrayType : CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 24)]
                 public new partial struct Internal
@@ -685,7 +685,7 @@ namespace CppSharp
                 private static ArrayType.Internal* __CopyValue(ArrayType.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(24);
-                    ArrayType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.ArrayType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (ArrayType.Internal*) ret;
                 }
 
@@ -696,7 +696,7 @@ namespace CppSharp
                 }
 
                 protected ArrayType(ArrayType.Internal* native, bool isInternalImpl = false)
-                    : base((Type.Internal*) native)
+                    : base((CppSharp.Parser.AST.Type.Internal*) native)
                 {
                 }
 
@@ -757,7 +757,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class FunctionType : Type, IDisposable
+            public unsafe partial class FunctionType : CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 32)]
                 public new partial struct Internal
@@ -825,7 +825,7 @@ namespace CppSharp
                 private static FunctionType.Internal* __CopyValue(FunctionType.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(32);
-                    FunctionType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.FunctionType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (FunctionType.Internal*) ret;
                 }
 
@@ -836,7 +836,7 @@ namespace CppSharp
                 }
 
                 protected FunctionType(FunctionType.Internal* native, bool isInternalImpl = false)
-                    : base((Type.Internal*) native)
+                    : base((CppSharp.Parser.AST.Type.Internal*) native)
                 {
                 }
 
@@ -911,7 +911,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class PointerType : Type, IDisposable
+            public unsafe partial class PointerType : CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 20)]
                 public new partial struct Internal
@@ -962,7 +962,7 @@ namespace CppSharp
                 private static PointerType.Internal* __CopyValue(PointerType.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(20);
-                    PointerType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.PointerType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (PointerType.Internal*) ret;
                 }
 
@@ -973,7 +973,7 @@ namespace CppSharp
                 }
 
                 protected PointerType(PointerType.Internal* native, bool isInternalImpl = false)
-                    : base((Type.Internal*) native)
+                    : base((CppSharp.Parser.AST.Type.Internal*) native)
                 {
                 }
 
@@ -1021,7 +1021,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class MemberPointerType : Type, IDisposable
+            public unsafe partial class MemberPointerType : CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 16)]
                 public new partial struct Internal
@@ -1061,7 +1061,7 @@ namespace CppSharp
                 private static MemberPointerType.Internal* __CopyValue(MemberPointerType.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(16);
-                    MemberPointerType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.MemberPointerType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (MemberPointerType.Internal*) ret;
                 }
 
@@ -1072,7 +1072,7 @@ namespace CppSharp
                 }
 
                 protected MemberPointerType(MemberPointerType.Internal* native, bool isInternalImpl = false)
-                    : base((Type.Internal*) native)
+                    : base((CppSharp.Parser.AST.Type.Internal*) native)
                 {
                 }
 
@@ -1107,7 +1107,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class TypedefType : Type, IDisposable
+            public unsafe partial class TypedefType : CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 12)]
                 public new partial struct Internal
@@ -1147,7 +1147,7 @@ namespace CppSharp
                 private static TypedefType.Internal* __CopyValue(TypedefType.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(12);
-                    TypedefType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.TypedefType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (TypedefType.Internal*) ret;
                 }
 
@@ -1158,7 +1158,7 @@ namespace CppSharp
                 }
 
                 protected TypedefType(TypedefType.Internal* native, bool isInternalImpl = false)
-                    : base((Type.Internal*) native)
+                    : base((CppSharp.Parser.AST.Type.Internal*) native)
                 {
                 }
 
@@ -1193,7 +1193,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class AttributedType : Type, IDisposable
+            public unsafe partial class AttributedType : CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 24)]
                 public new partial struct Internal
@@ -1236,7 +1236,7 @@ namespace CppSharp
                 private static AttributedType.Internal* __CopyValue(AttributedType.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(24);
-                    AttributedType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.AttributedType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (AttributedType.Internal*) ret;
                 }
 
@@ -1247,7 +1247,7 @@ namespace CppSharp
                 }
 
                 protected AttributedType(AttributedType.Internal* native, bool isInternalImpl = false)
-                    : base((Type.Internal*) native)
+                    : base((CppSharp.Parser.AST.Type.Internal*) native)
                 {
                 }
 
@@ -1295,7 +1295,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class DecayedType : Type, IDisposable
+            public unsafe partial class DecayedType : CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 32)]
                 public new partial struct Internal
@@ -1341,7 +1341,7 @@ namespace CppSharp
                 private static DecayedType.Internal* __CopyValue(DecayedType.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(32);
-                    DecayedType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.DecayedType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (DecayedType.Internal*) ret;
                 }
 
@@ -1352,7 +1352,7 @@ namespace CppSharp
                 }
 
                 protected DecayedType(DecayedType.Internal* native, bool isInternalImpl = false)
-                    : base((Type.Internal*) native)
+                    : base((CppSharp.Parser.AST.Type.Internal*) native)
                 {
                 }
 
@@ -1559,7 +1559,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class TemplateSpecializationType : Type, IDisposable
+            public unsafe partial class TemplateSpecializationType : CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 28)]
                 public new partial struct Internal
@@ -1627,7 +1627,7 @@ namespace CppSharp
                 private static TemplateSpecializationType.Internal* __CopyValue(TemplateSpecializationType.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(28);
-                    TemplateSpecializationType.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.TemplateSpecializationType.Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return (TemplateSpecializationType.Internal*) ret;
                 }
 
@@ -1638,7 +1638,7 @@ namespace CppSharp
                 }
 
                 protected TemplateSpecializationType(TemplateSpecializationType.Internal* native, bool isInternalImpl = false)
-                    : base((Type.Internal*) native)
+                    : base((CppSharp.Parser.AST.Type.Internal*) native)
                 {
                 }
 
@@ -1661,7 +1661,7 @@ namespace CppSharp
 
                 public CppSharp.Parser.AST.TemplateArgument getArguments(uint i)
                 {
-                    var __ret = new TemplateArgument.Internal();
+                    var __ret = new CppSharp.Parser.AST.TemplateArgument.Internal();
                     Internal.getArguments_0(new IntPtr(&__ret), __Instance, i);
                     return CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret);
                 }
@@ -1770,7 +1770,7 @@ namespace CppSharp
                 private static TemplateParameter.Internal* __CopyValue(TemplateParameter.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(16);
-                    TemplateParameter.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.TemplateParameter.Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return (TemplateParameter.Internal*) ret;
                 }
 
@@ -1860,7 +1860,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class TemplateParameterType : Type, IDisposable
+            public unsafe partial class TemplateParameterType : CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 36)]
                 public new partial struct Internal
@@ -1914,7 +1914,7 @@ namespace CppSharp
                 private static TemplateParameterType.Internal* __CopyValue(TemplateParameterType.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(36);
-                    TemplateParameterType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.TemplateParameterType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (TemplateParameterType.Internal*) ret;
                 }
 
@@ -1925,7 +1925,7 @@ namespace CppSharp
                 }
 
                 protected TemplateParameterType(TemplateParameterType.Internal* native, bool isInternalImpl = false)
-                    : base((Type.Internal*) native)
+                    : base((CppSharp.Parser.AST.Type.Internal*) native)
                 {
                 }
 
@@ -1999,7 +1999,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class TemplateParameterSubstitutionType : Type, IDisposable
+            public unsafe partial class TemplateParameterSubstitutionType : CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 16)]
                 public new partial struct Internal
@@ -2039,7 +2039,7 @@ namespace CppSharp
                 private static TemplateParameterSubstitutionType.Internal* __CopyValue(TemplateParameterSubstitutionType.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(16);
-                    TemplateParameterSubstitutionType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.TemplateParameterSubstitutionType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (TemplateParameterSubstitutionType.Internal*) ret;
                 }
 
@@ -2050,7 +2050,7 @@ namespace CppSharp
                 }
 
                 protected TemplateParameterSubstitutionType(TemplateParameterSubstitutionType.Internal* native, bool isInternalImpl = false)
-                    : base((Type.Internal*) native)
+                    : base((CppSharp.Parser.AST.Type.Internal*) native)
                 {
                 }
 
@@ -2085,7 +2085,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class InjectedClassNameType : Type, IDisposable
+            public unsafe partial class InjectedClassNameType : CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 16)]
                 public new partial struct Internal
@@ -2128,7 +2128,7 @@ namespace CppSharp
                 private static InjectedClassNameType.Internal* __CopyValue(InjectedClassNameType.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(16);
-                    InjectedClassNameType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.InjectedClassNameType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (InjectedClassNameType.Internal*) ret;
                 }
 
@@ -2139,7 +2139,7 @@ namespace CppSharp
                 }
 
                 protected InjectedClassNameType(InjectedClassNameType.Internal* native, bool isInternalImpl = false)
-                    : base((Type.Internal*) native)
+                    : base((CppSharp.Parser.AST.Type.Internal*) native)
                 {
                 }
 
@@ -2187,7 +2187,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class DependentNameType : Type, IDisposable
+            public unsafe partial class DependentNameType : CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 8)]
                 public new partial struct Internal
@@ -2224,7 +2224,7 @@ namespace CppSharp
                 private static DependentNameType.Internal* __CopyValue(DependentNameType.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(8);
-                    DependentNameType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.DependentNameType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (DependentNameType.Internal*) ret;
                 }
 
@@ -2235,7 +2235,7 @@ namespace CppSharp
                 }
 
                 protected DependentNameType(DependentNameType.Internal* native, bool isInternalImpl = false)
-                    : base((Type.Internal*) native)
+                    : base((CppSharp.Parser.AST.Type.Internal*) native)
                 {
                 }
 
@@ -2257,7 +2257,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class PackExpansionType : Type, IDisposable
+            public unsafe partial class PackExpansionType : CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 8)]
                 public new partial struct Internal
@@ -2294,7 +2294,7 @@ namespace CppSharp
                 private static PackExpansionType.Internal* __CopyValue(PackExpansionType.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(8);
-                    PackExpansionType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.PackExpansionType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (PackExpansionType.Internal*) ret;
                 }
 
@@ -2305,7 +2305,7 @@ namespace CppSharp
                 }
 
                 protected PackExpansionType(PackExpansionType.Internal* native, bool isInternalImpl = false)
-                    : base((Type.Internal*) native)
+                    : base((CppSharp.Parser.AST.Type.Internal*) native)
                 {
                 }
 
@@ -2327,7 +2327,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class BuiltinType : Type, IDisposable
+            public unsafe partial class BuiltinType : CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 12)]
                 public new partial struct Internal
@@ -2367,7 +2367,7 @@ namespace CppSharp
                 private static BuiltinType.Internal* __CopyValue(BuiltinType.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(12);
-                    BuiltinType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.BuiltinType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (BuiltinType.Internal*) ret;
                 }
 
@@ -2378,7 +2378,7 @@ namespace CppSharp
                 }
 
                 protected BuiltinType(BuiltinType.Internal* native, bool isInternalImpl = false)
-                    : base((Type.Internal*) native)
+                    : base((CppSharp.Parser.AST.Type.Internal*) native)
                 {
                 }
 
@@ -2589,7 +2589,7 @@ namespace CppSharp
                 private static VTableLayout.Internal* __CopyValue(VTableLayout.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(12);
-                    VTableLayout.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.VTableLayout.Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return (VTableLayout.Internal*) ret;
                 }
 
@@ -2628,7 +2628,7 @@ namespace CppSharp
 
                 public CppSharp.Parser.AST.VTableComponent getComponents(uint i)
                 {
-                    var __ret = new VTableComponent.Internal();
+                    var __ret = new CppSharp.Parser.AST.VTableComponent.Internal();
                     Internal.getComponents_0(new IntPtr(&__ret), __Instance, i);
                     return CppSharp.Parser.AST.VTableComponent.__CreateInstance(__ret);
                 }
@@ -2704,7 +2704,7 @@ namespace CppSharp
                 private static VFTableInfo.Internal* __CopyValue(VFTableInfo.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(28);
-                    VFTableInfo.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.VFTableInfo.Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return (VFTableInfo.Internal*) ret;
                 }
 
@@ -2873,7 +2873,7 @@ namespace CppSharp
                 private static ClassLayout.Internal* __CopyValue(ClassLayout.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(48);
-                    ClassLayout.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.ClassLayout.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (ClassLayout.Internal*) ret;
                 }
 
@@ -2912,7 +2912,7 @@ namespace CppSharp
 
                 public CppSharp.Parser.AST.VFTableInfo getVFTables(uint i)
                 {
-                    var __ret = new VFTableInfo.Internal();
+                    var __ret = new CppSharp.Parser.AST.VFTableInfo.Internal();
                     Internal.getVFTables_0(new IntPtr(&__ret), __Instance, i);
                     return CppSharp.Parser.AST.VFTableInfo.__CreateInstance(__ret);
                 }
@@ -3140,7 +3140,7 @@ namespace CppSharp
                 private static Declaration.Internal* __CopyValue(Declaration.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(88);
-                    Declaration.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.Declaration.Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return (Declaration.Internal*) ret;
                 }
 
@@ -3383,7 +3383,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class DeclarationContext : Declaration, IDisposable
+            public unsafe partial class DeclarationContext : CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 200)]
                 public new partial struct Internal
@@ -3615,7 +3615,7 @@ namespace CppSharp
                 private static DeclarationContext.Internal* __CopyValue(DeclarationContext.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(200);
-                    DeclarationContext.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.DeclarationContext.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (DeclarationContext.Internal*) ret;
                 }
 
@@ -3626,7 +3626,7 @@ namespace CppSharp
                 }
 
                 protected DeclarationContext(DeclarationContext.Internal* native, bool isInternalImpl = false)
-                    : base((Declaration.Internal*) native)
+                    : base((CppSharp.Parser.AST.Declaration.Internal*) native)
                 {
                 }
 
@@ -3878,7 +3878,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class TypedefDecl : Declaration, IDisposable
+            public unsafe partial class TypedefDecl : CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 96)]
                 public new partial struct Internal
@@ -3950,7 +3950,7 @@ namespace CppSharp
                 private static TypedefDecl.Internal* __CopyValue(TypedefDecl.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(96);
-                    TypedefDecl.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.TypedefDecl.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (TypedefDecl.Internal*) ret;
                 }
 
@@ -3961,7 +3961,7 @@ namespace CppSharp
                 }
 
                 protected TypedefDecl(TypedefDecl.Internal* native, bool isInternalImpl = false)
-                    : base((Declaration.Internal*) native)
+                    : base((CppSharp.Parser.AST.Declaration.Internal*) native)
                 {
                 }
 
@@ -3996,7 +3996,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class Friend : Declaration, IDisposable
+            public unsafe partial class Friend : CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 92)]
                 public new partial struct Internal
@@ -4068,7 +4068,7 @@ namespace CppSharp
                 private static Friend.Internal* __CopyValue(Friend.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(92);
-                    Friend.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.Friend.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (Friend.Internal*) ret;
                 }
 
@@ -4079,7 +4079,7 @@ namespace CppSharp
                 }
 
                 protected Friend(Friend.Internal* native, bool isInternalImpl = false)
-                    : base((Declaration.Internal*) native)
+                    : base((CppSharp.Parser.AST.Declaration.Internal*) native)
                 {
                 }
 
@@ -4163,7 +4163,7 @@ namespace CppSharp
                 private static Statement.Internal* __CopyValue(Statement.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(20);
-                    Statement.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.Statement.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (Statement.Internal*) ret;
                 }
 
@@ -4237,7 +4237,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class Expression : Statement, IDisposable
+            public unsafe partial class Expression : CppSharp.Parser.AST.Statement, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 24)]
                 public new partial struct Internal
@@ -4277,7 +4277,7 @@ namespace CppSharp
                 private static Expression.Internal* __CopyValue(Expression.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(24);
-                    Expression.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.Expression.Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return (Expression.Internal*) ret;
                 }
 
@@ -4288,7 +4288,7 @@ namespace CppSharp
                 }
 
                 protected Expression(Expression.Internal* native, bool isInternalImpl = false)
-                    : base((Statement.Internal*) native)
+                    : base((CppSharp.Parser.AST.Statement.Internal*) native)
                 {
                 }
 
@@ -4315,7 +4315,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class Parameter : Declaration, IDisposable
+            public unsafe partial class Parameter : CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 108)]
                 public new partial struct Internal
@@ -4399,7 +4399,7 @@ namespace CppSharp
                 private static Parameter.Internal* __CopyValue(Parameter.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(108);
-                    Parameter.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.Parameter.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (Parameter.Internal*) ret;
                 }
 
@@ -4410,7 +4410,7 @@ namespace CppSharp
                 }
 
                 protected Parameter(Parameter.Internal* native, bool isInternalImpl = false)
-                    : base((Declaration.Internal*) native)
+                    : base((CppSharp.Parser.AST.Declaration.Internal*) native)
                 {
                 }
 
@@ -4497,7 +4497,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class Function : Declaration, IDisposable
+            public unsafe partial class Function : CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 152)]
                 public new partial struct Internal
@@ -4636,7 +4636,7 @@ namespace CppSharp
                 private static Function.Internal* __CopyValue(Function.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(152);
-                    Function.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.Function.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (Function.Internal*) ret;
                 }
 
@@ -4647,7 +4647,7 @@ namespace CppSharp
                 }
 
                 protected Function(Function.Internal* native, bool isInternalImpl = false)
-                    : base((Declaration.Internal*) native)
+                    : base((CppSharp.Parser.AST.Declaration.Internal*) native)
                 {
                 }
 
@@ -4860,7 +4860,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class Method : Function, IDisposable
+            public unsafe partial class Method : CppSharp.Parser.AST.Function, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 180)]
                 public new partial struct Internal
@@ -4995,7 +4995,7 @@ namespace CppSharp
                 private static Method.Internal* __CopyValue(Method.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(180);
-                    Method.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.Method.Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return (Method.Internal*) ret;
                 }
 
@@ -5006,7 +5006,7 @@ namespace CppSharp
                 }
 
                 protected Method(Method.Internal* native, bool isInternalImpl = false)
-                    : base((Function.Internal*) native)
+                    : base((CppSharp.Parser.AST.Function.Internal*) native)
                 {
                 }
 
@@ -5184,7 +5184,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class Enumeration : DeclarationContext, IDisposable
+            public unsafe partial class Enumeration : CppSharp.Parser.AST.DeclarationContext, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 224)]
                 public new partial struct Internal
@@ -5278,7 +5278,7 @@ namespace CppSharp
                     Flags = 4
                 }
 
-                public unsafe partial class Item : Declaration, IDisposable
+                public unsafe partial class Item : CppSharp.Parser.AST.Declaration, IDisposable
                 {
                     [StructLayout(LayoutKind.Explicit, Size = 108)]
                     public new partial struct Internal
@@ -5360,7 +5360,7 @@ namespace CppSharp
                     private static Item.Internal* __CopyValue(Item.Internal native)
                     {
                         var ret = Marshal.AllocHGlobal(108);
-                        Item.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                        CppSharp.Parser.AST.Enumeration.Item.Internal.cctor_1(ret, new global::System.IntPtr(&native));
                         return (Item.Internal*) ret;
                     }
 
@@ -5371,7 +5371,7 @@ namespace CppSharp
                     }
 
                     protected Item(Item.Internal* native, bool isInternalImpl = false)
-                        : base((Declaration.Internal*) native)
+                        : base((CppSharp.Parser.AST.Declaration.Internal*) native)
                     {
                     }
 
@@ -5438,7 +5438,7 @@ namespace CppSharp
                 private static Enumeration.Internal* __CopyValue(Enumeration.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(224);
-                    Enumeration.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.Enumeration.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (Enumeration.Internal*) ret;
                 }
 
@@ -5449,7 +5449,7 @@ namespace CppSharp
                 }
 
                 protected Enumeration(Enumeration.Internal* native, bool isInternalImpl = false)
-                    : base((DeclarationContext.Internal*) native)
+                    : base((CppSharp.Parser.AST.DeclarationContext.Internal*) native)
                 {
                 }
 
@@ -5472,7 +5472,7 @@ namespace CppSharp
 
                 public CppSharp.Parser.AST.Enumeration.Item getItems(uint i)
                 {
-                    var __ret = new Item.Internal();
+                    var __ret = new CppSharp.Parser.AST.Enumeration.Item.Internal();
                     Internal.getItems_0(new IntPtr(&__ret), __Instance, i);
                     return CppSharp.Parser.AST.Enumeration.Item.__CreateInstance(__ret);
                 }
@@ -5537,7 +5537,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class Variable : Declaration, IDisposable
+            public unsafe partial class Variable : CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 108)]
                 public new partial struct Internal
@@ -5619,7 +5619,7 @@ namespace CppSharp
                 private static Variable.Internal* __CopyValue(Variable.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(108);
-                    Variable.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.Variable.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (Variable.Internal*) ret;
                 }
 
@@ -5630,7 +5630,7 @@ namespace CppSharp
                 }
 
                 protected Variable(Variable.Internal* native, bool isInternalImpl = false)
-                    : base((Declaration.Internal*) native)
+                    : base((CppSharp.Parser.AST.Declaration.Internal*) native)
                 {
                 }
 
@@ -5816,7 +5816,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class Field : Declaration, IDisposable
+            public unsafe partial class Field : CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 112)]
                 public new partial struct Internal
@@ -5900,7 +5900,7 @@ namespace CppSharp
                 private static Field.Internal* __CopyValue(Field.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(112);
-                    Field.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.Field.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (Field.Internal*) ret;
                 }
 
@@ -5911,7 +5911,7 @@ namespace CppSharp
                 }
 
                 protected Field(Field.Internal* native, bool isInternalImpl = false)
-                    : base((Declaration.Internal*) native)
+                    : base((CppSharp.Parser.AST.Declaration.Internal*) native)
                 {
                 }
 
@@ -5998,7 +5998,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class AccessSpecifierDecl : Declaration, IDisposable
+            public unsafe partial class AccessSpecifierDecl : CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 88)]
                 public new partial struct Internal
@@ -6067,7 +6067,7 @@ namespace CppSharp
                 private static AccessSpecifierDecl.Internal* __CopyValue(AccessSpecifierDecl.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(88);
-                    AccessSpecifierDecl.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.AccessSpecifierDecl.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (AccessSpecifierDecl.Internal*) ret;
                 }
 
@@ -6078,7 +6078,7 @@ namespace CppSharp
                 }
 
                 protected AccessSpecifierDecl(AccessSpecifierDecl.Internal* native, bool isInternalImpl = false)
-                    : base((Declaration.Internal*) native)
+                    : base((CppSharp.Parser.AST.Declaration.Internal*) native)
                 {
                 }
 
@@ -6100,7 +6100,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class Class : DeclarationContext, IDisposable
+            public unsafe partial class Class : CppSharp.Parser.AST.DeclarationContext, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 264)]
                 public new partial struct Internal
@@ -6282,7 +6282,7 @@ namespace CppSharp
                 private static Class.Internal* __CopyValue(Class.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(264);
-                    Class.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.Class.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (Class.Internal*) ret;
                 }
 
@@ -6293,7 +6293,7 @@ namespace CppSharp
                 }
 
                 protected Class(Class.Internal* native, bool isInternalImpl = false)
-                    : base((DeclarationContext.Internal*) native)
+                    : base((CppSharp.Parser.AST.DeclarationContext.Internal*) native)
                 {
                 }
 
@@ -6553,7 +6553,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class Template : Declaration, IDisposable
+            public unsafe partial class Template : CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 104)]
                 public new partial struct Internal
@@ -6650,7 +6650,7 @@ namespace CppSharp
                 private static Template.Internal* __CopyValue(Template.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(104);
-                    Template.Internal.cctor_3(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.Template.Internal.cctor_3(ret, new global::System.IntPtr(&native));
                     return (Template.Internal*) ret;
                 }
 
@@ -6661,7 +6661,7 @@ namespace CppSharp
                 }
 
                 protected Template(Template.Internal* native, bool isInternalImpl = false)
-                    : base((Declaration.Internal*) native)
+                    : base((CppSharp.Parser.AST.Declaration.Internal*) native)
                 {
                 }
 
@@ -6693,7 +6693,7 @@ namespace CppSharp
 
                 public CppSharp.Parser.AST.TemplateParameter getParameters(uint i)
                 {
-                    var __ret = new TemplateParameter.Internal();
+                    var __ret = new CppSharp.Parser.AST.TemplateParameter.Internal();
                     Internal.getParameters_0(new IntPtr(&__ret), __Instance, i);
                     return CppSharp.Parser.AST.TemplateParameter.__CreateInstance(__ret);
                 }
@@ -6732,7 +6732,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class ClassTemplate : Template, IDisposable
+            public unsafe partial class ClassTemplate : CppSharp.Parser.AST.Template, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 116)]
                 public new partial struct Internal
@@ -6824,7 +6824,7 @@ namespace CppSharp
                 private static ClassTemplate.Internal* __CopyValue(ClassTemplate.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(116);
-                    ClassTemplate.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.ClassTemplate.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (ClassTemplate.Internal*) ret;
                 }
 
@@ -6835,7 +6835,7 @@ namespace CppSharp
                 }
 
                 protected ClassTemplate(ClassTemplate.Internal* native, bool isInternalImpl = false)
-                    : base((Template.Internal*) native)
+                    : base((CppSharp.Parser.AST.Template.Internal*) native)
                 {
                 }
 
@@ -6884,7 +6884,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class ClassTemplateSpecialization : Class, IDisposable
+            public unsafe partial class ClassTemplateSpecialization : CppSharp.Parser.AST.Class, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 284)]
                 public new partial struct Internal
@@ -7012,7 +7012,7 @@ namespace CppSharp
                 private static ClassTemplateSpecialization.Internal* __CopyValue(ClassTemplateSpecialization.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(284);
-                    ClassTemplateSpecialization.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.ClassTemplateSpecialization.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (ClassTemplateSpecialization.Internal*) ret;
                 }
 
@@ -7023,7 +7023,7 @@ namespace CppSharp
                 }
 
                 protected ClassTemplateSpecialization(ClassTemplateSpecialization.Internal* native, bool isInternalImpl = false)
-                    : base((Class.Internal*) native)
+                    : base((CppSharp.Parser.AST.Class.Internal*) native)
                 {
                 }
 
@@ -7046,7 +7046,7 @@ namespace CppSharp
 
                 public CppSharp.Parser.AST.TemplateArgument getArguments(uint i)
                 {
-                    var __ret = new TemplateArgument.Internal();
+                    var __ret = new CppSharp.Parser.AST.TemplateArgument.Internal();
                     Internal.getArguments_0(new IntPtr(&__ret), __Instance, i);
                     return CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret);
                 }
@@ -7098,7 +7098,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class ClassTemplatePartialSpecialization : ClassTemplateSpecialization, IDisposable
+            public unsafe partial class ClassTemplatePartialSpecialization : CppSharp.Parser.AST.ClassTemplateSpecialization, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 284)]
                 public new partial struct Internal
@@ -7206,7 +7206,7 @@ namespace CppSharp
                 private static ClassTemplatePartialSpecialization.Internal* __CopyValue(ClassTemplatePartialSpecialization.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(284);
-                    ClassTemplatePartialSpecialization.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.ClassTemplatePartialSpecialization.Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return (ClassTemplatePartialSpecialization.Internal*) ret;
                 }
 
@@ -7217,7 +7217,7 @@ namespace CppSharp
                 }
 
                 protected ClassTemplatePartialSpecialization(ClassTemplatePartialSpecialization.Internal* native, bool isInternalImpl = false)
-                    : base((ClassTemplateSpecialization.Internal*) native)
+                    : base((CppSharp.Parser.AST.ClassTemplateSpecialization.Internal*) native)
                 {
                 }
 
@@ -7239,7 +7239,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class FunctionTemplate : Template, IDisposable
+            public unsafe partial class FunctionTemplate : CppSharp.Parser.AST.Template, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 116)]
                 public new partial struct Internal
@@ -7331,7 +7331,7 @@ namespace CppSharp
                 private static FunctionTemplate.Internal* __CopyValue(FunctionTemplate.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(116);
-                    FunctionTemplate.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.FunctionTemplate.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (FunctionTemplate.Internal*) ret;
                 }
 
@@ -7342,7 +7342,7 @@ namespace CppSharp
                 }
 
                 protected FunctionTemplate(FunctionTemplate.Internal* native, bool isInternalImpl = false)
-                    : base((Template.Internal*) native)
+                    : base((CppSharp.Parser.AST.Template.Internal*) native)
                 {
                 }
 
@@ -7458,7 +7458,7 @@ namespace CppSharp
                 private static FunctionTemplateSpecialization.Internal* __CopyValue(FunctionTemplateSpecialization.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(24);
-                    FunctionTemplateSpecialization.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.FunctionTemplateSpecialization.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (FunctionTemplateSpecialization.Internal*) ret;
                 }
 
@@ -7497,7 +7497,7 @@ namespace CppSharp
 
                 public CppSharp.Parser.AST.TemplateArgument getArguments(uint i)
                 {
-                    var __ret = new TemplateArgument.Internal();
+                    var __ret = new CppSharp.Parser.AST.TemplateArgument.Internal();
                     Internal.getArguments_0(new IntPtr(&__ret), __Instance, i);
                     return CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret);
                 }
@@ -7562,7 +7562,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class Namespace : DeclarationContext, IDisposable
+            public unsafe partial class Namespace : CppSharp.Parser.AST.DeclarationContext, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 200)]
                 public new partial struct Internal
@@ -7637,7 +7637,7 @@ namespace CppSharp
                 private static Namespace.Internal* __CopyValue(Namespace.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(200);
-                    Namespace.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.Namespace.Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return (Namespace.Internal*) ret;
                 }
 
@@ -7648,7 +7648,7 @@ namespace CppSharp
                 }
 
                 protected Namespace(Namespace.Internal* native, bool isInternalImpl = false)
-                    : base((DeclarationContext.Internal*) native)
+                    : base((CppSharp.Parser.AST.DeclarationContext.Internal*) native)
                 {
                 }
 
@@ -7683,7 +7683,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class PreprocessedEntity : Declaration, IDisposable
+            public unsafe partial class PreprocessedEntity : CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 92)]
                 public new partial struct Internal
@@ -7755,7 +7755,7 @@ namespace CppSharp
                 private static PreprocessedEntity.Internal* __CopyValue(PreprocessedEntity.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(92);
-                    PreprocessedEntity.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.PreprocessedEntity.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (PreprocessedEntity.Internal*) ret;
                 }
 
@@ -7766,7 +7766,7 @@ namespace CppSharp
                 }
 
                 protected PreprocessedEntity(PreprocessedEntity.Internal* native, bool isInternalImpl = false)
-                    : base((Declaration.Internal*) native)
+                    : base((CppSharp.Parser.AST.Declaration.Internal*) native)
                 {
                 }
 
@@ -7801,7 +7801,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class MacroDefinition : PreprocessedEntity, IDisposable
+            public unsafe partial class MacroDefinition : CppSharp.Parser.AST.PreprocessedEntity, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 104)]
                 public new partial struct Internal
@@ -7883,7 +7883,7 @@ namespace CppSharp
                 private static MacroDefinition.Internal* __CopyValue(MacroDefinition.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(104);
-                    MacroDefinition.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.MacroDefinition.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (MacroDefinition.Internal*) ret;
                 }
 
@@ -7894,7 +7894,7 @@ namespace CppSharp
                 }
 
                 protected MacroDefinition(MacroDefinition.Internal* native, bool isInternalImpl = false)
-                    : base((PreprocessedEntity.Internal*) native)
+                    : base((CppSharp.Parser.AST.PreprocessedEntity.Internal*) native)
                 {
                 }
 
@@ -7933,7 +7933,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class MacroExpansion : PreprocessedEntity, IDisposable
+            public unsafe partial class MacroExpansion : CppSharp.Parser.AST.PreprocessedEntity, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 108)]
                 public new partial struct Internal
@@ -8018,7 +8018,7 @@ namespace CppSharp
                 private static MacroExpansion.Internal* __CopyValue(MacroExpansion.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(108);
-                    MacroExpansion.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.MacroExpansion.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (MacroExpansion.Internal*) ret;
                 }
 
@@ -8029,7 +8029,7 @@ namespace CppSharp
                 }
 
                 protected MacroExpansion(MacroExpansion.Internal* native, bool isInternalImpl = false)
-                    : base((PreprocessedEntity.Internal*) native)
+                    : base((CppSharp.Parser.AST.PreprocessedEntity.Internal*) native)
                 {
                 }
 
@@ -8081,7 +8081,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class TranslationUnit : Namespace, IDisposable
+            public unsafe partial class TranslationUnit : CppSharp.Parser.AST.Namespace, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 228)]
                 public new partial struct Internal
@@ -8189,7 +8189,7 @@ namespace CppSharp
                 private static TranslationUnit.Internal* __CopyValue(TranslationUnit.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(228);
-                    TranslationUnit.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.TranslationUnit.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (TranslationUnit.Internal*) ret;
                 }
 
@@ -8200,7 +8200,7 @@ namespace CppSharp
                 }
 
                 protected TranslationUnit(TranslationUnit.Internal* native, bool isInternalImpl = false)
-                    : base((Namespace.Internal*) native)
+                    : base((CppSharp.Parser.AST.Namespace.Internal*) native)
                 {
                 }
 
@@ -8370,7 +8370,7 @@ namespace CppSharp
                 private static NativeLibrary.Internal* __CopyValue(NativeLibrary.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(40);
-                    NativeLibrary.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.NativeLibrary.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (NativeLibrary.Internal*) ret;
                 }
 
@@ -8552,7 +8552,7 @@ namespace CppSharp
                 private static ASTContext.Internal* __CopyValue(ASTContext.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(12);
-                    ASTContext.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.ASTContext.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (ASTContext.Internal*) ret;
                 }
 
@@ -8704,7 +8704,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class FullComment : Comment, IDisposable
+            public unsafe partial class FullComment : CppSharp.Parser.AST.Comment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 4)]
                 public new partial struct Internal
@@ -8749,7 +8749,7 @@ namespace CppSharp
                 }
 
                 protected FullComment(FullComment.Internal* native, bool isInternalImpl = false)
-                    : base((Comment.Internal*) native)
+                    : base((CppSharp.Parser.AST.Comment.Internal*) native)
                 {
                 }
 
@@ -8835,7 +8835,7 @@ namespace CppSharp
                 private static RawComment.Internal* __CopyValue(RawComment.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(32);
-                    RawComment.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.RawComment.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (RawComment.Internal*) ret;
                 }
 
diff --git a/src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/CppParser.cs b/src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/CppParser.cs
index b1323b5c..13c2e1c9 100644
--- a/src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/CppParser.cs
+++ b/src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/CppParser.cs
@@ -247,7 +247,7 @@ namespace CppSharp
             private static ParserOptions.Internal* __CopyValue(ParserOptions.Internal native)
             {
                 var ret = Marshal.AllocHGlobal(116);
-                ParserOptions.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                CppSharp.Parser.ParserOptions.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                 return (ParserOptions.Internal*) ret;
             }
 
@@ -658,7 +658,7 @@ namespace CppSharp
             private static ParserDiagnostic.Internal* __CopyValue(ParserDiagnostic.Internal native)
             {
                 var ret = Marshal.AllocHGlobal(36);
-                ParserDiagnostic.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                CppSharp.Parser.ParserDiagnostic.Internal.cctor_1(ret, new global::System.IntPtr(&native));
                 return (ParserDiagnostic.Internal*) ret;
             }
 
@@ -839,7 +839,7 @@ namespace CppSharp
             private static ParserResult.Internal* __CopyValue(ParserResult.Internal native)
             {
                 var ret = Marshal.AllocHGlobal(28);
-                ParserResult.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                CppSharp.Parser.ParserResult.Internal.cctor_1(ret, new global::System.IntPtr(&native));
                 return (ParserResult.Internal*) ret;
             }
 
@@ -878,7 +878,7 @@ namespace CppSharp
 
             public CppSharp.Parser.ParserDiagnostic getDiagnostics(uint i)
             {
-                var __ret = new ParserDiagnostic.Internal();
+                var __ret = new CppSharp.Parser.ParserDiagnostic.Internal();
                 Internal.getDiagnostics_0(new IntPtr(&__ret), __Instance, i);
                 return CppSharp.Parser.ParserDiagnostic.__CreateInstance(__ret);
             }
diff --git a/src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/Target.cs b/src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/Target.cs
index 5b643865..f34a262d 100644
--- a/src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/Target.cs
+++ b/src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/Target.cs
@@ -187,7 +187,7 @@ namespace CppSharp
             private static ParserTargetInfo.Internal* __CopyValue(ParserTargetInfo.Internal native)
             {
                 var ret = Marshal.AllocHGlobal(164);
-                ParserTargetInfo.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                CppSharp.Parser.ParserTargetInfo.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                 return (ParserTargetInfo.Internal*) ret;
             }
 
diff --git a/src/CppParser/Bindings/CSharp/i686-pc-win32-msvc/AST.cs b/src/CppParser/Bindings/CSharp/i686-pc-win32-msvc/AST.cs
index 88507bdd..22a9b7d9 100644
--- a/src/CppParser/Bindings/CSharp/i686-pc-win32-msvc/AST.cs
+++ b/src/CppParser/Bindings/CSharp/i686-pc-win32-msvc/AST.cs
@@ -267,7 +267,7 @@ namespace CppSharp
                 private static Type.Internal* __CopyValue(Type.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(8);
-                    Type.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.Type.Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return (Type.Internal*) ret;
                 }
 
@@ -545,7 +545,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class TagType : Type, IDisposable
+            public unsafe partial class TagType : CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 12)]
                 public new partial struct Internal
@@ -585,7 +585,7 @@ namespace CppSharp
                 private static TagType.Internal* __CopyValue(TagType.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(12);
-                    TagType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.TagType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (TagType.Internal*) ret;
                 }
 
@@ -596,7 +596,7 @@ namespace CppSharp
                 }
 
                 protected TagType(TagType.Internal* native, bool isInternalImpl = false)
-                    : base((Type.Internal*) native)
+                    : base((CppSharp.Parser.AST.Type.Internal*) native)
                 {
                 }
 
@@ -631,7 +631,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class ArrayType : Type, IDisposable
+            public unsafe partial class ArrayType : CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 24)]
                 public new partial struct Internal
@@ -685,7 +685,7 @@ namespace CppSharp
                 private static ArrayType.Internal* __CopyValue(ArrayType.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(24);
-                    ArrayType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.ArrayType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (ArrayType.Internal*) ret;
                 }
 
@@ -696,7 +696,7 @@ namespace CppSharp
                 }
 
                 protected ArrayType(ArrayType.Internal* native, bool isInternalImpl = false)
-                    : base((Type.Internal*) native)
+                    : base((CppSharp.Parser.AST.Type.Internal*) native)
                 {
                 }
 
@@ -757,7 +757,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class FunctionType : Type, IDisposable
+            public unsafe partial class FunctionType : CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 32)]
                 public new partial struct Internal
@@ -825,7 +825,7 @@ namespace CppSharp
                 private static FunctionType.Internal* __CopyValue(FunctionType.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(32);
-                    FunctionType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.FunctionType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (FunctionType.Internal*) ret;
                 }
 
@@ -836,7 +836,7 @@ namespace CppSharp
                 }
 
                 protected FunctionType(FunctionType.Internal* native, bool isInternalImpl = false)
-                    : base((Type.Internal*) native)
+                    : base((CppSharp.Parser.AST.Type.Internal*) native)
                 {
                 }
 
@@ -911,7 +911,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class PointerType : Type, IDisposable
+            public unsafe partial class PointerType : CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 20)]
                 public new partial struct Internal
@@ -962,7 +962,7 @@ namespace CppSharp
                 private static PointerType.Internal* __CopyValue(PointerType.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(20);
-                    PointerType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.PointerType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (PointerType.Internal*) ret;
                 }
 
@@ -973,7 +973,7 @@ namespace CppSharp
                 }
 
                 protected PointerType(PointerType.Internal* native, bool isInternalImpl = false)
-                    : base((Type.Internal*) native)
+                    : base((CppSharp.Parser.AST.Type.Internal*) native)
                 {
                 }
 
@@ -1021,7 +1021,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class MemberPointerType : Type, IDisposable
+            public unsafe partial class MemberPointerType : CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 16)]
                 public new partial struct Internal
@@ -1061,7 +1061,7 @@ namespace CppSharp
                 private static MemberPointerType.Internal* __CopyValue(MemberPointerType.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(16);
-                    MemberPointerType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.MemberPointerType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (MemberPointerType.Internal*) ret;
                 }
 
@@ -1072,7 +1072,7 @@ namespace CppSharp
                 }
 
                 protected MemberPointerType(MemberPointerType.Internal* native, bool isInternalImpl = false)
-                    : base((Type.Internal*) native)
+                    : base((CppSharp.Parser.AST.Type.Internal*) native)
                 {
                 }
 
@@ -1107,7 +1107,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class TypedefType : Type, IDisposable
+            public unsafe partial class TypedefType : CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 12)]
                 public new partial struct Internal
@@ -1147,7 +1147,7 @@ namespace CppSharp
                 private static TypedefType.Internal* __CopyValue(TypedefType.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(12);
-                    TypedefType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.TypedefType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (TypedefType.Internal*) ret;
                 }
 
@@ -1158,7 +1158,7 @@ namespace CppSharp
                 }
 
                 protected TypedefType(TypedefType.Internal* native, bool isInternalImpl = false)
-                    : base((Type.Internal*) native)
+                    : base((CppSharp.Parser.AST.Type.Internal*) native)
                 {
                 }
 
@@ -1193,7 +1193,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class AttributedType : Type, IDisposable
+            public unsafe partial class AttributedType : CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 24)]
                 public new partial struct Internal
@@ -1236,7 +1236,7 @@ namespace CppSharp
                 private static AttributedType.Internal* __CopyValue(AttributedType.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(24);
-                    AttributedType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.AttributedType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (AttributedType.Internal*) ret;
                 }
 
@@ -1247,7 +1247,7 @@ namespace CppSharp
                 }
 
                 protected AttributedType(AttributedType.Internal* native, bool isInternalImpl = false)
-                    : base((Type.Internal*) native)
+                    : base((CppSharp.Parser.AST.Type.Internal*) native)
                 {
                 }
 
@@ -1295,7 +1295,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class DecayedType : Type, IDisposable
+            public unsafe partial class DecayedType : CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 32)]
                 public new partial struct Internal
@@ -1341,7 +1341,7 @@ namespace CppSharp
                 private static DecayedType.Internal* __CopyValue(DecayedType.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(32);
-                    DecayedType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.DecayedType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (DecayedType.Internal*) ret;
                 }
 
@@ -1352,7 +1352,7 @@ namespace CppSharp
                 }
 
                 protected DecayedType(DecayedType.Internal* native, bool isInternalImpl = false)
-                    : base((Type.Internal*) native)
+                    : base((CppSharp.Parser.AST.Type.Internal*) native)
                 {
                 }
 
@@ -1559,7 +1559,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class TemplateSpecializationType : Type, IDisposable
+            public unsafe partial class TemplateSpecializationType : CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 28)]
                 public new partial struct Internal
@@ -1627,7 +1627,7 @@ namespace CppSharp
                 private static TemplateSpecializationType.Internal* __CopyValue(TemplateSpecializationType.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(28);
-                    TemplateSpecializationType.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.TemplateSpecializationType.Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return (TemplateSpecializationType.Internal*) ret;
                 }
 
@@ -1638,7 +1638,7 @@ namespace CppSharp
                 }
 
                 protected TemplateSpecializationType(TemplateSpecializationType.Internal* native, bool isInternalImpl = false)
-                    : base((Type.Internal*) native)
+                    : base((CppSharp.Parser.AST.Type.Internal*) native)
                 {
                 }
 
@@ -1661,7 +1661,7 @@ namespace CppSharp
 
                 public CppSharp.Parser.AST.TemplateArgument getArguments(uint i)
                 {
-                    var __ret = new TemplateArgument.Internal();
+                    var __ret = new CppSharp.Parser.AST.TemplateArgument.Internal();
                     Internal.getArguments_0(__Instance, new IntPtr(&__ret), i);
                     return CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret);
                 }
@@ -1770,7 +1770,7 @@ namespace CppSharp
                 private static TemplateParameter.Internal* __CopyValue(TemplateParameter.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(28);
-                    TemplateParameter.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.TemplateParameter.Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return (TemplateParameter.Internal*) ret;
                 }
 
@@ -1860,7 +1860,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class TemplateParameterType : Type, IDisposable
+            public unsafe partial class TemplateParameterType : CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 48)]
                 public new partial struct Internal
@@ -1914,7 +1914,7 @@ namespace CppSharp
                 private static TemplateParameterType.Internal* __CopyValue(TemplateParameterType.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(48);
-                    TemplateParameterType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.TemplateParameterType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (TemplateParameterType.Internal*) ret;
                 }
 
@@ -1925,7 +1925,7 @@ namespace CppSharp
                 }
 
                 protected TemplateParameterType(TemplateParameterType.Internal* native, bool isInternalImpl = false)
-                    : base((Type.Internal*) native)
+                    : base((CppSharp.Parser.AST.Type.Internal*) native)
                 {
                 }
 
@@ -1999,7 +1999,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class TemplateParameterSubstitutionType : Type, IDisposable
+            public unsafe partial class TemplateParameterSubstitutionType : CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 16)]
                 public new partial struct Internal
@@ -2039,7 +2039,7 @@ namespace CppSharp
                 private static TemplateParameterSubstitutionType.Internal* __CopyValue(TemplateParameterSubstitutionType.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(16);
-                    TemplateParameterSubstitutionType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.TemplateParameterSubstitutionType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (TemplateParameterSubstitutionType.Internal*) ret;
                 }
 
@@ -2050,7 +2050,7 @@ namespace CppSharp
                 }
 
                 protected TemplateParameterSubstitutionType(TemplateParameterSubstitutionType.Internal* native, bool isInternalImpl = false)
-                    : base((Type.Internal*) native)
+                    : base((CppSharp.Parser.AST.Type.Internal*) native)
                 {
                 }
 
@@ -2085,7 +2085,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class InjectedClassNameType : Type, IDisposable
+            public unsafe partial class InjectedClassNameType : CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 16)]
                 public new partial struct Internal
@@ -2128,7 +2128,7 @@ namespace CppSharp
                 private static InjectedClassNameType.Internal* __CopyValue(InjectedClassNameType.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(16);
-                    InjectedClassNameType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.InjectedClassNameType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (InjectedClassNameType.Internal*) ret;
                 }
 
@@ -2139,7 +2139,7 @@ namespace CppSharp
                 }
 
                 protected InjectedClassNameType(InjectedClassNameType.Internal* native, bool isInternalImpl = false)
-                    : base((Type.Internal*) native)
+                    : base((CppSharp.Parser.AST.Type.Internal*) native)
                 {
                 }
 
@@ -2187,7 +2187,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class DependentNameType : Type, IDisposable
+            public unsafe partial class DependentNameType : CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 8)]
                 public new partial struct Internal
@@ -2224,7 +2224,7 @@ namespace CppSharp
                 private static DependentNameType.Internal* __CopyValue(DependentNameType.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(8);
-                    DependentNameType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.DependentNameType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (DependentNameType.Internal*) ret;
                 }
 
@@ -2235,7 +2235,7 @@ namespace CppSharp
                 }
 
                 protected DependentNameType(DependentNameType.Internal* native, bool isInternalImpl = false)
-                    : base((Type.Internal*) native)
+                    : base((CppSharp.Parser.AST.Type.Internal*) native)
                 {
                 }
 
@@ -2257,7 +2257,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class PackExpansionType : Type, IDisposable
+            public unsafe partial class PackExpansionType : CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 8)]
                 public new partial struct Internal
@@ -2294,7 +2294,7 @@ namespace CppSharp
                 private static PackExpansionType.Internal* __CopyValue(PackExpansionType.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(8);
-                    PackExpansionType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.PackExpansionType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (PackExpansionType.Internal*) ret;
                 }
 
@@ -2305,7 +2305,7 @@ namespace CppSharp
                 }
 
                 protected PackExpansionType(PackExpansionType.Internal* native, bool isInternalImpl = false)
-                    : base((Type.Internal*) native)
+                    : base((CppSharp.Parser.AST.Type.Internal*) native)
                 {
                 }
 
@@ -2327,7 +2327,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class BuiltinType : Type, IDisposable
+            public unsafe partial class BuiltinType : CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 12)]
                 public new partial struct Internal
@@ -2367,7 +2367,7 @@ namespace CppSharp
                 private static BuiltinType.Internal* __CopyValue(BuiltinType.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(12);
-                    BuiltinType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.BuiltinType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (BuiltinType.Internal*) ret;
                 }
 
@@ -2378,7 +2378,7 @@ namespace CppSharp
                 }
 
                 protected BuiltinType(BuiltinType.Internal* native, bool isInternalImpl = false)
-                    : base((Type.Internal*) native)
+                    : base((CppSharp.Parser.AST.Type.Internal*) native)
                 {
                 }
 
@@ -2589,7 +2589,7 @@ namespace CppSharp
                 private static VTableLayout.Internal* __CopyValue(VTableLayout.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(12);
-                    VTableLayout.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.VTableLayout.Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return (VTableLayout.Internal*) ret;
                 }
 
@@ -2628,7 +2628,7 @@ namespace CppSharp
 
                 public CppSharp.Parser.AST.VTableComponent getComponents(uint i)
                 {
-                    var __ret = new VTableComponent.Internal();
+                    var __ret = new CppSharp.Parser.AST.VTableComponent.Internal();
                     Internal.getComponents_0(__Instance, new IntPtr(&__ret), i);
                     return CppSharp.Parser.AST.VTableComponent.__CreateInstance(__ret);
                 }
@@ -2704,7 +2704,7 @@ namespace CppSharp
                 private static VFTableInfo.Internal* __CopyValue(VFTableInfo.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(32);
-                    VFTableInfo.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.VFTableInfo.Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return (VFTableInfo.Internal*) ret;
                 }
 
@@ -2873,7 +2873,7 @@ namespace CppSharp
                 private static ClassLayout.Internal* __CopyValue(ClassLayout.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(48);
-                    ClassLayout.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.ClassLayout.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (ClassLayout.Internal*) ret;
                 }
 
@@ -2912,7 +2912,7 @@ namespace CppSharp
 
                 public CppSharp.Parser.AST.VFTableInfo getVFTables(uint i)
                 {
-                    var __ret = new VFTableInfo.Internal();
+                    var __ret = new CppSharp.Parser.AST.VFTableInfo.Internal();
                     Internal.getVFTables_0(__Instance, new IntPtr(&__ret), i);
                     return CppSharp.Parser.AST.VFTableInfo.__CreateInstance(__ret);
                 }
@@ -3140,7 +3140,7 @@ namespace CppSharp
                 private static Declaration.Internal* __CopyValue(Declaration.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(124);
-                    Declaration.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.Declaration.Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return (Declaration.Internal*) ret;
                 }
 
@@ -3383,7 +3383,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class DeclarationContext : Declaration, IDisposable
+            public unsafe partial class DeclarationContext : CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 232)]
                 public new partial struct Internal
@@ -3615,7 +3615,7 @@ namespace CppSharp
                 private static DeclarationContext.Internal* __CopyValue(DeclarationContext.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(232);
-                    DeclarationContext.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.DeclarationContext.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (DeclarationContext.Internal*) ret;
                 }
 
@@ -3626,7 +3626,7 @@ namespace CppSharp
                 }
 
                 protected DeclarationContext(DeclarationContext.Internal* native, bool isInternalImpl = false)
-                    : base((Declaration.Internal*) native)
+                    : base((CppSharp.Parser.AST.Declaration.Internal*) native)
                 {
                 }
 
@@ -3878,7 +3878,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class TypedefDecl : Declaration, IDisposable
+            public unsafe partial class TypedefDecl : CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 132)]
                 public new partial struct Internal
@@ -3950,7 +3950,7 @@ namespace CppSharp
                 private static TypedefDecl.Internal* __CopyValue(TypedefDecl.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(132);
-                    TypedefDecl.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.TypedefDecl.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (TypedefDecl.Internal*) ret;
                 }
 
@@ -3961,7 +3961,7 @@ namespace CppSharp
                 }
 
                 protected TypedefDecl(TypedefDecl.Internal* native, bool isInternalImpl = false)
-                    : base((Declaration.Internal*) native)
+                    : base((CppSharp.Parser.AST.Declaration.Internal*) native)
                 {
                 }
 
@@ -3996,7 +3996,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class Friend : Declaration, IDisposable
+            public unsafe partial class Friend : CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 128)]
                 public new partial struct Internal
@@ -4068,7 +4068,7 @@ namespace CppSharp
                 private static Friend.Internal* __CopyValue(Friend.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(128);
-                    Friend.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.Friend.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (Friend.Internal*) ret;
                 }
 
@@ -4079,7 +4079,7 @@ namespace CppSharp
                 }
 
                 protected Friend(Friend.Internal* native, bool isInternalImpl = false)
-                    : base((Declaration.Internal*) native)
+                    : base((CppSharp.Parser.AST.Declaration.Internal*) native)
                 {
                 }
 
@@ -4163,7 +4163,7 @@ namespace CppSharp
                 private static Statement.Internal* __CopyValue(Statement.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(32);
-                    Statement.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.Statement.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (Statement.Internal*) ret;
                 }
 
@@ -4237,7 +4237,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class Expression : Statement, IDisposable
+            public unsafe partial class Expression : CppSharp.Parser.AST.Statement, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 36)]
                 public new partial struct Internal
@@ -4277,7 +4277,7 @@ namespace CppSharp
                 private static Expression.Internal* __CopyValue(Expression.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(36);
-                    Expression.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.Expression.Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return (Expression.Internal*) ret;
                 }
 
@@ -4288,7 +4288,7 @@ namespace CppSharp
                 }
 
                 protected Expression(Expression.Internal* native, bool isInternalImpl = false)
-                    : base((Statement.Internal*) native)
+                    : base((CppSharp.Parser.AST.Statement.Internal*) native)
                 {
                 }
 
@@ -4315,7 +4315,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class Parameter : Declaration, IDisposable
+            public unsafe partial class Parameter : CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 144)]
                 public new partial struct Internal
@@ -4399,7 +4399,7 @@ namespace CppSharp
                 private static Parameter.Internal* __CopyValue(Parameter.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(144);
-                    Parameter.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.Parameter.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (Parameter.Internal*) ret;
                 }
 
@@ -4410,7 +4410,7 @@ namespace CppSharp
                 }
 
                 protected Parameter(Parameter.Internal* native, bool isInternalImpl = false)
-                    : base((Declaration.Internal*) native)
+                    : base((CppSharp.Parser.AST.Declaration.Internal*) native)
                 {
                 }
 
@@ -4497,7 +4497,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class Function : Declaration, IDisposable
+            public unsafe partial class Function : CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 212)]
                 public new partial struct Internal
@@ -4636,7 +4636,7 @@ namespace CppSharp
                 private static Function.Internal* __CopyValue(Function.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(212);
-                    Function.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.Function.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (Function.Internal*) ret;
                 }
 
@@ -4647,7 +4647,7 @@ namespace CppSharp
                 }
 
                 protected Function(Function.Internal* native, bool isInternalImpl = false)
-                    : base((Declaration.Internal*) native)
+                    : base((CppSharp.Parser.AST.Declaration.Internal*) native)
                 {
                 }
 
@@ -4860,7 +4860,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class Method : Function, IDisposable
+            public unsafe partial class Method : CppSharp.Parser.AST.Function, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 240)]
                 public new partial struct Internal
@@ -4995,7 +4995,7 @@ namespace CppSharp
                 private static Method.Internal* __CopyValue(Method.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(240);
-                    Method.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.Method.Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return (Method.Internal*) ret;
                 }
 
@@ -5006,7 +5006,7 @@ namespace CppSharp
                 }
 
                 protected Method(Method.Internal* native, bool isInternalImpl = false)
-                    : base((Function.Internal*) native)
+                    : base((CppSharp.Parser.AST.Function.Internal*) native)
                 {
                 }
 
@@ -5184,7 +5184,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class Enumeration : DeclarationContext, IDisposable
+            public unsafe partial class Enumeration : CppSharp.Parser.AST.DeclarationContext, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 256)]
                 public new partial struct Internal
@@ -5278,7 +5278,7 @@ namespace CppSharp
                     Flags = 4
                 }
 
-                public unsafe partial class Item : Declaration, IDisposable
+                public unsafe partial class Item : CppSharp.Parser.AST.Declaration, IDisposable
                 {
                     [StructLayout(LayoutKind.Explicit, Size = 160)]
                     public new partial struct Internal
@@ -5360,7 +5360,7 @@ namespace CppSharp
                     private static Item.Internal* __CopyValue(Item.Internal native)
                     {
                         var ret = Marshal.AllocHGlobal(160);
-                        Item.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                        CppSharp.Parser.AST.Enumeration.Item.Internal.cctor_1(ret, new global::System.IntPtr(&native));
                         return (Item.Internal*) ret;
                     }
 
@@ -5371,7 +5371,7 @@ namespace CppSharp
                     }
 
                     protected Item(Item.Internal* native, bool isInternalImpl = false)
-                        : base((Declaration.Internal*) native)
+                        : base((CppSharp.Parser.AST.Declaration.Internal*) native)
                     {
                     }
 
@@ -5438,7 +5438,7 @@ namespace CppSharp
                 private static Enumeration.Internal* __CopyValue(Enumeration.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(256);
-                    Enumeration.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.Enumeration.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (Enumeration.Internal*) ret;
                 }
 
@@ -5449,7 +5449,7 @@ namespace CppSharp
                 }
 
                 protected Enumeration(Enumeration.Internal* native, bool isInternalImpl = false)
-                    : base((DeclarationContext.Internal*) native)
+                    : base((CppSharp.Parser.AST.DeclarationContext.Internal*) native)
                 {
                 }
 
@@ -5472,7 +5472,7 @@ namespace CppSharp
 
                 public CppSharp.Parser.AST.Enumeration.Item getItems(uint i)
                 {
-                    var __ret = new Item.Internal();
+                    var __ret = new CppSharp.Parser.AST.Enumeration.Item.Internal();
                     Internal.getItems_0(__Instance, new IntPtr(&__ret), i);
                     return CppSharp.Parser.AST.Enumeration.Item.__CreateInstance(__ret);
                 }
@@ -5537,7 +5537,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class Variable : Declaration, IDisposable
+            public unsafe partial class Variable : CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 156)]
                 public new partial struct Internal
@@ -5619,7 +5619,7 @@ namespace CppSharp
                 private static Variable.Internal* __CopyValue(Variable.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(156);
-                    Variable.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.Variable.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (Variable.Internal*) ret;
                 }
 
@@ -5630,7 +5630,7 @@ namespace CppSharp
                 }
 
                 protected Variable(Variable.Internal* native, bool isInternalImpl = false)
-                    : base((Declaration.Internal*) native)
+                    : base((CppSharp.Parser.AST.Declaration.Internal*) native)
                 {
                 }
 
@@ -5816,7 +5816,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class Field : Declaration, IDisposable
+            public unsafe partial class Field : CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 148)]
                 public new partial struct Internal
@@ -5900,7 +5900,7 @@ namespace CppSharp
                 private static Field.Internal* __CopyValue(Field.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(148);
-                    Field.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.Field.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (Field.Internal*) ret;
                 }
 
@@ -5911,7 +5911,7 @@ namespace CppSharp
                 }
 
                 protected Field(Field.Internal* native, bool isInternalImpl = false)
-                    : base((Declaration.Internal*) native)
+                    : base((CppSharp.Parser.AST.Declaration.Internal*) native)
                 {
                 }
 
@@ -5998,7 +5998,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class AccessSpecifierDecl : Declaration, IDisposable
+            public unsafe partial class AccessSpecifierDecl : CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 124)]
                 public new partial struct Internal
@@ -6067,7 +6067,7 @@ namespace CppSharp
                 private static AccessSpecifierDecl.Internal* __CopyValue(AccessSpecifierDecl.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(124);
-                    AccessSpecifierDecl.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.AccessSpecifierDecl.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (AccessSpecifierDecl.Internal*) ret;
                 }
 
@@ -6078,7 +6078,7 @@ namespace CppSharp
                 }
 
                 protected AccessSpecifierDecl(AccessSpecifierDecl.Internal* native, bool isInternalImpl = false)
-                    : base((Declaration.Internal*) native)
+                    : base((CppSharp.Parser.AST.Declaration.Internal*) native)
                 {
                 }
 
@@ -6100,7 +6100,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class Class : DeclarationContext, IDisposable
+            public unsafe partial class Class : CppSharp.Parser.AST.DeclarationContext, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 296)]
                 public new partial struct Internal
@@ -6282,7 +6282,7 @@ namespace CppSharp
                 private static Class.Internal* __CopyValue(Class.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(296);
-                    Class.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.Class.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (Class.Internal*) ret;
                 }
 
@@ -6293,7 +6293,7 @@ namespace CppSharp
                 }
 
                 protected Class(Class.Internal* native, bool isInternalImpl = false)
-                    : base((DeclarationContext.Internal*) native)
+                    : base((CppSharp.Parser.AST.DeclarationContext.Internal*) native)
                 {
                 }
 
@@ -6553,7 +6553,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class Template : Declaration, IDisposable
+            public unsafe partial class Template : CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 140)]
                 public new partial struct Internal
@@ -6650,7 +6650,7 @@ namespace CppSharp
                 private static Template.Internal* __CopyValue(Template.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(140);
-                    Template.Internal.cctor_3(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.Template.Internal.cctor_3(ret, new global::System.IntPtr(&native));
                     return (Template.Internal*) ret;
                 }
 
@@ -6661,7 +6661,7 @@ namespace CppSharp
                 }
 
                 protected Template(Template.Internal* native, bool isInternalImpl = false)
-                    : base((Declaration.Internal*) native)
+                    : base((CppSharp.Parser.AST.Declaration.Internal*) native)
                 {
                 }
 
@@ -6693,7 +6693,7 @@ namespace CppSharp
 
                 public CppSharp.Parser.AST.TemplateParameter getParameters(uint i)
                 {
-                    var __ret = new TemplateParameter.Internal();
+                    var __ret = new CppSharp.Parser.AST.TemplateParameter.Internal();
                     Internal.getParameters_0(__Instance, new IntPtr(&__ret), i);
                     return CppSharp.Parser.AST.TemplateParameter.__CreateInstance(__ret);
                 }
@@ -6732,7 +6732,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class ClassTemplate : Template, IDisposable
+            public unsafe partial class ClassTemplate : CppSharp.Parser.AST.Template, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 152)]
                 public new partial struct Internal
@@ -6824,7 +6824,7 @@ namespace CppSharp
                 private static ClassTemplate.Internal* __CopyValue(ClassTemplate.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(152);
-                    ClassTemplate.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.ClassTemplate.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (ClassTemplate.Internal*) ret;
                 }
 
@@ -6835,7 +6835,7 @@ namespace CppSharp
                 }
 
                 protected ClassTemplate(ClassTemplate.Internal* native, bool isInternalImpl = false)
-                    : base((Template.Internal*) native)
+                    : base((CppSharp.Parser.AST.Template.Internal*) native)
                 {
                 }
 
@@ -6884,7 +6884,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class ClassTemplateSpecialization : Class, IDisposable
+            public unsafe partial class ClassTemplateSpecialization : CppSharp.Parser.AST.Class, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 316)]
                 public new partial struct Internal
@@ -7012,7 +7012,7 @@ namespace CppSharp
                 private static ClassTemplateSpecialization.Internal* __CopyValue(ClassTemplateSpecialization.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(316);
-                    ClassTemplateSpecialization.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.ClassTemplateSpecialization.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (ClassTemplateSpecialization.Internal*) ret;
                 }
 
@@ -7023,7 +7023,7 @@ namespace CppSharp
                 }
 
                 protected ClassTemplateSpecialization(ClassTemplateSpecialization.Internal* native, bool isInternalImpl = false)
-                    : base((Class.Internal*) native)
+                    : base((CppSharp.Parser.AST.Class.Internal*) native)
                 {
                 }
 
@@ -7046,7 +7046,7 @@ namespace CppSharp
 
                 public CppSharp.Parser.AST.TemplateArgument getArguments(uint i)
                 {
-                    var __ret = new TemplateArgument.Internal();
+                    var __ret = new CppSharp.Parser.AST.TemplateArgument.Internal();
                     Internal.getArguments_0(__Instance, new IntPtr(&__ret), i);
                     return CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret);
                 }
@@ -7098,7 +7098,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class ClassTemplatePartialSpecialization : ClassTemplateSpecialization, IDisposable
+            public unsafe partial class ClassTemplatePartialSpecialization : CppSharp.Parser.AST.ClassTemplateSpecialization, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 316)]
                 public new partial struct Internal
@@ -7206,7 +7206,7 @@ namespace CppSharp
                 private static ClassTemplatePartialSpecialization.Internal* __CopyValue(ClassTemplatePartialSpecialization.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(316);
-                    ClassTemplatePartialSpecialization.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.ClassTemplatePartialSpecialization.Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return (ClassTemplatePartialSpecialization.Internal*) ret;
                 }
 
@@ -7217,7 +7217,7 @@ namespace CppSharp
                 }
 
                 protected ClassTemplatePartialSpecialization(ClassTemplatePartialSpecialization.Internal* native, bool isInternalImpl = false)
-                    : base((ClassTemplateSpecialization.Internal*) native)
+                    : base((CppSharp.Parser.AST.ClassTemplateSpecialization.Internal*) native)
                 {
                 }
 
@@ -7239,7 +7239,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class FunctionTemplate : Template, IDisposable
+            public unsafe partial class FunctionTemplate : CppSharp.Parser.AST.Template, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 152)]
                 public new partial struct Internal
@@ -7331,7 +7331,7 @@ namespace CppSharp
                 private static FunctionTemplate.Internal* __CopyValue(FunctionTemplate.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(152);
-                    FunctionTemplate.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.FunctionTemplate.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (FunctionTemplate.Internal*) ret;
                 }
 
@@ -7342,7 +7342,7 @@ namespace CppSharp
                 }
 
                 protected FunctionTemplate(FunctionTemplate.Internal* native, bool isInternalImpl = false)
-                    : base((Template.Internal*) native)
+                    : base((CppSharp.Parser.AST.Template.Internal*) native)
                 {
                 }
 
@@ -7458,7 +7458,7 @@ namespace CppSharp
                 private static FunctionTemplateSpecialization.Internal* __CopyValue(FunctionTemplateSpecialization.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(24);
-                    FunctionTemplateSpecialization.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.FunctionTemplateSpecialization.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (FunctionTemplateSpecialization.Internal*) ret;
                 }
 
@@ -7497,7 +7497,7 @@ namespace CppSharp
 
                 public CppSharp.Parser.AST.TemplateArgument getArguments(uint i)
                 {
-                    var __ret = new TemplateArgument.Internal();
+                    var __ret = new CppSharp.Parser.AST.TemplateArgument.Internal();
                     Internal.getArguments_0(__Instance, new IntPtr(&__ret), i);
                     return CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret);
                 }
@@ -7562,7 +7562,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class Namespace : DeclarationContext, IDisposable
+            public unsafe partial class Namespace : CppSharp.Parser.AST.DeclarationContext, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 236)]
                 public new partial struct Internal
@@ -7637,7 +7637,7 @@ namespace CppSharp
                 private static Namespace.Internal* __CopyValue(Namespace.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(236);
-                    Namespace.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.Namespace.Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return (Namespace.Internal*) ret;
                 }
 
@@ -7648,7 +7648,7 @@ namespace CppSharp
                 }
 
                 protected Namespace(Namespace.Internal* native, bool isInternalImpl = false)
-                    : base((DeclarationContext.Internal*) native)
+                    : base((CppSharp.Parser.AST.DeclarationContext.Internal*) native)
                 {
                 }
 
@@ -7683,7 +7683,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class PreprocessedEntity : Declaration, IDisposable
+            public unsafe partial class PreprocessedEntity : CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 128)]
                 public new partial struct Internal
@@ -7755,7 +7755,7 @@ namespace CppSharp
                 private static PreprocessedEntity.Internal* __CopyValue(PreprocessedEntity.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(128);
-                    PreprocessedEntity.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.PreprocessedEntity.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (PreprocessedEntity.Internal*) ret;
                 }
 
@@ -7766,7 +7766,7 @@ namespace CppSharp
                 }
 
                 protected PreprocessedEntity(PreprocessedEntity.Internal* native, bool isInternalImpl = false)
-                    : base((Declaration.Internal*) native)
+                    : base((CppSharp.Parser.AST.Declaration.Internal*) native)
                 {
                 }
 
@@ -7801,7 +7801,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class MacroDefinition : PreprocessedEntity, IDisposable
+            public unsafe partial class MacroDefinition : CppSharp.Parser.AST.PreprocessedEntity, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 152)]
                 public new partial struct Internal
@@ -7883,7 +7883,7 @@ namespace CppSharp
                 private static MacroDefinition.Internal* __CopyValue(MacroDefinition.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(152);
-                    MacroDefinition.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.MacroDefinition.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (MacroDefinition.Internal*) ret;
                 }
 
@@ -7894,7 +7894,7 @@ namespace CppSharp
                 }
 
                 protected MacroDefinition(MacroDefinition.Internal* native, bool isInternalImpl = false)
-                    : base((PreprocessedEntity.Internal*) native)
+                    : base((CppSharp.Parser.AST.PreprocessedEntity.Internal*) native)
                 {
                 }
 
@@ -7933,7 +7933,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class MacroExpansion : PreprocessedEntity, IDisposable
+            public unsafe partial class MacroExpansion : CppSharp.Parser.AST.PreprocessedEntity, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 156)]
                 public new partial struct Internal
@@ -8018,7 +8018,7 @@ namespace CppSharp
                 private static MacroExpansion.Internal* __CopyValue(MacroExpansion.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(156);
-                    MacroExpansion.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.MacroExpansion.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (MacroExpansion.Internal*) ret;
                 }
 
@@ -8029,7 +8029,7 @@ namespace CppSharp
                 }
 
                 protected MacroExpansion(MacroExpansion.Internal* native, bool isInternalImpl = false)
-                    : base((PreprocessedEntity.Internal*) native)
+                    : base((CppSharp.Parser.AST.PreprocessedEntity.Internal*) native)
                 {
                 }
 
@@ -8081,7 +8081,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class TranslationUnit : Namespace, IDisposable
+            public unsafe partial class TranslationUnit : CppSharp.Parser.AST.Namespace, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 276)]
                 public new partial struct Internal
@@ -8189,7 +8189,7 @@ namespace CppSharp
                 private static TranslationUnit.Internal* __CopyValue(TranslationUnit.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(276);
-                    TranslationUnit.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.TranslationUnit.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (TranslationUnit.Internal*) ret;
                 }
 
@@ -8200,7 +8200,7 @@ namespace CppSharp
                 }
 
                 protected TranslationUnit(TranslationUnit.Internal* native, bool isInternalImpl = false)
-                    : base((Namespace.Internal*) native)
+                    : base((CppSharp.Parser.AST.Namespace.Internal*) native)
                 {
                 }
 
@@ -8370,7 +8370,7 @@ namespace CppSharp
                 private static NativeLibrary.Internal* __CopyValue(NativeLibrary.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(52);
-                    NativeLibrary.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.NativeLibrary.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (NativeLibrary.Internal*) ret;
                 }
 
@@ -8552,7 +8552,7 @@ namespace CppSharp
                 private static ASTContext.Internal* __CopyValue(ASTContext.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(12);
-                    ASTContext.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.ASTContext.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (ASTContext.Internal*) ret;
                 }
 
@@ -8704,7 +8704,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class FullComment : Comment, IDisposable
+            public unsafe partial class FullComment : CppSharp.Parser.AST.Comment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 4)]
                 public new partial struct Internal
@@ -8749,7 +8749,7 @@ namespace CppSharp
                 }
 
                 protected FullComment(FullComment.Internal* native, bool isInternalImpl = false)
-                    : base((Comment.Internal*) native)
+                    : base((CppSharp.Parser.AST.Comment.Internal*) native)
                 {
                 }
 
@@ -8835,7 +8835,7 @@ namespace CppSharp
                 private static RawComment.Internal* __CopyValue(RawComment.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(56);
-                    RawComment.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.RawComment.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (RawComment.Internal*) ret;
                 }
 
diff --git a/src/CppParser/Bindings/CSharp/i686-pc-win32-msvc/CppParser.cs b/src/CppParser/Bindings/CSharp/i686-pc-win32-msvc/CppParser.cs
index eb268aed..e6ecdc44 100644
--- a/src/CppParser/Bindings/CSharp/i686-pc-win32-msvc/CppParser.cs
+++ b/src/CppParser/Bindings/CSharp/i686-pc-win32-msvc/CppParser.cs
@@ -247,7 +247,7 @@ namespace CppSharp
             private static ParserOptions.Internal* __CopyValue(ParserOptions.Internal native)
             {
                 var ret = Marshal.AllocHGlobal(140);
-                ParserOptions.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                CppSharp.Parser.ParserOptions.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                 return (ParserOptions.Internal*) ret;
             }
 
@@ -658,7 +658,7 @@ namespace CppSharp
             private static ParserDiagnostic.Internal* __CopyValue(ParserDiagnostic.Internal native)
             {
                 var ret = Marshal.AllocHGlobal(60);
-                ParserDiagnostic.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                CppSharp.Parser.ParserDiagnostic.Internal.cctor_1(ret, new global::System.IntPtr(&native));
                 return (ParserDiagnostic.Internal*) ret;
             }
 
@@ -839,7 +839,7 @@ namespace CppSharp
             private static ParserResult.Internal* __CopyValue(ParserResult.Internal native)
             {
                 var ret = Marshal.AllocHGlobal(28);
-                ParserResult.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                CppSharp.Parser.ParserResult.Internal.cctor_1(ret, new global::System.IntPtr(&native));
                 return (ParserResult.Internal*) ret;
             }
 
@@ -878,7 +878,7 @@ namespace CppSharp
 
             public CppSharp.Parser.ParserDiagnostic getDiagnostics(uint i)
             {
-                var __ret = new ParserDiagnostic.Internal();
+                var __ret = new CppSharp.Parser.ParserDiagnostic.Internal();
                 Internal.getDiagnostics_0(__Instance, new IntPtr(&__ret), i);
                 return CppSharp.Parser.ParserDiagnostic.__CreateInstance(__ret);
             }
diff --git a/src/CppParser/Bindings/CSharp/i686-pc-win32-msvc/Target.cs b/src/CppParser/Bindings/CSharp/i686-pc-win32-msvc/Target.cs
index e45060ea..aa9cf7b9 100644
--- a/src/CppParser/Bindings/CSharp/i686-pc-win32-msvc/Target.cs
+++ b/src/CppParser/Bindings/CSharp/i686-pc-win32-msvc/Target.cs
@@ -187,7 +187,7 @@ namespace CppSharp
             private static ParserTargetInfo.Internal* __CopyValue(ParserTargetInfo.Internal native)
             {
                 var ret = Marshal.AllocHGlobal(176);
-                ParserTargetInfo.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                CppSharp.Parser.ParserTargetInfo.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                 return (ParserTargetInfo.Internal*) ret;
             }
 
diff --git a/src/CppParser/Bindings/CSharp/x86_64-linux-gnu/AST.cs b/src/CppParser/Bindings/CSharp/x86_64-linux-gnu/AST.cs
index 396a9dcf..9241db78 100644
--- a/src/CppParser/Bindings/CSharp/x86_64-linux-gnu/AST.cs
+++ b/src/CppParser/Bindings/CSharp/x86_64-linux-gnu/AST.cs
@@ -267,7 +267,7 @@ namespace CppSharp
                 private static Type.Internal* __CopyValue(Type.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(8);
-                    Type.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.Type.Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return (Type.Internal*) ret;
                 }
 
@@ -545,7 +545,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class TagType : Type, IDisposable
+            public unsafe partial class TagType : CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 16)]
                 public new partial struct Internal
@@ -585,7 +585,7 @@ namespace CppSharp
                 private static TagType.Internal* __CopyValue(TagType.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(16);
-                    TagType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.TagType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (TagType.Internal*) ret;
                 }
 
@@ -596,7 +596,7 @@ namespace CppSharp
                 }
 
                 protected TagType(TagType.Internal* native, bool isInternalImpl = false)
-                    : base((Type.Internal*) native)
+                    : base((CppSharp.Parser.AST.Type.Internal*) native)
                 {
                 }
 
@@ -631,7 +631,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class ArrayType : Type, IDisposable
+            public unsafe partial class ArrayType : CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 40)]
                 public new partial struct Internal
@@ -685,7 +685,7 @@ namespace CppSharp
                 private static ArrayType.Internal* __CopyValue(ArrayType.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(40);
-                    ArrayType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.ArrayType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (ArrayType.Internal*) ret;
                 }
 
@@ -696,7 +696,7 @@ namespace CppSharp
                 }
 
                 protected ArrayType(ArrayType.Internal* native, bool isInternalImpl = false)
-                    : base((Type.Internal*) native)
+                    : base((CppSharp.Parser.AST.Type.Internal*) native)
                 {
                 }
 
@@ -757,7 +757,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class FunctionType : Type, IDisposable
+            public unsafe partial class FunctionType : CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 56)]
                 public new partial struct Internal
@@ -825,7 +825,7 @@ namespace CppSharp
                 private static FunctionType.Internal* __CopyValue(FunctionType.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(56);
-                    FunctionType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.FunctionType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (FunctionType.Internal*) ret;
                 }
 
@@ -836,7 +836,7 @@ namespace CppSharp
                 }
 
                 protected FunctionType(FunctionType.Internal* native, bool isInternalImpl = false)
-                    : base((Type.Internal*) native)
+                    : base((CppSharp.Parser.AST.Type.Internal*) native)
                 {
                 }
 
@@ -911,7 +911,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class PointerType : Type, IDisposable
+            public unsafe partial class PointerType : CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 32)]
                 public new partial struct Internal
@@ -962,7 +962,7 @@ namespace CppSharp
                 private static PointerType.Internal* __CopyValue(PointerType.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(32);
-                    PointerType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.PointerType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (PointerType.Internal*) ret;
                 }
 
@@ -973,7 +973,7 @@ namespace CppSharp
                 }
 
                 protected PointerType(PointerType.Internal* native, bool isInternalImpl = false)
-                    : base((Type.Internal*) native)
+                    : base((CppSharp.Parser.AST.Type.Internal*) native)
                 {
                 }
 
@@ -1021,7 +1021,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class MemberPointerType : Type, IDisposable
+            public unsafe partial class MemberPointerType : CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 24)]
                 public new partial struct Internal
@@ -1061,7 +1061,7 @@ namespace CppSharp
                 private static MemberPointerType.Internal* __CopyValue(MemberPointerType.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(24);
-                    MemberPointerType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.MemberPointerType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (MemberPointerType.Internal*) ret;
                 }
 
@@ -1072,7 +1072,7 @@ namespace CppSharp
                 }
 
                 protected MemberPointerType(MemberPointerType.Internal* native, bool isInternalImpl = false)
-                    : base((Type.Internal*) native)
+                    : base((CppSharp.Parser.AST.Type.Internal*) native)
                 {
                 }
 
@@ -1107,7 +1107,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class TypedefType : Type, IDisposable
+            public unsafe partial class TypedefType : CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 16)]
                 public new partial struct Internal
@@ -1147,7 +1147,7 @@ namespace CppSharp
                 private static TypedefType.Internal* __CopyValue(TypedefType.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(16);
-                    TypedefType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.TypedefType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (TypedefType.Internal*) ret;
                 }
 
@@ -1158,7 +1158,7 @@ namespace CppSharp
                 }
 
                 protected TypedefType(TypedefType.Internal* native, bool isInternalImpl = false)
-                    : base((Type.Internal*) native)
+                    : base((CppSharp.Parser.AST.Type.Internal*) native)
                 {
                 }
 
@@ -1193,7 +1193,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class AttributedType : Type, IDisposable
+            public unsafe partial class AttributedType : CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 40)]
                 public new partial struct Internal
@@ -1236,7 +1236,7 @@ namespace CppSharp
                 private static AttributedType.Internal* __CopyValue(AttributedType.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(40);
-                    AttributedType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.AttributedType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (AttributedType.Internal*) ret;
                 }
 
@@ -1247,7 +1247,7 @@ namespace CppSharp
                 }
 
                 protected AttributedType(AttributedType.Internal* native, bool isInternalImpl = false)
-                    : base((Type.Internal*) native)
+                    : base((CppSharp.Parser.AST.Type.Internal*) native)
                 {
                 }
 
@@ -1295,7 +1295,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class DecayedType : Type, IDisposable
+            public unsafe partial class DecayedType : CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 56)]
                 public new partial struct Internal
@@ -1341,7 +1341,7 @@ namespace CppSharp
                 private static DecayedType.Internal* __CopyValue(DecayedType.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(56);
-                    DecayedType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.DecayedType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (DecayedType.Internal*) ret;
                 }
 
@@ -1352,7 +1352,7 @@ namespace CppSharp
                 }
 
                 protected DecayedType(DecayedType.Internal* native, bool isInternalImpl = false)
-                    : base((Type.Internal*) native)
+                    : base((CppSharp.Parser.AST.Type.Internal*) native)
                 {
                 }
 
@@ -1559,7 +1559,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class TemplateSpecializationType : Type, IDisposable
+            public unsafe partial class TemplateSpecializationType : CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 48)]
                 public new partial struct Internal
@@ -1627,7 +1627,7 @@ namespace CppSharp
                 private static TemplateSpecializationType.Internal* __CopyValue(TemplateSpecializationType.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(48);
-                    TemplateSpecializationType.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.TemplateSpecializationType.Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return (TemplateSpecializationType.Internal*) ret;
                 }
 
@@ -1638,7 +1638,7 @@ namespace CppSharp
                 }
 
                 protected TemplateSpecializationType(TemplateSpecializationType.Internal* native, bool isInternalImpl = false)
-                    : base((Type.Internal*) native)
+                    : base((CppSharp.Parser.AST.Type.Internal*) native)
                 {
                 }
 
@@ -1661,7 +1661,7 @@ namespace CppSharp
 
                 public CppSharp.Parser.AST.TemplateArgument getArguments(uint i)
                 {
-                    var __ret = new TemplateArgument.Internal();
+                    var __ret = new CppSharp.Parser.AST.TemplateArgument.Internal();
                     Internal.getArguments_0(new IntPtr(&__ret), __Instance, i);
                     return CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret);
                 }
@@ -1770,7 +1770,7 @@ namespace CppSharp
                 private static TemplateParameter.Internal* __CopyValue(TemplateParameter.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(16);
-                    TemplateParameter.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.TemplateParameter.Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return (TemplateParameter.Internal*) ret;
                 }
 
@@ -1860,7 +1860,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class TemplateParameterType : Type, IDisposable
+            public unsafe partial class TemplateParameterType : CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 40)]
                 public new partial struct Internal
@@ -1914,7 +1914,7 @@ namespace CppSharp
                 private static TemplateParameterType.Internal* __CopyValue(TemplateParameterType.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(40);
-                    TemplateParameterType.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.TemplateParameterType.Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return (TemplateParameterType.Internal*) ret;
                 }
 
@@ -1925,7 +1925,7 @@ namespace CppSharp
                 }
 
                 protected TemplateParameterType(TemplateParameterType.Internal* native, bool isInternalImpl = false)
-                    : base((Type.Internal*) native)
+                    : base((CppSharp.Parser.AST.Type.Internal*) native)
                 {
                 }
 
@@ -1999,7 +1999,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class TemplateParameterSubstitutionType : Type, IDisposable
+            public unsafe partial class TemplateParameterSubstitutionType : CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 24)]
                 public new partial struct Internal
@@ -2039,7 +2039,7 @@ namespace CppSharp
                 private static TemplateParameterSubstitutionType.Internal* __CopyValue(TemplateParameterSubstitutionType.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(24);
-                    TemplateParameterSubstitutionType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.TemplateParameterSubstitutionType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (TemplateParameterSubstitutionType.Internal*) ret;
                 }
 
@@ -2050,7 +2050,7 @@ namespace CppSharp
                 }
 
                 protected TemplateParameterSubstitutionType(TemplateParameterSubstitutionType.Internal* native, bool isInternalImpl = false)
-                    : base((Type.Internal*) native)
+                    : base((CppSharp.Parser.AST.Type.Internal*) native)
                 {
                 }
 
@@ -2085,7 +2085,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class InjectedClassNameType : Type, IDisposable
+            public unsafe partial class InjectedClassNameType : CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 24)]
                 public new partial struct Internal
@@ -2128,7 +2128,7 @@ namespace CppSharp
                 private static InjectedClassNameType.Internal* __CopyValue(InjectedClassNameType.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(24);
-                    InjectedClassNameType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.InjectedClassNameType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (InjectedClassNameType.Internal*) ret;
                 }
 
@@ -2139,7 +2139,7 @@ namespace CppSharp
                 }
 
                 protected InjectedClassNameType(InjectedClassNameType.Internal* native, bool isInternalImpl = false)
-                    : base((Type.Internal*) native)
+                    : base((CppSharp.Parser.AST.Type.Internal*) native)
                 {
                 }
 
@@ -2187,7 +2187,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class DependentNameType : Type, IDisposable
+            public unsafe partial class DependentNameType : CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 8)]
                 public new partial struct Internal
@@ -2224,7 +2224,7 @@ namespace CppSharp
                 private static DependentNameType.Internal* __CopyValue(DependentNameType.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(8);
-                    DependentNameType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.DependentNameType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (DependentNameType.Internal*) ret;
                 }
 
@@ -2235,7 +2235,7 @@ namespace CppSharp
                 }
 
                 protected DependentNameType(DependentNameType.Internal* native, bool isInternalImpl = false)
-                    : base((Type.Internal*) native)
+                    : base((CppSharp.Parser.AST.Type.Internal*) native)
                 {
                 }
 
@@ -2257,7 +2257,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class PackExpansionType : Type, IDisposable
+            public unsafe partial class PackExpansionType : CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 8)]
                 public new partial struct Internal
@@ -2294,7 +2294,7 @@ namespace CppSharp
                 private static PackExpansionType.Internal* __CopyValue(PackExpansionType.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(8);
-                    PackExpansionType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.PackExpansionType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (PackExpansionType.Internal*) ret;
                 }
 
@@ -2305,7 +2305,7 @@ namespace CppSharp
                 }
 
                 protected PackExpansionType(PackExpansionType.Internal* native, bool isInternalImpl = false)
-                    : base((Type.Internal*) native)
+                    : base((CppSharp.Parser.AST.Type.Internal*) native)
                 {
                 }
 
@@ -2327,7 +2327,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class BuiltinType : Type, IDisposable
+            public unsafe partial class BuiltinType : CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 12)]
                 public new partial struct Internal
@@ -2367,7 +2367,7 @@ namespace CppSharp
                 private static BuiltinType.Internal* __CopyValue(BuiltinType.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(12);
-                    BuiltinType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.BuiltinType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (BuiltinType.Internal*) ret;
                 }
 
@@ -2378,7 +2378,7 @@ namespace CppSharp
                 }
 
                 protected BuiltinType(BuiltinType.Internal* native, bool isInternalImpl = false)
-                    : base((Type.Internal*) native)
+                    : base((CppSharp.Parser.AST.Type.Internal*) native)
                 {
                 }
 
@@ -2589,7 +2589,7 @@ namespace CppSharp
                 private static VTableLayout.Internal* __CopyValue(VTableLayout.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(24);
-                    VTableLayout.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.VTableLayout.Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return (VTableLayout.Internal*) ret;
                 }
 
@@ -2703,7 +2703,7 @@ namespace CppSharp
                 private static VFTableInfo.Internal* __CopyValue(VFTableInfo.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(40);
-                    VFTableInfo.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.VFTableInfo.Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return (VFTableInfo.Internal*) ret;
                 }
 
@@ -2872,7 +2872,7 @@ namespace CppSharp
                 private static ClassLayout.Internal* __CopyValue(ClassLayout.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(88);
-                    ClassLayout.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.ClassLayout.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (ClassLayout.Internal*) ret;
                 }
 
@@ -2911,7 +2911,7 @@ namespace CppSharp
 
                 public CppSharp.Parser.AST.VFTableInfo getVFTables(uint i)
                 {
-                    var __ret = new VFTableInfo.Internal();
+                    var __ret = new CppSharp.Parser.AST.VFTableInfo.Internal();
                     Internal.getVFTables_0(new IntPtr(&__ret), __Instance, i);
                     return CppSharp.Parser.AST.VFTableInfo.__CreateInstance(__ret);
                 }
@@ -3139,7 +3139,7 @@ namespace CppSharp
                 private static Declaration.Internal* __CopyValue(Declaration.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(112);
-                    Declaration.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.Declaration.Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return (Declaration.Internal*) ret;
                 }
 
@@ -3382,7 +3382,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class DeclarationContext : Declaration, IDisposable
+            public unsafe partial class DeclarationContext : CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 360)]
                 public new partial struct Internal
@@ -3614,7 +3614,7 @@ namespace CppSharp
                 private static DeclarationContext.Internal* __CopyValue(DeclarationContext.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(360);
-                    DeclarationContext.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.DeclarationContext.Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return (DeclarationContext.Internal*) ret;
                 }
 
@@ -3625,7 +3625,7 @@ namespace CppSharp
                 }
 
                 protected DeclarationContext(DeclarationContext.Internal* native, bool isInternalImpl = false)
-                    : base((Declaration.Internal*) native)
+                    : base((CppSharp.Parser.AST.Declaration.Internal*) native)
                 {
                 }
 
@@ -3877,7 +3877,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class TypedefDecl : Declaration, IDisposable
+            public unsafe partial class TypedefDecl : CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 128)]
                 public new partial struct Internal
@@ -3949,7 +3949,7 @@ namespace CppSharp
                 private static TypedefDecl.Internal* __CopyValue(TypedefDecl.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(128);
-                    TypedefDecl.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.TypedefDecl.Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return (TypedefDecl.Internal*) ret;
                 }
 
@@ -3960,7 +3960,7 @@ namespace CppSharp
                 }
 
                 protected TypedefDecl(TypedefDecl.Internal* native, bool isInternalImpl = false)
-                    : base((Declaration.Internal*) native)
+                    : base((CppSharp.Parser.AST.Declaration.Internal*) native)
                 {
                 }
 
@@ -3995,7 +3995,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class Friend : Declaration, IDisposable
+            public unsafe partial class Friend : CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 120)]
                 public new partial struct Internal
@@ -4067,7 +4067,7 @@ namespace CppSharp
                 private static Friend.Internal* __CopyValue(Friend.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(120);
-                    Friend.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.Friend.Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return (Friend.Internal*) ret;
                 }
 
@@ -4078,7 +4078,7 @@ namespace CppSharp
                 }
 
                 protected Friend(Friend.Internal* native, bool isInternalImpl = false)
-                    : base((Declaration.Internal*) native)
+                    : base((CppSharp.Parser.AST.Declaration.Internal*) native)
                 {
                 }
 
@@ -4162,7 +4162,7 @@ namespace CppSharp
                 private static Statement.Internal* __CopyValue(Statement.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(24);
-                    Statement.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.Statement.Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return (Statement.Internal*) ret;
                 }
 
@@ -4236,7 +4236,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class Expression : Statement, IDisposable
+            public unsafe partial class Expression : CppSharp.Parser.AST.Statement, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 32)]
                 public new partial struct Internal
@@ -4276,7 +4276,7 @@ namespace CppSharp
                 private static Expression.Internal* __CopyValue(Expression.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(32);
-                    Expression.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.Expression.Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return (Expression.Internal*) ret;
                 }
 
@@ -4287,7 +4287,7 @@ namespace CppSharp
                 }
 
                 protected Expression(Expression.Internal* native, bool isInternalImpl = false)
-                    : base((Statement.Internal*) native)
+                    : base((CppSharp.Parser.AST.Statement.Internal*) native)
                 {
                 }
 
@@ -4314,7 +4314,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class Parameter : Declaration, IDisposable
+            public unsafe partial class Parameter : CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 144)]
                 public new partial struct Internal
@@ -4398,7 +4398,7 @@ namespace CppSharp
                 private static Parameter.Internal* __CopyValue(Parameter.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(144);
-                    Parameter.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.Parameter.Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return (Parameter.Internal*) ret;
                 }
 
@@ -4409,7 +4409,7 @@ namespace CppSharp
                 }
 
                 protected Parameter(Parameter.Internal* native, bool isInternalImpl = false)
-                    : base((Declaration.Internal*) native)
+                    : base((CppSharp.Parser.AST.Declaration.Internal*) native)
                 {
                 }
 
@@ -4496,7 +4496,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class Function : Declaration, IDisposable
+            public unsafe partial class Function : CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 200)]
                 public new partial struct Internal
@@ -4635,7 +4635,7 @@ namespace CppSharp
                 private static Function.Internal* __CopyValue(Function.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(200);
-                    Function.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.Function.Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return (Function.Internal*) ret;
                 }
 
@@ -4646,7 +4646,7 @@ namespace CppSharp
                 }
 
                 protected Function(Function.Internal* native, bool isInternalImpl = false)
-                    : base((Declaration.Internal*) native)
+                    : base((CppSharp.Parser.AST.Declaration.Internal*) native)
                 {
                 }
 
@@ -4859,7 +4859,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class Method : Function, IDisposable
+            public unsafe partial class Method : CppSharp.Parser.AST.Function, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 240)]
                 public new partial struct Internal
@@ -4994,7 +4994,7 @@ namespace CppSharp
                 private static Method.Internal* __CopyValue(Method.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(240);
-                    Method.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.Method.Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return (Method.Internal*) ret;
                 }
 
@@ -5005,7 +5005,7 @@ namespace CppSharp
                 }
 
                 protected Method(Method.Internal* native, bool isInternalImpl = false)
-                    : base((Function.Internal*) native)
+                    : base((CppSharp.Parser.AST.Function.Internal*) native)
                 {
                 }
 
@@ -5183,7 +5183,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class Enumeration : DeclarationContext, IDisposable
+            public unsafe partial class Enumeration : CppSharp.Parser.AST.DeclarationContext, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 400)]
                 public new partial struct Internal
@@ -5277,7 +5277,7 @@ namespace CppSharp
                     Flags = 4
                 }
 
-                public unsafe partial class Item : Declaration, IDisposable
+                public unsafe partial class Item : CppSharp.Parser.AST.Declaration, IDisposable
                 {
                     [StructLayout(LayoutKind.Explicit, Size = 128)]
                     public new partial struct Internal
@@ -5359,7 +5359,7 @@ namespace CppSharp
                     private static Item.Internal* __CopyValue(Item.Internal native)
                     {
                         var ret = Marshal.AllocHGlobal(128);
-                        Item.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                        CppSharp.Parser.AST.Enumeration.Item.Internal.cctor_1(ret, new global::System.IntPtr(&native));
                         return (Item.Internal*) ret;
                     }
 
@@ -5370,7 +5370,7 @@ namespace CppSharp
                     }
 
                     protected Item(Item.Internal* native, bool isInternalImpl = false)
-                        : base((Declaration.Internal*) native)
+                        : base((CppSharp.Parser.AST.Declaration.Internal*) native)
                     {
                     }
 
@@ -5437,7 +5437,7 @@ namespace CppSharp
                 private static Enumeration.Internal* __CopyValue(Enumeration.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(400);
-                    Enumeration.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.Enumeration.Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return (Enumeration.Internal*) ret;
                 }
 
@@ -5448,7 +5448,7 @@ namespace CppSharp
                 }
 
                 protected Enumeration(Enumeration.Internal* native, bool isInternalImpl = false)
-                    : base((DeclarationContext.Internal*) native)
+                    : base((CppSharp.Parser.AST.DeclarationContext.Internal*) native)
                 {
                 }
 
@@ -5471,7 +5471,7 @@ namespace CppSharp
 
                 public CppSharp.Parser.AST.Enumeration.Item getItems(uint i)
                 {
-                    var __ret = new Item.Internal();
+                    var __ret = new CppSharp.Parser.AST.Enumeration.Item.Internal();
                     Internal.getItems_0(new IntPtr(&__ret), __Instance, i);
                     return CppSharp.Parser.AST.Enumeration.Item.__CreateInstance(__ret);
                 }
@@ -5536,7 +5536,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class Variable : Declaration, IDisposable
+            public unsafe partial class Variable : CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 136)]
                 public new partial struct Internal
@@ -5618,7 +5618,7 @@ namespace CppSharp
                 private static Variable.Internal* __CopyValue(Variable.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(136);
-                    Variable.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.Variable.Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return (Variable.Internal*) ret;
                 }
 
@@ -5629,7 +5629,7 @@ namespace CppSharp
                 }
 
                 protected Variable(Variable.Internal* native, bool isInternalImpl = false)
-                    : base((Declaration.Internal*) native)
+                    : base((CppSharp.Parser.AST.Declaration.Internal*) native)
                 {
                 }
 
@@ -5815,7 +5815,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class Field : Declaration, IDisposable
+            public unsafe partial class Field : CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 152)]
                 public new partial struct Internal
@@ -5899,7 +5899,7 @@ namespace CppSharp
                 private static Field.Internal* __CopyValue(Field.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(152);
-                    Field.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.Field.Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return (Field.Internal*) ret;
                 }
 
@@ -5910,7 +5910,7 @@ namespace CppSharp
                 }
 
                 protected Field(Field.Internal* native, bool isInternalImpl = false)
-                    : base((Declaration.Internal*) native)
+                    : base((CppSharp.Parser.AST.Declaration.Internal*) native)
                 {
                 }
 
@@ -5997,7 +5997,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class AccessSpecifierDecl : Declaration, IDisposable
+            public unsafe partial class AccessSpecifierDecl : CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 112)]
                 public new partial struct Internal
@@ -6066,7 +6066,7 @@ namespace CppSharp
                 private static AccessSpecifierDecl.Internal* __CopyValue(AccessSpecifierDecl.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(112);
-                    AccessSpecifierDecl.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.AccessSpecifierDecl.Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return (AccessSpecifierDecl.Internal*) ret;
                 }
 
@@ -6077,7 +6077,7 @@ namespace CppSharp
                 }
 
                 protected AccessSpecifierDecl(AccessSpecifierDecl.Internal* native, bool isInternalImpl = false)
-                    : base((Declaration.Internal*) native)
+                    : base((CppSharp.Parser.AST.Declaration.Internal*) native)
                 {
                 }
 
@@ -6099,7 +6099,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class Class : DeclarationContext, IDisposable
+            public unsafe partial class Class : CppSharp.Parser.AST.DeclarationContext, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 480)]
                 public new partial struct Internal
@@ -6281,7 +6281,7 @@ namespace CppSharp
                 private static Class.Internal* __CopyValue(Class.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(480);
-                    Class.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.Class.Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return (Class.Internal*) ret;
                 }
 
@@ -6292,7 +6292,7 @@ namespace CppSharp
                 }
 
                 protected Class(Class.Internal* native, bool isInternalImpl = false)
-                    : base((DeclarationContext.Internal*) native)
+                    : base((CppSharp.Parser.AST.DeclarationContext.Internal*) native)
                 {
                 }
 
@@ -6552,7 +6552,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class Template : Declaration, IDisposable
+            public unsafe partial class Template : CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 144)]
                 public new partial struct Internal
@@ -6649,7 +6649,7 @@ namespace CppSharp
                 private static Template.Internal* __CopyValue(Template.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(144);
-                    Template.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.Template.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (Template.Internal*) ret;
                 }
 
@@ -6660,7 +6660,7 @@ namespace CppSharp
                 }
 
                 protected Template(Template.Internal* native, bool isInternalImpl = false)
-                    : base((Declaration.Internal*) native)
+                    : base((CppSharp.Parser.AST.Declaration.Internal*) native)
                 {
                 }
 
@@ -6692,7 +6692,7 @@ namespace CppSharp
 
                 public CppSharp.Parser.AST.TemplateParameter getParameters(uint i)
                 {
-                    var __ret = new TemplateParameter.Internal();
+                    var __ret = new CppSharp.Parser.AST.TemplateParameter.Internal();
                     Internal.getParameters_0(new IntPtr(&__ret), __Instance, i);
                     return CppSharp.Parser.AST.TemplateParameter.__CreateInstance(__ret);
                 }
@@ -6731,7 +6731,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class ClassTemplate : Template, IDisposable
+            public unsafe partial class ClassTemplate : CppSharp.Parser.AST.Template, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 168)]
                 public new partial struct Internal
@@ -6823,7 +6823,7 @@ namespace CppSharp
                 private static ClassTemplate.Internal* __CopyValue(ClassTemplate.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(168);
-                    ClassTemplate.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.ClassTemplate.Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return (ClassTemplate.Internal*) ret;
                 }
 
@@ -6834,7 +6834,7 @@ namespace CppSharp
                 }
 
                 protected ClassTemplate(ClassTemplate.Internal* native, bool isInternalImpl = false)
-                    : base((Template.Internal*) native)
+                    : base((CppSharp.Parser.AST.Template.Internal*) native)
                 {
                 }
 
@@ -6883,7 +6883,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class ClassTemplateSpecialization : Class, IDisposable
+            public unsafe partial class ClassTemplateSpecialization : CppSharp.Parser.AST.Class, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 520)]
                 public new partial struct Internal
@@ -7011,7 +7011,7 @@ namespace CppSharp
                 private static ClassTemplateSpecialization.Internal* __CopyValue(ClassTemplateSpecialization.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(520);
-                    ClassTemplateSpecialization.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.ClassTemplateSpecialization.Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return (ClassTemplateSpecialization.Internal*) ret;
                 }
 
@@ -7022,7 +7022,7 @@ namespace CppSharp
                 }
 
                 protected ClassTemplateSpecialization(ClassTemplateSpecialization.Internal* native, bool isInternalImpl = false)
-                    : base((Class.Internal*) native)
+                    : base((CppSharp.Parser.AST.Class.Internal*) native)
                 {
                 }
 
@@ -7045,7 +7045,7 @@ namespace CppSharp
 
                 public CppSharp.Parser.AST.TemplateArgument getArguments(uint i)
                 {
-                    var __ret = new TemplateArgument.Internal();
+                    var __ret = new CppSharp.Parser.AST.TemplateArgument.Internal();
                     Internal.getArguments_0(new IntPtr(&__ret), __Instance, i);
                     return CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret);
                 }
@@ -7097,7 +7097,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class ClassTemplatePartialSpecialization : ClassTemplateSpecialization, IDisposable
+            public unsafe partial class ClassTemplatePartialSpecialization : CppSharp.Parser.AST.ClassTemplateSpecialization, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 520)]
                 public new partial struct Internal
@@ -7205,7 +7205,7 @@ namespace CppSharp
                 private static ClassTemplatePartialSpecialization.Internal* __CopyValue(ClassTemplatePartialSpecialization.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(520);
-                    ClassTemplatePartialSpecialization.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.ClassTemplatePartialSpecialization.Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return (ClassTemplatePartialSpecialization.Internal*) ret;
                 }
 
@@ -7216,7 +7216,7 @@ namespace CppSharp
                 }
 
                 protected ClassTemplatePartialSpecialization(ClassTemplatePartialSpecialization.Internal* native, bool isInternalImpl = false)
-                    : base((ClassTemplateSpecialization.Internal*) native)
+                    : base((CppSharp.Parser.AST.ClassTemplateSpecialization.Internal*) native)
                 {
                 }
 
@@ -7238,7 +7238,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class FunctionTemplate : Template, IDisposable
+            public unsafe partial class FunctionTemplate : CppSharp.Parser.AST.Template, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 168)]
                 public new partial struct Internal
@@ -7330,7 +7330,7 @@ namespace CppSharp
                 private static FunctionTemplate.Internal* __CopyValue(FunctionTemplate.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(168);
-                    FunctionTemplate.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.FunctionTemplate.Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return (FunctionTemplate.Internal*) ret;
                 }
 
@@ -7341,7 +7341,7 @@ namespace CppSharp
                 }
 
                 protected FunctionTemplate(FunctionTemplate.Internal* native, bool isInternalImpl = false)
-                    : base((Template.Internal*) native)
+                    : base((CppSharp.Parser.AST.Template.Internal*) native)
                 {
                 }
 
@@ -7457,7 +7457,7 @@ namespace CppSharp
                 private static FunctionTemplateSpecialization.Internal* __CopyValue(FunctionTemplateSpecialization.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(48);
-                    FunctionTemplateSpecialization.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.FunctionTemplateSpecialization.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (FunctionTemplateSpecialization.Internal*) ret;
                 }
 
@@ -7496,7 +7496,7 @@ namespace CppSharp
 
                 public CppSharp.Parser.AST.TemplateArgument getArguments(uint i)
                 {
-                    var __ret = new TemplateArgument.Internal();
+                    var __ret = new CppSharp.Parser.AST.TemplateArgument.Internal();
                     Internal.getArguments_0(new IntPtr(&__ret), __Instance, i);
                     return CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret);
                 }
@@ -7561,7 +7561,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class Namespace : DeclarationContext, IDisposable
+            public unsafe partial class Namespace : CppSharp.Parser.AST.DeclarationContext, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 360)]
                 public new partial struct Internal
@@ -7636,7 +7636,7 @@ namespace CppSharp
                 private static Namespace.Internal* __CopyValue(Namespace.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(360);
-                    Namespace.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.Namespace.Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return (Namespace.Internal*) ret;
                 }
 
@@ -7647,7 +7647,7 @@ namespace CppSharp
                 }
 
                 protected Namespace(Namespace.Internal* native, bool isInternalImpl = false)
-                    : base((DeclarationContext.Internal*) native)
+                    : base((CppSharp.Parser.AST.DeclarationContext.Internal*) native)
                 {
                 }
 
@@ -7682,7 +7682,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class PreprocessedEntity : Declaration, IDisposable
+            public unsafe partial class PreprocessedEntity : CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 120)]
                 public new partial struct Internal
@@ -7754,7 +7754,7 @@ namespace CppSharp
                 private static PreprocessedEntity.Internal* __CopyValue(PreprocessedEntity.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(120);
-                    PreprocessedEntity.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.PreprocessedEntity.Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return (PreprocessedEntity.Internal*) ret;
                 }
 
@@ -7765,7 +7765,7 @@ namespace CppSharp
                 }
 
                 protected PreprocessedEntity(PreprocessedEntity.Internal* native, bool isInternalImpl = false)
-                    : base((Declaration.Internal*) native)
+                    : base((CppSharp.Parser.AST.Declaration.Internal*) native)
                 {
                 }
 
@@ -7800,7 +7800,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class MacroDefinition : PreprocessedEntity, IDisposable
+            public unsafe partial class MacroDefinition : CppSharp.Parser.AST.PreprocessedEntity, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 128)]
                 public new partial struct Internal
@@ -7882,7 +7882,7 @@ namespace CppSharp
                 private static MacroDefinition.Internal* __CopyValue(MacroDefinition.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(128);
-                    MacroDefinition.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.MacroDefinition.Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return (MacroDefinition.Internal*) ret;
                 }
 
@@ -7893,7 +7893,7 @@ namespace CppSharp
                 }
 
                 protected MacroDefinition(MacroDefinition.Internal* native, bool isInternalImpl = false)
-                    : base((PreprocessedEntity.Internal*) native)
+                    : base((CppSharp.Parser.AST.PreprocessedEntity.Internal*) native)
                 {
                 }
 
@@ -7932,7 +7932,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class MacroExpansion : PreprocessedEntity, IDisposable
+            public unsafe partial class MacroExpansion : CppSharp.Parser.AST.PreprocessedEntity, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 136)]
                 public new partial struct Internal
@@ -8017,7 +8017,7 @@ namespace CppSharp
                 private static MacroExpansion.Internal* __CopyValue(MacroExpansion.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(136);
-                    MacroExpansion.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.MacroExpansion.Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return (MacroExpansion.Internal*) ret;
                 }
 
@@ -8028,7 +8028,7 @@ namespace CppSharp
                 }
 
                 protected MacroExpansion(MacroExpansion.Internal* native, bool isInternalImpl = false)
-                    : base((PreprocessedEntity.Internal*) native)
+                    : base((CppSharp.Parser.AST.PreprocessedEntity.Internal*) native)
                 {
                 }
 
@@ -8080,7 +8080,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class TranslationUnit : Namespace, IDisposable
+            public unsafe partial class TranslationUnit : CppSharp.Parser.AST.Namespace, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 400)]
                 public new partial struct Internal
@@ -8188,7 +8188,7 @@ namespace CppSharp
                 private static TranslationUnit.Internal* __CopyValue(TranslationUnit.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(400);
-                    TranslationUnit.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.TranslationUnit.Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return (TranslationUnit.Internal*) ret;
                 }
 
@@ -8199,7 +8199,7 @@ namespace CppSharp
                 }
 
                 protected TranslationUnit(TranslationUnit.Internal* native, bool isInternalImpl = false)
-                    : base((Namespace.Internal*) native)
+                    : base((CppSharp.Parser.AST.Namespace.Internal*) native)
                 {
                 }
 
@@ -8369,7 +8369,7 @@ namespace CppSharp
                 private static NativeLibrary.Internal* __CopyValue(NativeLibrary.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(64);
-                    NativeLibrary.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.NativeLibrary.Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return (NativeLibrary.Internal*) ret;
                 }
 
@@ -8551,7 +8551,7 @@ namespace CppSharp
                 private static ASTContext.Internal* __CopyValue(ASTContext.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(24);
-                    ASTContext.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.ASTContext.Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return (ASTContext.Internal*) ret;
                 }
 
@@ -8703,7 +8703,7 @@ namespace CppSharp
                 }
             }
 
-            public unsafe partial class FullComment : Comment, IDisposable
+            public unsafe partial class FullComment : CppSharp.Parser.AST.Comment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 4)]
                 public new partial struct Internal
@@ -8748,7 +8748,7 @@ namespace CppSharp
                 }
 
                 protected FullComment(FullComment.Internal* native, bool isInternalImpl = false)
-                    : base((Comment.Internal*) native)
+                    : base((CppSharp.Parser.AST.Comment.Internal*) native)
                 {
                 }
 
@@ -8834,7 +8834,7 @@ namespace CppSharp
                 private static RawComment.Internal* __CopyValue(RawComment.Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(32);
-                    RawComment.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    CppSharp.Parser.AST.RawComment.Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return (RawComment.Internal*) ret;
                 }
 
diff --git a/src/CppParser/Bindings/CSharp/x86_64-linux-gnu/CppParser.cs b/src/CppParser/Bindings/CSharp/x86_64-linux-gnu/CppParser.cs
index 941286d3..45c80a53 100644
--- a/src/CppParser/Bindings/CSharp/x86_64-linux-gnu/CppParser.cs
+++ b/src/CppParser/Bindings/CSharp/x86_64-linux-gnu/CppParser.cs
@@ -247,7 +247,7 @@ namespace CppSharp
             private static ParserOptions.Internal* __CopyValue(ParserOptions.Internal native)
             {
                 var ret = Marshal.AllocHGlobal(192);
-                ParserOptions.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                CppSharp.Parser.ParserOptions.Internal.cctor_1(ret, new global::System.IntPtr(&native));
                 return (ParserOptions.Internal*) ret;
             }
 
@@ -658,7 +658,7 @@ namespace CppSharp
             private static ParserDiagnostic.Internal* __CopyValue(ParserDiagnostic.Internal native)
             {
                 var ret = Marshal.AllocHGlobal(32);
-                ParserDiagnostic.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                CppSharp.Parser.ParserDiagnostic.Internal.cctor_1(ret, new global::System.IntPtr(&native));
                 return (ParserDiagnostic.Internal*) ret;
             }
 
@@ -839,7 +839,7 @@ namespace CppSharp
             private static ParserResult.Internal* __CopyValue(ParserResult.Internal native)
             {
                 var ret = Marshal.AllocHGlobal(56);
-                ParserResult.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                CppSharp.Parser.ParserResult.Internal.cctor_1(ret, new global::System.IntPtr(&native));
                 return (ParserResult.Internal*) ret;
             }
 
@@ -878,7 +878,7 @@ namespace CppSharp
 
             public CppSharp.Parser.ParserDiagnostic getDiagnostics(uint i)
             {
-                var __ret = new ParserDiagnostic.Internal();
+                var __ret = new CppSharp.Parser.ParserDiagnostic.Internal();
                 Internal.getDiagnostics_0(new IntPtr(&__ret), __Instance, i);
                 return CppSharp.Parser.ParserDiagnostic.__CreateInstance(__ret);
             }
diff --git a/src/CppParser/Bindings/CSharp/x86_64-linux-gnu/Target.cs b/src/CppParser/Bindings/CSharp/x86_64-linux-gnu/Target.cs
index 71483850..4b652b67 100644
--- a/src/CppParser/Bindings/CSharp/x86_64-linux-gnu/Target.cs
+++ b/src/CppParser/Bindings/CSharp/x86_64-linux-gnu/Target.cs
@@ -187,7 +187,7 @@ namespace CppSharp
             private static ParserTargetInfo.Internal* __CopyValue(ParserTargetInfo.Internal native)
             {
                 var ret = Marshal.AllocHGlobal(160);
-                ParserTargetInfo.Internal.cctor_0(ret, new global::System.IntPtr(&native));
+                CppSharp.Parser.ParserTargetInfo.Internal.cctor_0(ret, new global::System.IntPtr(&native));
                 return (ParserTargetInfo.Internal*) ret;
             }
 
diff --git a/src/Generator/Generators/CSharp/CSharpTextTemplate.cs b/src/Generator/Generators/CSharp/CSharpTextTemplate.cs
index b80de910..f4f23459 100644
--- a/src/Generator/Generators/CSharp/CSharpTextTemplate.cs
+++ b/src/Generator/Generators/CSharp/CSharpTextTemplate.cs
@@ -133,12 +133,6 @@ namespace CppSharp.Generators.CSharp
             if (reference.GenerationKind == GenerationKind.Generate && Options.GenerateLibraryNamespace)
                 refNames.Push(Options.OutputNamespace);
 
-            while (refNames.Count > 1 && ctxNames.Count > 1 &&refNames.Peek() == ctxNames.Peek())
-            {
-                refNames.Pop();
-                ctxNames.Pop();
-            }
-
             return string.Join(".", refNames);
         }
 
diff --git a/src/Generator/Passes/RenameRootNamespaces.cs b/src/Generator/Passes/RenameRootNamespaces.cs
index 565bcfd2..6c5323b9 100644
--- a/src/Generator/Passes/RenameRootNamespaces.cs
+++ b/src/Generator/Passes/RenameRootNamespaces.cs
@@ -1,6 +1,4 @@
 using CppSharp.AST;
-using System;
-using System.Collections.Generic;
 
 namespace CppSharp.Passes
 {