From 9a12db86d99e7fef4bbdeedf9390f750dd8783a1 Mon Sep 17 00:00:00 2001 From: Dimitar Dobrev Date: Wed, 9 Jan 2019 18:51:31 +0200 Subject: [PATCH] Fixed a regression in the generator of C++/CLI. Restored the sorting by order of definition. Signed-off-by: Dimitar Dobrev --- src/AST/DeclarationsList.cs | 29 +- src/CppParser/Bindings/CLI/AST.h | 44 +- .../CppSharp.CppParser.cs | 15140 +++++++-------- .../i686-pc-win32-msvc/CppSharp.CppParser.cs | 15540 +++++++-------- .../CppSharp.CppParser.cs | 15142 +++++++-------- .../CppSharp.CppParser.cs | 15542 +++++++-------- .../x86_64-linux-gnu/CppSharp.CppParser.cs | 15102 +++++++-------- .../CppSharp.CppParser.cs | 15544 ++++++++-------- 8 files changed, 46053 insertions(+), 46030 deletions(-) diff --git a/src/AST/DeclarationsList.cs b/src/AST/DeclarationsList.cs index 3e22c228..0e12b97c 100644 --- a/src/AST/DeclarationsList.cs +++ b/src/AST/DeclarationsList.cs @@ -33,13 +33,15 @@ namespace CppSharp.AST { Kind kind = GetKind(item); int offset = GetOffset(kind); - if (GetStart(kind) < index && index < offset) + // USR null means an artificial declaration, add at the end + if (item.USR == null) { - base.InsertItem(index, item); + base.InsertItem(offset, item); } else { - base.InsertItem(offset, item); + int i = BinarySearch(GetStart(kind), offset, item); + base.InsertItem(i, item); } for (Kind i = kind; i <= Kind.Event; i++) { @@ -127,6 +129,27 @@ namespace CppSharp.AST return 0; } + private int BinarySearch(int start, int end, Declaration item) + { + int middle = end; + + while (start < end) + { + middle = (start + end) / 2; + + if (item.DefinitionOrder < this[middle].DefinitionOrder && + item.DefinitionOrder >= this[middle - 1].DefinitionOrder) + break; + + if (item.DefinitionOrder < this[middle].DefinitionOrder) + end = middle; + else + start = ++middle; + } + + return middle; + } + private Dictionary offsets = new Dictionary(); private enum Kind diff --git a/src/CppParser/Bindings/CLI/AST.h b/src/CppParser/Bindings/CLI/AST.h index bcce168f..988d5956 100644 --- a/src/CppParser/Bindings/CLI/AST.h +++ b/src/CppParser/Bindings/CLI/AST.h @@ -444,7 +444,7 @@ namespace CppSharp static operator CppSharp::Parser::AST::Type^(CppSharp::Parser::AST::TypeKind kind); - protected: + protected: bool __ownsNativeInstance; }; @@ -485,7 +485,7 @@ namespace CppSharp void set(bool); } - protected: + protected: bool __ownsNativeInstance; }; @@ -520,7 +520,7 @@ namespace CppSharp void set(CppSharp::Parser::AST::TypeQualifiers^); } - protected: + protected: bool __ownsNativeInstance; }; @@ -818,7 +818,7 @@ namespace CppSharp void set(long); } - protected: + protected: bool __ownsNativeInstance; }; @@ -1131,7 +1131,7 @@ namespace CppSharp void set(CppSharp::Parser::AST::Declaration^); } - protected: + protected: bool __ownsNativeInstance; }; @@ -1171,7 +1171,7 @@ namespace CppSharp void ClearComponents(); - protected: + protected: bool __ownsNativeInstance; }; @@ -1218,7 +1218,7 @@ namespace CppSharp void set(CppSharp::Parser::AST::VTableLayout^); } - protected: + protected: bool __ownsNativeInstance; }; @@ -1265,7 +1265,7 @@ namespace CppSharp void set(::System::IntPtr); } - protected: + protected: bool __ownsNativeInstance; }; @@ -1300,7 +1300,7 @@ namespace CppSharp void set(CppSharp::Parser::AST::Class^); } - protected: + protected: bool __ownsNativeInstance; }; @@ -1416,7 +1416,7 @@ namespace CppSharp void ClearBases(); - protected: + protected: bool __ownsNativeInstance; }; @@ -1583,7 +1583,7 @@ namespace CppSharp static operator CppSharp::Parser::AST::Declaration^(CppSharp::Parser::AST::DeclarationKind kind); - protected: + protected: bool __ownsNativeInstance; }; @@ -1870,7 +1870,7 @@ namespace CppSharp void set(System::String^); } - protected: + protected: bool __ownsNativeInstance; }; @@ -2400,7 +2400,7 @@ namespace CppSharp void set(int); } - protected: + protected: bool __ownsNativeInstance; }; @@ -2949,7 +2949,7 @@ namespace CppSharp void ClearArguments(); - protected: + protected: bool __ownsNativeInstance; }; @@ -3098,7 +3098,7 @@ namespace CppSharp void set(CppSharp::Parser::AST::DeclarationKind); } - protected: + protected: bool __ownsNativeInstance; }; @@ -3277,7 +3277,7 @@ namespace CppSharp void ClearDependencies(); - protected: + protected: bool __ownsNativeInstance; }; @@ -3319,7 +3319,7 @@ namespace CppSharp void ClearTranslationUnits(); - protected: + protected: bool __ownsNativeInstance; }; @@ -3350,7 +3350,7 @@ namespace CppSharp static operator CppSharp::Parser::AST::Comment^(CppSharp::Parser::AST::CommentKind kind); - protected: + protected: bool __ownsNativeInstance; }; @@ -3489,7 +3489,7 @@ namespace CppSharp void set(System::String^); } - protected: + protected: bool __ownsNativeInstance; }; @@ -3702,7 +3702,7 @@ namespace CppSharp void set(System::String^); } - protected: + protected: bool __ownsNativeInstance; }; @@ -3796,7 +3796,7 @@ namespace CppSharp void set(System::String^); } - protected: + protected: bool __ownsNativeInstance; }; @@ -3913,7 +3913,7 @@ namespace CppSharp void set(CppSharp::Parser::AST::FullComment^); } - protected: + protected: bool __ownsNativeInstance; }; } diff --git a/src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/CppSharp.CppParser.cs b/src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/CppSharp.CppParser.cs index 205ce511..18870ea9 100644 --- a/src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/CppSharp.CppParser.cs +++ b/src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/CppSharp.CppParser.cs @@ -681,177 +681,192 @@ namespace CppSharp } } - public unsafe partial class Declaration : IDisposable + public unsafe partial class TagType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 108)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 12)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + internal global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - internal int maxFieldAlignment; + internal byte isDependent; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; + internal global::System.IntPtr declaration; - [FieldOffset(12)] - internal global::System.IntPtr _namespace; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST7TagTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); - [FieldOffset(16)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST7TagTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + } - [FieldOffset(20)] - internal int lineNumberStart; + internal static new global::CppSharp.Parser.AST.TagType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.TagType(native.ToPointer(), skipVTables); + } - [FieldOffset(24)] - internal int lineNumberEnd; + internal static global::CppSharp.Parser.AST.TagType __CreateInstance(global::CppSharp.Parser.AST.TagType.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.TagType(native, skipVTables); + } - [FieldOffset(28)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + private static void* __CopyValue(global::CppSharp.Parser.AST.TagType.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); + global::CppSharp.Parser.AST.TagType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + private TagType(global::CppSharp.Parser.AST.TagType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(52)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + protected TagType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(64)] - internal byte isIncomplete; + public TagType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - [FieldOffset(65)] - internal byte isDependent; + public TagType(global::CppSharp.Parser.AST.TagType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(66)] - internal byte isImplicit; + public global::CppSharp.Parser.AST.Declaration Declaration + { + get + { + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration); + return __result0; + } - [FieldOffset(67)] - internal byte isInvalid; + set + { + ((global::CppSharp.Parser.AST.TagType.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } - [FieldOffset(68)] - internal global::System.IntPtr completeDeclaration; + public unsafe partial class ArrayType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 28)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; - [FieldOffset(72)] - internal uint definitionOrder; + [FieldOffset(4)] + internal byte isDependent; - [FieldOffset(76)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - [FieldOffset(88)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.ArrayType.ArraySize sizeType; - [FieldOffset(100)] - internal global::System.IntPtr originalPtr; + [FieldOffset(20)] + internal int size; - [FieldOffset(104)] - internal global::System.IntPtr comment; + [FieldOffset(24)] + internal int elementSize; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11DeclarationC2ENS1_15DeclarationKindE")] - internal static extern void ctor(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); + EntryPoint="_ZN8CppSharp9CppParser3AST9ArrayTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11DeclarationC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST9ArrayTypeC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11DeclarationD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration23getPreprocessedEntitiesEj")] - internal static extern global::System.IntPtr GetPreprocessedEntities(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration23addPreprocessedEntitiesERPNS1_18PreprocessedEntityE")] - internal static extern void AddPreprocessedEntities(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration25clearPreprocessedEntitiesEv")] - internal static extern void ClearPreprocessedEntities(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration17getRedeclarationsEj")] - internal static extern global::System.IntPtr GetRedeclarations(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration17addRedeclarationsERPS2_")] - internal static extern void AddRedeclarations(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration19clearRedeclarationsEv")] - internal static extern void ClearRedeclarations(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration28getPreprocessedEntitiesCountEv")] - internal static extern uint GetPreprocessedEntitiesCount(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration22getRedeclarationsCountEv")] - internal static extern uint GetRedeclarationsCount(global::System.IntPtr instance); } - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; + public enum ArraySize + { + Constant = 0, + Variable = 1, + Dependent = 2, + Incomplete = 3 + } - internal static global::CppSharp.Parser.AST.Declaration __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.ArrayType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Declaration(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.ArrayType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Declaration __CreateInstance(global::CppSharp.Parser.AST.Declaration.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.ArrayType __CreateInstance(global::CppSharp.Parser.AST.ArrayType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Declaration(native, skipVTables); + return new global::CppSharp.Parser.AST.ArrayType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Declaration.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.ArrayType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); - global::CppSharp.Parser.AST.Declaration.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); + global::CppSharp.Parser.AST.ArrayType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Declaration(global::CppSharp.Parser.AST.Declaration.__Internal native, bool skipVTables = false) + private ArrayType(global::CppSharp.Parser.AST.ArrayType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Declaration(void* native, bool skipVTables = false) + protected ArrayType(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public Declaration(global::CppSharp.Parser.AST.DeclarationKind kind) + public ArrayType() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), kind); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public Declaration(global::CppSharp.Parser.AST.Declaration _0) + public ArrayType(global::CppSharp.Parser.AST.ArrayType _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -860,673 +875,731 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public void Dispose() + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { - Dispose(disposing: true); - } + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->qualifiedType)); + } - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; + set + { + ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } } - public global::CppSharp.Parser.AST.PreprocessedEntity GetPreprocessedEntities(uint i) + public global::CppSharp.Parser.AST.ArrayType.ArraySize SizeType { - var __ret = __Internal.GetPreprocessedEntities((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.PreprocessedEntity __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.PreprocessedEntity.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.PreprocessedEntity) global::CppSharp.Parser.AST.PreprocessedEntity.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.PreprocessedEntity.__CreateInstance(__ret); - return __result0; + get + { + return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->sizeType; + } + + set + { + ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->sizeType = value; + } } - public void AddPreprocessedEntities(global::CppSharp.Parser.AST.PreprocessedEntity s) + public int Size { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddPreprocessedEntities((__Instance + __PointerAdjustment), __arg0); + get + { + return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->size; + } + + set + { + ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->size = value; + } } - public void ClearPreprocessedEntities() + public int ElementSize { - __Internal.ClearPreprocessedEntities((__Instance + __PointerAdjustment)); + get + { + return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->elementSize; + } + + set + { + ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->elementSize = value; + } } + } - public global::CppSharp.Parser.AST.Declaration GetRedeclarations(uint i) + public unsafe partial class FunctionType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 36)] + public new partial struct __Internal { - var __ret = __Internal.GetRedeclarations((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Declaration __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(__ret); - return __result0; + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] + internal byte isDependent; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.CallingConvention callingConvention; + + [FieldOffset(20)] + internal global::CppSharp.Parser.AST.ExceptionSpecType exceptionSpecType; + + [FieldOffset(24)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_N___1_S_allocator__S0_ Parameters; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionTypeD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionType13getParametersEj")] + internal static extern global::System.IntPtr GetParameters(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionType13addParametersERPNS1_9ParameterE")] + internal static extern void AddParameters(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionType15clearParametersEv")] + internal static extern void ClearParameters(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionType18getParametersCountEv")] + internal static extern uint GetParametersCount(global::System.IntPtr instance); } - public void AddRedeclarations(global::CppSharp.Parser.AST.Declaration s) + internal static new global::CppSharp.Parser.AST.FunctionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddRedeclarations((__Instance + __PointerAdjustment), __arg0); + return new global::CppSharp.Parser.AST.FunctionType(native.ToPointer(), skipVTables); } - public void ClearRedeclarations() + internal static global::CppSharp.Parser.AST.FunctionType __CreateInstance(global::CppSharp.Parser.AST.FunctionType.__Internal native, bool skipVTables = false) { - __Internal.ClearRedeclarations((__Instance + __PointerAdjustment)); + return new global::CppSharp.Parser.AST.FunctionType(native, skipVTables); } - public static implicit operator global::CppSharp.Parser.AST.Declaration(global::CppSharp.Parser.AST.DeclarationKind kind) + private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionType.__Internal native) { - return new global::CppSharp.Parser.AST.Declaration(kind); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); + global::CppSharp.Parser.AST.FunctionType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); } - public global::CppSharp.Parser.AST.DeclarationKind Kind + private FunctionType(global::CppSharp.Parser.AST.FunctionType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->kind; - } + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->kind = value; - } + protected FunctionType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - public int MaxFieldAlignment + public FunctionType() + : this((void*) null) { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->maxFieldAlignment; - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->maxFieldAlignment = value; - } + public FunctionType(global::CppSharp.Parser.AST.FunctionType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.AccessSpecifier Access + public override void Dispose(bool disposing) { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->access; - } + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Type __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->access = value; - } + public global::CppSharp.Parser.AST.Parameter GetParameters(uint i) + { + var __ret = __Internal.GetParameters((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Parameter __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Parameter.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Parameter) global::CppSharp.Parser.AST.Parameter.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Parameter.__CreateInstance(__ret); + return __result0; } - public global::CppSharp.Parser.AST.DeclarationContext Namespace + public void AddParameters(global::CppSharp.Parser.AST.Parameter s) { - get - { - global::CppSharp.Parser.AST.DeclarationContext __result0; - if (((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.DeclarationContext.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace)) - __result0 = (global::CppSharp.Parser.AST.DeclarationContext) global::CppSharp.Parser.AST.DeclarationContext.NativeToManagedMap[((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace]; - else __result0 = global::CppSharp.Parser.AST.DeclarationContext.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace); - return __result0; - } + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddParameters((__Instance + __PointerAdjustment), __arg0); + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->_namespace = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + public void ClearParameters() + { + __Internal.ClearParameters((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.SourceLocation Location + public global::CppSharp.Parser.AST.QualifiedType ReturnType { get { - return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->location); + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->returnType)); } set { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->location = value.__Instance; + ((global::CppSharp.Parser.AST.FunctionType.__Internal*)__Instance)->returnType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public int LineNumberStart + public global::CppSharp.Parser.AST.CallingConvention CallingConvention { get { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->lineNumberStart; + return ((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->callingConvention; } set { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->lineNumberStart = value; + ((global::CppSharp.Parser.AST.FunctionType.__Internal*)__Instance)->callingConvention = value; } } - public int LineNumberEnd + public global::CppSharp.Parser.AST.ExceptionSpecType ExceptionSpecType { get { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->lineNumberEnd; + return ((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->exceptionSpecType; } set { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->lineNumberEnd = value; + ((global::CppSharp.Parser.AST.FunctionType.__Internal*)__Instance)->exceptionSpecType = value; } } - public string Name + public uint ParametersCount { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->name)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + var __ret = __Internal.GetParametersCount((__Instance + __PointerAdjustment)); + return __ret; } + } + } - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->name), value); - } + public unsafe partial class PointerType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 20)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] + internal byte isDependent; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedPointee; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.PointerType.TypeModifier modifier; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11PointerTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11PointerTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); } - public string USR + public enum TypeModifier { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->USR)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + Value = 0, + Pointer = 1, + LVReference = 2, + RVReference = 3 + } - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->USR), value); - } + internal static new global::CppSharp.Parser.AST.PointerType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.PointerType(native.ToPointer(), skipVTables); } - public string DebugText + internal static global::CppSharp.Parser.AST.PointerType __CreateInstance(global::CppSharp.Parser.AST.PointerType.__Internal native, bool skipVTables = false) { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->debugText)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + return new global::CppSharp.Parser.AST.PointerType(native, skipVTables); + } - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->debugText), value); - } + private static void* __CopyValue(global::CppSharp.Parser.AST.PointerType.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); + global::CppSharp.Parser.AST.PointerType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); } - public bool IsIncomplete + private PointerType(global::CppSharp.Parser.AST.PointerType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isIncomplete != 0; - } + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isIncomplete = (byte) (value ? 1 : 0); - } + protected PointerType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - public bool IsDependent + public PointerType() + : this((void*) null) { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isDependent != 0; - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isDependent = (byte) (value ? 1 : 0); - } + public PointerType(global::CppSharp.Parser.AST.PointerType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public bool IsImplicit + public global::CppSharp.Parser.AST.QualifiedType QualifiedPointee { get { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isImplicit != 0; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.PointerType.__Internal*) __Instance)->qualifiedPointee)); } set { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isImplicit = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.PointerType.__Internal*)__Instance)->qualifiedPointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public bool IsInvalid + public global::CppSharp.Parser.AST.PointerType.TypeModifier Modifier { get { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isInvalid != 0; + return ((global::CppSharp.Parser.AST.PointerType.__Internal*) __Instance)->modifier; } set { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isInvalid = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.PointerType.__Internal*)__Instance)->modifier = value; } } + } - public global::CppSharp.Parser.AST.Declaration CompleteDeclaration + public unsafe partial class MemberPointerType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 16)] + public new partial struct __Internal { - get - { - global::CppSharp.Parser.AST.Declaration __result0; - if (((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration); - return __result0; - } + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->completeDeclaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + [FieldOffset(4)] + internal byte isDependent; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal pointee; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17MemberPointerTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17MemberPointerTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); } - public uint DefinitionOrder + internal static new global::CppSharp.Parser.AST.MemberPointerType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->definitionOrder; - } + return new global::CppSharp.Parser.AST.MemberPointerType(native.ToPointer(), skipVTables); + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->definitionOrder = value; - } + internal static global::CppSharp.Parser.AST.MemberPointerType __CreateInstance(global::CppSharp.Parser.AST.MemberPointerType.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MemberPointerType(native, skipVTables); } - public global::System.IntPtr OriginalPtr + private static void* __CopyValue(global::CppSharp.Parser.AST.MemberPointerType.__Internal native) { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->originalPtr; - } + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); + global::CppSharp.Parser.AST.MemberPointerType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->originalPtr = (global::System.IntPtr) value; - } + private MemberPointerType(global::CppSharp.Parser.AST.MemberPointerType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; } - public global::CppSharp.Parser.AST.RawComment Comment + protected MemberPointerType(void* native, bool skipVTables = false) + : base((void*) null) { - get - { - global::CppSharp.Parser.AST.RawComment __result0; - if (((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.RawComment.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment)) - __result0 = (global::CppSharp.Parser.AST.RawComment) global::CppSharp.Parser.AST.RawComment.NativeToManagedMap[((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment]; - else __result0 = global::CppSharp.Parser.AST.RawComment.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment); - return __result0; - } + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->comment = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + public MemberPointerType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); } - public uint PreprocessedEntitiesCount + public MemberPointerType(global::CppSharp.Parser.AST.MemberPointerType _0) + : this((void*) null) { - get - { - var __ret = __Internal.GetPreprocessedEntitiesCount((__Instance + __PointerAdjustment)); - return __ret; - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public uint RedeclarationsCount + public global::CppSharp.Parser.AST.QualifiedType Pointee { get { - var __ret = __Internal.GetRedeclarationsCount((__Instance + __PointerAdjustment)); - return __ret; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MemberPointerType.__Internal*) __Instance)->pointee)); + } + + set + { + ((global::CppSharp.Parser.AST.MemberPointerType.__Internal*)__Instance)->pointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } } - public unsafe partial class DeclarationContext : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class TypedefType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 232)] + [StructLayout(LayoutKind.Explicit, Size = 12)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + internal global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - internal int maxFieldAlignment; + internal byte isDependent; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; + internal global::System.IntPtr declaration; - [FieldOffset(12)] - internal global::System.IntPtr _namespace; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); - [FieldOffset(16)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + } - [FieldOffset(20)] - internal int lineNumberStart; + internal static new global::CppSharp.Parser.AST.TypedefType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.TypedefType(native.ToPointer(), skipVTables); + } - [FieldOffset(24)] - internal int lineNumberEnd; + internal static global::CppSharp.Parser.AST.TypedefType __CreateInstance(global::CppSharp.Parser.AST.TypedefType.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.TypedefType(native, skipVTables); + } - [FieldOffset(28)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefType.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); + global::CppSharp.Parser.AST.TypedefType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + private TypedefType(global::CppSharp.Parser.AST.TypedefType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(52)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + protected TypedefType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(64)] - internal byte isIncomplete; + public TypedefType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - [FieldOffset(65)] + public TypedefType(global::CppSharp.Parser.AST.TypedefType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public global::CppSharp.Parser.AST.TypedefNameDecl Declaration + { + get + { + global::CppSharp.Parser.AST.TypedefNameDecl __result0; + if (((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TypedefNameDecl.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration)) + __result0 = (global::CppSharp.Parser.AST.TypedefNameDecl) global::CppSharp.Parser.AST.TypedefNameDecl.NativeToManagedMap[((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration]; + else __result0 = global::CppSharp.Parser.AST.TypedefNameDecl.__CreateInstance(((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.TypedefType.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class AttributedType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] internal byte isDependent; - [FieldOffset(66)] - internal byte isImplicit; + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal modified; - [FieldOffset(67)] - internal byte isInvalid; + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal equivalent; - [FieldOffset(68)] - internal global::System.IntPtr completeDeclaration; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14AttributedTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); - [FieldOffset(72)] - internal uint definitionOrder; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14AttributedTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + } - [FieldOffset(76)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + internal static new global::CppSharp.Parser.AST.AttributedType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AttributedType(native.ToPointer(), skipVTables); + } - [FieldOffset(88)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + internal static global::CppSharp.Parser.AST.AttributedType __CreateInstance(global::CppSharp.Parser.AST.AttributedType.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AttributedType(native, skipVTables); + } - [FieldOffset(100)] - internal global::System.IntPtr originalPtr; + private static void* __CopyValue(global::CppSharp.Parser.AST.AttributedType.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); + global::CppSharp.Parser.AST.AttributedType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(104)] - internal global::System.IntPtr comment; + private AttributedType(global::CppSharp.Parser.AST.AttributedType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(108)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ Namespaces; + protected AttributedType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(120)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; + public AttributedType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - [FieldOffset(132)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; + public AttributedType(global::CppSharp.Parser.AST.AttributedType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(144)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; + public global::CppSharp.Parser.AST.QualifiedType Modified + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.AttributedType.__Internal*) __Instance)->modified)); + } - [FieldOffset(156)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; + set + { + ((global::CppSharp.Parser.AST.AttributedType.__Internal*)__Instance)->modified = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } - [FieldOffset(168)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; + public global::CppSharp.Parser.AST.QualifiedType Equivalent + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.AttributedType.__Internal*) __Instance)->equivalent)); + } - [FieldOffset(180)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ TypeAliases; + set + { + ((global::CppSharp.Parser.AST.AttributedType.__Internal*)__Instance)->equivalent = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + } - [FieldOffset(192)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ Variables; + public unsafe partial class DecayedType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; - [FieldOffset(204)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ Friends; + [FieldOffset(4)] + internal byte isDependent; - [FieldOffset(216)] - internal global::Std.Map.__Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ anonymous; + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal decayed; - [FieldOffset(228)] - internal byte isAnonymous; + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal original; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContextC2ENS1_15DeclarationKindE")] - internal static extern void ctor(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal pointee; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContextC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST11DecayedTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContextD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11DecayedTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext13getNamespacesEj")] - internal static extern global::System.IntPtr GetNamespaces(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext13addNamespacesERPNS1_9NamespaceE")] - internal static extern void AddNamespaces(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext15clearNamespacesEv")] - internal static extern void ClearNamespaces(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext8getEnumsEj")] - internal static extern global::System.IntPtr GetEnums(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext8addEnumsERPNS1_11EnumerationE")] - internal static extern void AddEnums(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10clearEnumsEv")] - internal static extern void ClearEnums(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12getFunctionsEj")] - internal static extern global::System.IntPtr GetFunctions(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12addFunctionsERPNS1_8FunctionE")] - internal static extern void AddFunctions(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14clearFunctionsEv")] - internal static extern void ClearFunctions(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10getClassesEj")] - internal static extern global::System.IntPtr GetClasses(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10addClassesERPNS1_5ClassE")] - internal static extern void AddClasses(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12clearClassesEv")] - internal static extern void ClearClasses(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12getTemplatesEj")] - internal static extern global::System.IntPtr GetTemplates(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12addTemplatesERPNS1_8TemplateE")] - internal static extern void AddTemplates(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14clearTemplatesEv")] - internal static extern void ClearTemplates(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext11getTypedefsEj")] - internal static extern global::System.IntPtr GetTypedefs(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext11addTypedefsERPNS1_11TypedefDeclE")] - internal static extern void AddTypedefs(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext13clearTypedefsEv")] - internal static extern void ClearTypedefs(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14getTypeAliasesEj")] - internal static extern global::System.IntPtr GetTypeAliases(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14addTypeAliasesERPNS1_9TypeAliasE")] - internal static extern void AddTypeAliases(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext16clearTypeAliasesEv")] - internal static extern void ClearTypeAliases(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12getVariablesEj")] - internal static extern global::System.IntPtr GetVariables(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12addVariablesERPNS1_8VariableE")] - internal static extern void AddVariables(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14clearVariablesEv")] - internal static extern void ClearVariables(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10getFriendsEj")] - internal static extern global::System.IntPtr GetFriends(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10addFriendsERPNS1_6FriendE")] - internal static extern void AddFriends(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12clearFriendsEv")] - internal static extern void ClearFriends(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext18getNamespacesCountEv")] - internal static extern uint GetNamespacesCount(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext13getEnumsCountEv")] - internal static extern uint GetEnumsCount(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext17getFunctionsCountEv")] - internal static extern uint GetFunctionsCount(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext15getClassesCountEv")] - internal static extern uint GetClassesCount(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext17getTemplatesCountEv")] - internal static extern uint GetTemplatesCount(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext16getTypedefsCountEv")] - internal static extern uint GetTypedefsCount(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext19getTypeAliasesCountEv")] - internal static extern uint GetTypeAliasesCount(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext17getVariablesCountEv")] - internal static extern uint GetVariablesCount(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext15getFriendsCountEv")] - internal static extern uint GetFriendsCount(global::System.IntPtr instance); - } - - internal static new global::CppSharp.Parser.AST.DeclarationContext __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.DecayedType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.DeclarationContext(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.DecayedType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.DeclarationContext __CreateInstance(global::CppSharp.Parser.AST.DeclarationContext.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.DecayedType __CreateInstance(global::CppSharp.Parser.AST.DecayedType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.DeclarationContext(native, skipVTables); + return new global::CppSharp.Parser.AST.DecayedType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.DeclarationContext.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.DecayedType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal)); - global::CppSharp.Parser.AST.DeclarationContext.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); + global::CppSharp.Parser.AST.DecayedType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private DeclarationContext(global::CppSharp.Parser.AST.DeclarationContext.__Internal native, bool skipVTables = false) + private DecayedType(global::CppSharp.Parser.AST.DecayedType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected DeclarationContext(void* native, bool skipVTables = false) + protected DecayedType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -1535,19 +1608,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public DeclarationContext(global::CppSharp.Parser.AST.DeclarationKind kind) + public DecayedType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), kind); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public DeclarationContext(global::CppSharp.Parser.AST.DeclarationContext _0) + public DecayedType(global::CppSharp.Parser.AST.DecayedType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -1556,554 +1629,498 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public global::CppSharp.Parser.AST.QualifiedType Decayed { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->decayed)); + } - public global::CppSharp.Parser.AST.Namespace GetNamespaces(uint i) - { - var __ret = __Internal.GetNamespaces((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Namespace __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Namespace.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Namespace) global::CppSharp.Parser.AST.Namespace.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Namespace.__CreateInstance(__ret); - return __result0; + set + { + ((global::CppSharp.Parser.AST.DecayedType.__Internal*)__Instance)->decayed = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } } - public void AddNamespaces(global::CppSharp.Parser.AST.Namespace s) + public global::CppSharp.Parser.AST.QualifiedType Original { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddNamespaces((__Instance + __PointerAdjustment), __arg0); - } + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->original)); + } - public void ClearNamespaces() - { - __Internal.ClearNamespaces((__Instance + __PointerAdjustment)); + set + { + ((global::CppSharp.Parser.AST.DecayedType.__Internal*)__Instance)->original = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } } - public global::CppSharp.Parser.AST.Enumeration GetEnums(uint i) - { - var __ret = __Internal.GetEnums((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Enumeration __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Enumeration.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Enumeration) global::CppSharp.Parser.AST.Enumeration.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Enumeration.__CreateInstance(__ret); - return __result0; - } - - public void AddEnums(global::CppSharp.Parser.AST.Enumeration s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddEnums((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearEnums() - { - __Internal.ClearEnums((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.Function GetFunctions(uint i) - { - var __ret = __Internal.GetFunctions((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Function __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(__ret); - return __result0; - } - - public void AddFunctions(global::CppSharp.Parser.AST.Function s) + public global::CppSharp.Parser.AST.QualifiedType Pointee { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddFunctions((__Instance + __PointerAdjustment), __arg0); - } + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->pointee)); + } - public void ClearFunctions() - { - __Internal.ClearFunctions((__Instance + __PointerAdjustment)); + set + { + ((global::CppSharp.Parser.AST.DecayedType.__Internal*)__Instance)->pointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } } + } - public global::CppSharp.Parser.AST.Class GetClasses(uint i) + public unsafe partial class TemplateArgument : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 20)] + public partial struct __Internal { - var __ret = __Internal.GetClasses((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Class __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(__ret); - return __result0; - } + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TemplateArgument.ArgumentKind kind; - public void AddClasses(global::CppSharp.Parser.AST.Class s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddClasses((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(4)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; - public void ClearClasses() - { - __Internal.ClearClasses((__Instance + __PointerAdjustment)); - } + [FieldOffset(12)] + internal global::System.IntPtr declaration; - public global::CppSharp.Parser.AST.Template GetTemplates(uint i) - { - var __ret = __Internal.GetTemplates((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Template __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Template.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Template) global::CppSharp.Parser.AST.Template.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Template.__CreateInstance(__ret); - return __result0; - } + [FieldOffset(16)] + internal int integral; - public void AddTemplates(global::CppSharp.Parser.AST.Template s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddTemplates((__Instance + __PointerAdjustment), __arg0); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16TemplateArgumentC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); - public void ClearTemplates() - { - __Internal.ClearTemplates((__Instance + __PointerAdjustment)); + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16TemplateArgumentC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); } - public global::CppSharp.Parser.AST.TypedefDecl GetTypedefs(uint i) + public enum ArgumentKind { - var __ret = __Internal.GetTypedefs((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.TypedefDecl __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TypedefDecl.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.TypedefDecl) global::CppSharp.Parser.AST.TypedefDecl.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.TypedefDecl.__CreateInstance(__ret); - return __result0; + Type = 0, + Declaration = 1, + NullPtr = 2, + Integral = 3, + Template = 4, + TemplateExpansion = 5, + Expression = 6, + Pack = 7 } - public void AddTypedefs(global::CppSharp.Parser.AST.TypedefDecl s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddTypedefs((__Instance + __PointerAdjustment), __arg0); - } + public global::System.IntPtr __Instance { get; protected set; } - public void ClearTypedefs() - { - __Internal.ClearTypedefs((__Instance + __PointerAdjustment)); - } + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; - public global::CppSharp.Parser.AST.TypeAlias GetTypeAliases(uint i) - { - var __ret = __Internal.GetTypeAliases((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.TypeAlias __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TypeAlias.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.TypeAlias) global::CppSharp.Parser.AST.TypeAlias.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.TypeAlias.__CreateInstance(__ret); - return __result0; - } + protected bool __ownsNativeInstance; - public void AddTypeAliases(global::CppSharp.Parser.AST.TypeAlias s) + internal static global::CppSharp.Parser.AST.TemplateArgument __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddTypeAliases((__Instance + __PointerAdjustment), __arg0); + return new global::CppSharp.Parser.AST.TemplateArgument(native.ToPointer(), skipVTables); } - public void ClearTypeAliases() + internal static global::CppSharp.Parser.AST.TemplateArgument __CreateInstance(global::CppSharp.Parser.AST.TemplateArgument.__Internal native, bool skipVTables = false) { - __Internal.ClearTypeAliases((__Instance + __PointerAdjustment)); + return new global::CppSharp.Parser.AST.TemplateArgument(native, skipVTables); } - public global::CppSharp.Parser.AST.Variable GetVariables(uint i) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateArgument.__Internal native) { - var __ret = __Internal.GetVariables((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Variable __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Variable.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Variable) global::CppSharp.Parser.AST.Variable.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Variable.__CreateInstance(__ret); - return __result0; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); + *(global::CppSharp.Parser.AST.TemplateArgument.__Internal*) ret = native; + return ret.ToPointer(); } - public void AddVariables(global::CppSharp.Parser.AST.Variable s) + private TemplateArgument(global::CppSharp.Parser.AST.TemplateArgument.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddVariables((__Instance + __PointerAdjustment), __arg0); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; } - public void ClearVariables() + protected TemplateArgument(void* native, bool skipVTables = false) { - __Internal.ClearVariables((__Instance + __PointerAdjustment)); + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - public global::CppSharp.Parser.AST.Friend GetFriends(uint i) + public TemplateArgument() { - var __ret = __Internal.GetFriends((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Friend __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Friend.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Friend) global::CppSharp.Parser.AST.Friend.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Friend.__CreateInstance(__ret); - return __result0; + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); } - public void AddFriends(global::CppSharp.Parser.AST.Friend s) + public TemplateArgument(global::CppSharp.Parser.AST.TemplateArgument _0) { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddFriends((__Instance + __PointerAdjustment), __arg0); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) _0.__Instance); } - public void ClearFriends() + public void Dispose() { - __Internal.ClearFriends((__Instance + __PointerAdjustment)); + Dispose(disposing: true); } - public static implicit operator global::CppSharp.Parser.AST.DeclarationContext(global::CppSharp.Parser.AST.DeclarationKind kind) + public virtual void Dispose(bool disposing) { - return new global::CppSharp.Parser.AST.DeclarationContext(kind); + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.TemplateArgument __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; } - public bool IsAnonymous + public global::CppSharp.Parser.AST.TemplateArgument.ArgumentKind Kind { get { - return ((global::CppSharp.Parser.AST.DeclarationContext.__Internal*) __Instance)->isAnonymous != 0; + return ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->kind; } set { - ((global::CppSharp.Parser.AST.DeclarationContext.__Internal*)__Instance)->isAnonymous = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->kind = value; } } - public uint NamespacesCount + public global::CppSharp.Parser.AST.QualifiedType Type { get { - var __ret = __Internal.GetNamespacesCount((__Instance + __PointerAdjustment)); - return __ret; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->type)); } - } - public uint EnumsCount - { - get + set { - var __ret = __Internal.GetEnumsCount((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public uint FunctionsCount + public global::CppSharp.Parser.AST.Declaration Declaration { get { - var __ret = __Internal.GetFunctionsCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - - public uint ClassesCount - { - get - { - var __ret = __Internal.GetClassesCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - - public uint TemplatesCount - { - get - { - var __ret = __Internal.GetTemplatesCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - - public uint TypedefsCount - { - get - { - var __ret = __Internal.GetTypedefsCount((__Instance + __PointerAdjustment)); - return __ret; + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration); + return __result0; } - } - public uint TypeAliasesCount - { - get + set { - var __ret = __Internal.GetTypeAliasesCount((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public uint VariablesCount + public int Integral { get { - var __ret = __Internal.GetVariablesCount((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->integral; } - } - public uint FriendsCount - { - get + set { - var __ret = __Internal.GetFriendsCount((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->integral = value; } } } - public unsafe partial class PreprocessedEntity : IDisposable + public unsafe partial class TemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 12)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.MacroLocation macroLocation; + internal global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - internal global::System.IntPtr originalPtr; + internal byte isDependent; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_N___1_S_allocator__S0_ Arguments; + + [FieldOffset(20)] + internal global::System.IntPtr _template; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18PreprocessedEntityC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationTypeC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18PreprocessedEntityC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationTypeC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - } - public global::System.IntPtr __Instance { get; protected set; } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationTypeD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType12getArgumentsEj")] + internal static extern void GetArguments(global::System.IntPtr @return, global::System.IntPtr instance, uint i); - protected bool __ownsNativeInstance; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType12addArgumentsERNS1_16TemplateArgumentE")] + internal static extern void AddArguments(global::System.IntPtr instance, global::System.IntPtr s); - internal static global::CppSharp.Parser.AST.PreprocessedEntity __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType14clearArgumentsEv")] + internal static extern void ClearArguments(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType17getArgumentsCountEv")] + internal static extern uint GetArgumentsCount(global::System.IntPtr instance); + } + + internal static new global::CppSharp.Parser.AST.TemplateSpecializationType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.PreprocessedEntity(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TemplateSpecializationType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.PreprocessedEntity __CreateInstance(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TemplateSpecializationType __CreateInstance(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.PreprocessedEntity(native, skipVTables); + return new global::CppSharp.Parser.AST.TemplateSpecializationType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); - *(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) ret = native; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); + global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private PreprocessedEntity(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native, bool skipVTables = false) + private TemplateSpecializationType(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected PreprocessedEntity(void* native, bool skipVTables = false) + protected TemplateSpecializationType(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public PreprocessedEntity() + public TemplateSpecializationType() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public PreprocessedEntity(global::CppSharp.Parser.AST.PreprocessedEntity _0) + public TemplateSpecializationType(global::CppSharp.Parser.AST.TemplateSpecializationType _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) _0.__Instance); - } - - public void Dispose() - { - Dispose(disposing: true); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.PreprocessedEntity __dummy; + global::CppSharp.Parser.AST.Type __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.MacroLocation MacroLocation + public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) + { + var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); + __Internal.GetArguments(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); + return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); + } + + public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearArguments() + { + __Internal.ClearArguments((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.Template Template { get { - return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->macroLocation; + global::CppSharp.Parser.AST.Template __result0; + if (((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Template.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template)) + __result0 = (global::CppSharp.Parser.AST.Template) global::CppSharp.Parser.AST.Template.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template]; + else __result0 = global::CppSharp.Parser.AST.Template.__CreateInstance(((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template); + return __result0; } set { - ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*)__Instance)->macroLocation = value; + ((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*)__Instance)->_template = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public global::System.IntPtr OriginalPtr + public global::CppSharp.Parser.AST.QualifiedType Desugared { get { - return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->originalPtr; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->desugared)); } set { - ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*)__Instance)->originalPtr = (global::System.IntPtr) value; + ((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*)__Instance)->desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public global::CppSharp.Parser.AST.DeclarationKind Kind + public uint ArgumentsCount { get { - return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->kind; - } - - set - { - ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*)__Instance)->kind = value; + var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class RawComment : IDisposable + public unsafe partial class DependentTemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 32)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 28)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.RawCommentKind kind; + internal global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C text; + internal byte isDependent; - [FieldOffset(16)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C briefText; + [FieldOffset(8)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_N___1_S_allocator__S0_ Arguments; - [FieldOffset(28)] - internal global::System.IntPtr fullCommentBlock; + [FieldOffset(20)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10RawCommentC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationTypeC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10RawCommentC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationTypeC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10RawCommentD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationTypeD2Ev")] internal static extern void dtor(global::System.IntPtr instance); - } - public global::System.IntPtr __Instance { get; protected set; } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationType12getArgumentsEj")] + internal static extern void GetArguments(global::System.IntPtr @return, global::System.IntPtr instance, uint i); - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationType12addArgumentsERNS1_16TemplateArgumentE")] + internal static extern void AddArguments(global::System.IntPtr instance, global::System.IntPtr s); - protected bool __ownsNativeInstance; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationType14clearArgumentsEv")] + internal static extern void ClearArguments(global::System.IntPtr instance); - internal static global::CppSharp.Parser.AST.RawComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.RawComment(native.ToPointer(), skipVTables); + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationType17getArgumentsCountEv")] + internal static extern uint GetArgumentsCount(global::System.IntPtr instance); } - internal static global::CppSharp.Parser.AST.RawComment __CreateInstance(global::CppSharp.Parser.AST.RawComment.__Internal native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.DependentTemplateSpecializationType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.RawComment(native, skipVTables); + return new global::CppSharp.Parser.AST.DependentTemplateSpecializationType(native.ToPointer(), skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.RawComment.__Internal native) + internal static global::CppSharp.Parser.AST.DependentTemplateSpecializationType __CreateInstance(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native, bool skipVTables = false) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); - global::CppSharp.Parser.AST.RawComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); + return new global::CppSharp.Parser.AST.DependentTemplateSpecializationType(native, skipVTables); } - private RawComment(global::CppSharp.Parser.AST.RawComment.__Internal native, bool skipVTables = false) + private static void* __CopyValue(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); + global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private DependentTemplateSpecializationType(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected RawComment(void* native, bool skipVTables = false) + protected DependentTemplateSpecializationType(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public RawComment() + public DependentTemplateSpecializationType() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public RawComment(global::CppSharp.Parser.AST.RawComment _0) + public DependentTemplateSpecializationType(global::CppSharp.Parser.AST.DependentTemplateSpecializationType _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -2112,16 +2129,11 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.RawComment __dummy; + global::CppSharp.Parser.AST.Type __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -2130,142 +2142,113 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.RawCommentKind Kind + public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) { - get - { - return ((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->kind; - } - - set - { - ((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->kind = value; - } + var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); + __Internal.GetArguments(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); + return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); } - public string Text + public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->text)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); + } - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->text), value); - } + public void ClearArguments() + { + __Internal.ClearArguments((__Instance + __PointerAdjustment)); } - public string BriefText + public global::CppSharp.Parser.AST.QualifiedType Desugared { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->briefText)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal*) __Instance)->desugared)); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->briefText), value); + ((global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal*)__Instance)->desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public global::CppSharp.Parser.AST.FullComment FullCommentBlock + public uint ArgumentsCount { get { - global::CppSharp.Parser.AST.FullComment __result0; - if (((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.FullComment.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock)) - __result0 = (global::CppSharp.Parser.AST.FullComment) global::CppSharp.Parser.AST.FullComment.NativeToManagedMap[((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock]; - else __result0 = global::CppSharp.Parser.AST.FullComment.__CreateInstance(((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->fullCommentBlock = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class FullComment : global::CppSharp.Parser.AST.Comment, IDisposable + public unsafe partial class TemplateParameterType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 16)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + internal global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BlockContentComment___N_std_N___1_S_allocator__S0_ Blocks; + internal byte isDependent; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11FullCommentC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); + [FieldOffset(8)] + internal global::System.IntPtr parameter; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11FullCommentC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + [FieldOffset(12)] + internal uint depth; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11FullCommentD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); + [FieldOffset(16)] + internal uint index; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11FullComment9getBlocksEj")] - internal static extern global::System.IntPtr GetBlocks(global::System.IntPtr instance, uint i); + [FieldOffset(20)] + internal byte isParameterPack; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11FullComment9addBlocksERPNS1_19BlockContentCommentE")] - internal static extern void AddBlocks(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST21TemplateParameterTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11FullComment11clearBlocksEv")] - internal static extern void ClearBlocks(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST21TemplateParameterTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11FullComment14getBlocksCountEv")] - internal static extern uint GetBlocksCount(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST21TemplateParameterTypeD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.FullComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TemplateParameterType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.FullComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TemplateParameterType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.FullComment __CreateInstance(global::CppSharp.Parser.AST.FullComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TemplateParameterType __CreateInstance(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.FullComment(native, skipVTables); + return new global::CppSharp.Parser.AST.TemplateParameterType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.FullComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullComment.__Internal)); - global::CppSharp.Parser.AST.FullComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); + global::CppSharp.Parser.AST.TemplateParameterType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private FullComment(global::CppSharp.Parser.AST.FullComment.__Internal native, bool skipVTables = false) + private TemplateParameterType(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected FullComment(void* native, bool skipVTables = false) + protected TemplateParameterType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -2274,19 +2257,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public FullComment() + public TemplateParameterType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public FullComment(global::CppSharp.Parser.AST.FullComment _0) + public TemplateParameterType(global::CppSharp.Parser.AST.TemplateParameterType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -2299,7 +2282,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Comment __dummy; + global::CppSharp.Parser.AST.Type __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -2308,198 +2291,231 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.BlockContentComment GetBlocks(uint i) + public global::CppSharp.Parser.AST.TypeTemplateParameter Parameter { - var __ret = __Internal.GetBlocks((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.BlockContentComment __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.BlockContentComment.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.BlockContentComment) global::CppSharp.Parser.AST.BlockContentComment.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.BlockContentComment.__CreateInstance(__ret); - return __result0; + get + { + global::CppSharp.Parser.AST.TypeTemplateParameter __result0; + if (((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TypeTemplateParameter.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter)) + __result0 = (global::CppSharp.Parser.AST.TypeTemplateParameter) global::CppSharp.Parser.AST.TypeTemplateParameter.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter]; + else __result0 = global::CppSharp.Parser.AST.TypeTemplateParameter.__CreateInstance(((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->parameter = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } } - public void AddBlocks(global::CppSharp.Parser.AST.BlockContentComment s) + public uint Depth { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddBlocks((__Instance + __PointerAdjustment), __arg0); + get + { + return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->depth; + } + + set + { + ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->depth = value; + } } - public void ClearBlocks() + public uint Index { - __Internal.ClearBlocks((__Instance + __PointerAdjustment)); + get + { + return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->index; + } + + set + { + ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->index = value; + } } - public uint BlocksCount + public bool IsParameterPack { get { - var __ret = __Internal.GetBlocksCount((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->isParameterPack != 0; + } + + set + { + ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->isParameterPack = (byte) (value ? 1 : 0); } } } - public unsafe partial class Comment : IDisposable + public unsafe partial class TemplateParameterSubstitutionType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 4)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 20)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] + internal byte isDependent; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal replacement; + + [FieldOffset(16)] + internal global::System.IntPtr replacedParameter; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST7CommentC2ENS1_11CommentKindE")] - internal static extern void ctor(global::System.IntPtr instance, global::CppSharp.Parser.AST.CommentKind kind); + EntryPoint="_ZN8CppSharp9CppParser3AST33TemplateParameterSubstitutionTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST7CommentC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST33TemplateParameterSubstitutionTypeC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); } - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.Comment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TemplateParameterSubstitutionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Comment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TemplateParameterSubstitutionType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Comment __CreateInstance(global::CppSharp.Parser.AST.Comment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TemplateParameterSubstitutionType __CreateInstance(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Comment(native, skipVTables); + return new global::CppSharp.Parser.AST.TemplateParameterSubstitutionType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Comment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Comment.__Internal)); - *(global::CppSharp.Parser.AST.Comment.__Internal*) ret = native; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); + global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Comment(global::CppSharp.Parser.AST.Comment.__Internal native, bool skipVTables = false) + private TemplateParameterSubstitutionType(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Comment(void* native, bool skipVTables = false) + protected TemplateParameterSubstitutionType(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public Comment(global::CppSharp.Parser.AST.CommentKind kind) + public TemplateParameterSubstitutionType() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Comment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), kind); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public Comment(global::CppSharp.Parser.AST.Comment _0) + public TemplateParameterSubstitutionType(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Comment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.Comment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.Comment.__Internal*) _0.__Instance); - } - - public void Dispose() - { - Dispose(disposing: true); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public virtual void Dispose(bool disposing) + public global::CppSharp.Parser.AST.QualifiedType Replacement { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Comment __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacement)); + } - public static implicit operator global::CppSharp.Parser.AST.Comment(global::CppSharp.Parser.AST.CommentKind kind) - { - return new global::CppSharp.Parser.AST.Comment(kind); + set + { + ((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*)__Instance)->replacement = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } } - public global::CppSharp.Parser.AST.CommentKind Kind + public global::CppSharp.Parser.AST.TemplateParameterType ReplacedParameter { get { - return ((global::CppSharp.Parser.AST.Comment.__Internal*) __Instance)->kind; + global::CppSharp.Parser.AST.TemplateParameterType __result0; + if (((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TemplateParameterType.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter)) + __result0 = (global::CppSharp.Parser.AST.TemplateParameterType) global::CppSharp.Parser.AST.TemplateParameterType.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter]; + else __result0 = global::CppSharp.Parser.AST.TemplateParameterType.__CreateInstance(((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter); + return __result0; } set { - ((global::CppSharp.Parser.AST.Comment.__Internal*)__Instance)->kind = value; + ((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*)__Instance)->replacedParameter = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } - public unsafe partial class BlockContentComment : global::CppSharp.Parser.AST.Comment, IDisposable + public unsafe partial class InjectedClassNameType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 4)] + [StructLayout(LayoutKind.Explicit, Size = 20)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + internal global::CppSharp.Parser.AST.TypeKind kind; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19BlockContentCommentC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); + [FieldOffset(4)] + internal byte isDependent; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal injectedSpecializationType; + + [FieldOffset(16)] + internal global::System.IntPtr _class; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19BlockContentCommentC2ENS1_11CommentKindE")] - internal static extern void ctor(global::System.IntPtr instance, global::CppSharp.Parser.AST.CommentKind Kind); + EntryPoint="_ZN8CppSharp9CppParser3AST21InjectedClassNameTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19BlockContentCommentC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST21InjectedClassNameTypeC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); } - internal static new global::CppSharp.Parser.AST.BlockContentComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.InjectedClassNameType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.BlockContentComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.InjectedClassNameType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.BlockContentComment __CreateInstance(global::CppSharp.Parser.AST.BlockContentComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.InjectedClassNameType __CreateInstance(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.BlockContentComment(native, skipVTables); + return new global::CppSharp.Parser.AST.InjectedClassNameType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.BlockContentComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); - *(global::CppSharp.Parser.AST.BlockContentComment.__Internal*) ret = native; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); + global::CppSharp.Parser.AST.InjectedClassNameType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private BlockContentComment(global::CppSharp.Parser.AST.BlockContentComment.__Internal native, bool skipVTables = false) + private InjectedClassNameType(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected BlockContentComment(void* native, bool skipVTables = false) + protected InjectedClassNameType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -2508,181 +2524,319 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public BlockContentComment() + public InjectedClassNameType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public BlockContentComment(global::CppSharp.Parser.AST.CommentKind Kind) + public InjectedClassNameType(global::CppSharp.Parser.AST.InjectedClassNameType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), Kind); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public BlockContentComment(global::CppSharp.Parser.AST.BlockContentComment _0) - : this((void*) null) + public global::CppSharp.Parser.AST.QualifiedType InjectedSpecializationType { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.BlockContentComment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.BlockContentComment.__Internal*) _0.__Instance); + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->injectedSpecializationType)); + } + + set + { + ((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*)__Instance)->injectedSpecializationType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } } - public static implicit operator global::CppSharp.Parser.AST.BlockContentComment(global::CppSharp.Parser.AST.CommentKind Kind) + public global::CppSharp.Parser.AST.Class Class { - return new global::CppSharp.Parser.AST.BlockContentComment(Kind); + get + { + global::CppSharp.Parser.AST.Class __result0; + if (((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class)) + __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class]; + else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*)__Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } } } - public unsafe partial class Namespace : global::CppSharp.Parser.AST.DeclarationContext, IDisposable + public unsafe partial class DependentNameType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 232)] + [StructLayout(LayoutKind.Explicit, Size = 28)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + internal global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - internal int maxFieldAlignment; + internal byte isDependent; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(12)] - internal global::System.IntPtr _namespace; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifier; [FieldOffset(16)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C identifier; - [FieldOffset(20)] - internal int lineNumberStart; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17DependentNameTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); - [FieldOffset(24)] - internal int lineNumberEnd; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17DependentNameTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - [FieldOffset(28)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17DependentNameTypeD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); + } - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + internal static new global::CppSharp.Parser.AST.DependentNameType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DependentNameType(native.ToPointer(), skipVTables); + } - [FieldOffset(52)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + internal static global::CppSharp.Parser.AST.DependentNameType __CreateInstance(global::CppSharp.Parser.AST.DependentNameType.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DependentNameType(native, skipVTables); + } - [FieldOffset(64)] - internal byte isIncomplete; + private static void* __CopyValue(global::CppSharp.Parser.AST.DependentNameType.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); + global::CppSharp.Parser.AST.DependentNameType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(65)] - internal byte isDependent; + private DependentNameType(global::CppSharp.Parser.AST.DependentNameType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(66)] - internal byte isImplicit; + protected DependentNameType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(67)] - internal byte isInvalid; + public DependentNameType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - [FieldOffset(68)] - internal global::System.IntPtr completeDeclaration; + public DependentNameType(global::CppSharp.Parser.AST.DependentNameType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(72)] - internal uint definitionOrder; + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Type __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } - [FieldOffset(76)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + public global::CppSharp.Parser.AST.QualifiedType Qualifier + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentNameType.__Internal*) __Instance)->qualifier)); + } - [FieldOffset(88)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + set + { + ((global::CppSharp.Parser.AST.DependentNameType.__Internal*)__Instance)->qualifier = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } - [FieldOffset(100)] - internal global::System.IntPtr originalPtr; + public string Identifier + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentNameType.__Internal*) __Instance)->identifier)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } - [FieldOffset(104)] - internal global::System.IntPtr comment; + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentNameType.__Internal*)__Instance)->identifier), value); + } + } + } - [FieldOffset(108)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ Namespaces; + public unsafe partial class PackExpansionType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 8)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; - [FieldOffset(120)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; + [FieldOffset(4)] + internal byte isDependent; - [FieldOffset(132)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17PackExpansionTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); - [FieldOffset(144)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17PackExpansionTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + } - [FieldOffset(156)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; + internal static new global::CppSharp.Parser.AST.PackExpansionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.PackExpansionType(native.ToPointer(), skipVTables); + } - [FieldOffset(168)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; + internal static global::CppSharp.Parser.AST.PackExpansionType __CreateInstance(global::CppSharp.Parser.AST.PackExpansionType.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.PackExpansionType(native, skipVTables); + } - [FieldOffset(180)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ TypeAliases; + private static void* __CopyValue(global::CppSharp.Parser.AST.PackExpansionType.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); + global::CppSharp.Parser.AST.PackExpansionType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(192)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ Variables; + private PackExpansionType(global::CppSharp.Parser.AST.PackExpansionType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(204)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ Friends; + protected PackExpansionType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(216)] - internal global::Std.Map.__Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ anonymous; + public PackExpansionType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - [FieldOffset(228)] - internal byte isAnonymous; + public PackExpansionType(global::CppSharp.Parser.AST.PackExpansionType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + } - [FieldOffset(229)] - internal byte isInline; + public unsafe partial class UnaryTransformType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] + internal byte isDependent; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal baseType; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9NamespaceC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST18UnaryTransformTypeC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9NamespaceC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST18UnaryTransformTypeC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9NamespaceD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.Namespace __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.UnaryTransformType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Namespace(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.UnaryTransformType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Namespace __CreateInstance(global::CppSharp.Parser.AST.Namespace.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.UnaryTransformType __CreateInstance(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Namespace(native, skipVTables); + return new global::CppSharp.Parser.AST.UnaryTransformType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Namespace.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); - global::CppSharp.Parser.AST.Namespace.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); + global::CppSharp.Parser.AST.UnaryTransformType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Namespace(global::CppSharp.Parser.AST.Namespace.__Internal native, bool skipVTables = false) + private UnaryTransformType(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Namespace(void* native, bool skipVTables = false) + protected UnaryTransformType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -2691,19 +2845,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Namespace() + public UnaryTransformType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public Namespace(global::CppSharp.Parser.AST.Namespace _0) + public UnaryTransformType(global::CppSharp.Parser.AST.UnaryTransformType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -2712,1371 +2866,470 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public global::CppSharp.Parser.AST.QualifiedType Desugared { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*) __Instance)->desugared)); + } + + set + { + ((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*)__Instance)->desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } } - public bool IsInline + public global::CppSharp.Parser.AST.QualifiedType BaseType { get { - return ((global::CppSharp.Parser.AST.Namespace.__Internal*) __Instance)->isInline != 0; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*) __Instance)->baseType)); } set { - ((global::CppSharp.Parser.AST.Namespace.__Internal*)__Instance)->isInline = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*)__Instance)->baseType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } } - public unsafe partial class Enumeration : global::CppSharp.Parser.AST.DeclarationContext, IDisposable + public unsafe partial class VectorType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 256)] + [StructLayout(LayoutKind.Explicit, Size = 20)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + internal global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - internal int maxFieldAlignment; + internal byte isDependent; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(12)] - internal global::System.IntPtr _namespace; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal elementType; [FieldOffset(16)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; + internal uint numElements; - [FieldOffset(20)] - internal int lineNumberStart; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10VectorTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); - [FieldOffset(24)] - internal int lineNumberEnd; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10VectorTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + } - [FieldOffset(28)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + internal static new global::CppSharp.Parser.AST.VectorType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.VectorType(native.ToPointer(), skipVTables); + } - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + internal static global::CppSharp.Parser.AST.VectorType __CreateInstance(global::CppSharp.Parser.AST.VectorType.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.VectorType(native, skipVTables); + } - [FieldOffset(52)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + private static void* __CopyValue(global::CppSharp.Parser.AST.VectorType.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); + global::CppSharp.Parser.AST.VectorType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(64)] - internal byte isIncomplete; + private VectorType(global::CppSharp.Parser.AST.VectorType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(65)] - internal byte isDependent; + protected VectorType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(66)] - internal byte isImplicit; + public VectorType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - [FieldOffset(67)] - internal byte isInvalid; + public VectorType(global::CppSharp.Parser.AST.VectorType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(68)] - internal global::System.IntPtr completeDeclaration; + public global::CppSharp.Parser.AST.QualifiedType ElementType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VectorType.__Internal*) __Instance)->elementType)); + } - [FieldOffset(72)] - internal uint definitionOrder; + set + { + ((global::CppSharp.Parser.AST.VectorType.__Internal*)__Instance)->elementType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } - [FieldOffset(76)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + public uint NumElements + { + get + { + return ((global::CppSharp.Parser.AST.VectorType.__Internal*) __Instance)->numElements; + } - [FieldOffset(88)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + set + { + ((global::CppSharp.Parser.AST.VectorType.__Internal*)__Instance)->numElements = value; + } + } + } - [FieldOffset(100)] - internal global::System.IntPtr originalPtr; + public unsafe partial class BuiltinType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 12)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; - [FieldOffset(104)] - internal global::System.IntPtr comment; + [FieldOffset(4)] + internal byte isDependent; - [FieldOffset(108)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ Namespaces; + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.PrimitiveType type; - [FieldOffset(120)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11BuiltinTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); - [FieldOffset(132)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11BuiltinTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + } - [FieldOffset(144)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; + internal static new global::CppSharp.Parser.AST.BuiltinType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.BuiltinType(native.ToPointer(), skipVTables); + } - [FieldOffset(156)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; + internal static global::CppSharp.Parser.AST.BuiltinType __CreateInstance(global::CppSharp.Parser.AST.BuiltinType.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.BuiltinType(native, skipVTables); + } - [FieldOffset(168)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; + private static void* __CopyValue(global::CppSharp.Parser.AST.BuiltinType.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); + global::CppSharp.Parser.AST.BuiltinType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(180)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ TypeAliases; + private BuiltinType(global::CppSharp.Parser.AST.BuiltinType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(192)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ Variables; + protected BuiltinType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(204)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ Friends; + public BuiltinType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - [FieldOffset(216)] - internal global::Std.Map.__Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ anonymous; + public BuiltinType(global::CppSharp.Parser.AST.BuiltinType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(228)] - internal byte isAnonymous; + public global::CppSharp.Parser.AST.PrimitiveType Type + { + get + { + return ((global::CppSharp.Parser.AST.BuiltinType.__Internal*) __Instance)->type; + } - [FieldOffset(232)] - internal global::CppSharp.Parser.AST.Enumeration.EnumModifiers modifiers; + set + { + ((global::CppSharp.Parser.AST.BuiltinType.__Internal*)__Instance)->type = value; + } + } + } - [FieldOffset(236)] - internal global::System.IntPtr type; + public unsafe partial class VTableComponent : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 12)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.VTableComponentKind kind; - [FieldOffset(240)] - internal global::System.IntPtr builtinType; + [FieldOffset(4)] + internal uint offset; - [FieldOffset(244)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration_S_Item___N_std_N___1_S_allocator__S0_ Items; + [FieldOffset(8)] + internal global::System.IntPtr declaration; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11EnumerationC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST15VTableComponentC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11EnumerationC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST15VTableComponentC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11EnumerationD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration8getItemsEj")] - internal static extern global::System.IntPtr GetItems(global::System.IntPtr instance, uint i); + public global::System.IntPtr __Instance { get; protected set; } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration8addItemsERPNS2_4ItemE")] - internal static extern void AddItems(global::System.IntPtr instance, global::System.IntPtr s); + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration10clearItemsEv")] - internal static extern void ClearItems(global::System.IntPtr instance); + protected bool __ownsNativeInstance; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration14FindItemByNameERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEE")] - internal static extern global::System.IntPtr FindItemByName(global::System.IntPtr instance, global::System.IntPtr Name); + internal static global::CppSharp.Parser.AST.VTableComponent __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.VTableComponent(native.ToPointer(), skipVTables); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration13getItemsCountEv")] - internal static extern uint GetItemsCount(global::System.IntPtr instance); + internal static global::CppSharp.Parser.AST.VTableComponent __CreateInstance(global::CppSharp.Parser.AST.VTableComponent.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.VTableComponent(native, skipVTables); } - [Flags] - public enum EnumModifiers + private static void* __CopyValue(global::CppSharp.Parser.AST.VTableComponent.__Internal native) { - Anonymous = 1, - Scoped = 2, - Flags = 4 + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); + *(global::CppSharp.Parser.AST.VTableComponent.__Internal*) ret = native; + return ret.ToPointer(); } - public unsafe partial class Item : global::CppSharp.Parser.AST.Declaration, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 128)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(12)] - internal global::System.IntPtr _namespace; - - [FieldOffset(16)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(20)] - internal int lineNumberStart; - - [FieldOffset(24)] - internal int lineNumberEnd; - - [FieldOffset(28)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; - - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - - [FieldOffset(52)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; - - [FieldOffset(64)] - internal byte isIncomplete; - - [FieldOffset(65)] - internal byte isDependent; - - [FieldOffset(66)] - internal byte isImplicit; - - [FieldOffset(67)] - internal byte isInvalid; - - [FieldOffset(68)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(72)] - internal uint definitionOrder; - - [FieldOffset(76)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(88)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; - - [FieldOffset(100)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(104)] - internal global::System.IntPtr comment; - - [FieldOffset(108)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C expression; - - [FieldOffset(120)] - internal ulong value; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4ItemC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4ItemC2ERKS3_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4ItemD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); - } - - internal static new global::CppSharp.Parser.AST.Enumeration.Item __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Enumeration.Item(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.Enumeration.Item __CreateInstance(global::CppSharp.Parser.AST.Enumeration.Item.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Enumeration.Item(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.Enumeration.Item.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); - global::CppSharp.Parser.AST.Enumeration.Item.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private Item(global::CppSharp.Parser.AST.Enumeration.Item.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected Item(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public Item() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } - - public Item(global::CppSharp.Parser.AST.Enumeration.Item _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } - - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - - public string Expression - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*) __Instance)->expression)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*)__Instance)->expression), value); - } - } - - public ulong Value - { - get - { - return ((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*) __Instance)->value; - } - - set - { - ((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*)__Instance)->value = value; - } - } - } - - internal static new global::CppSharp.Parser.AST.Enumeration __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Enumeration(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.Enumeration __CreateInstance(global::CppSharp.Parser.AST.Enumeration.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Enumeration(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.Enumeration.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); - global::CppSharp.Parser.AST.Enumeration.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private Enumeration(global::CppSharp.Parser.AST.Enumeration.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected Enumeration(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public Enumeration() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } - - public Enumeration(global::CppSharp.Parser.AST.Enumeration _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } - - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - - public global::CppSharp.Parser.AST.Enumeration.Item GetItems(uint i) - { - var __ret = __Internal.GetItems((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Enumeration.Item __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Enumeration.Item) global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Enumeration.Item.__CreateInstance(__ret); - return __result0; - } - - public void AddItems(global::CppSharp.Parser.AST.Enumeration.Item s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddItems((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearItems() - { - __Internal.ClearItems((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.Enumeration.Item FindItemByName(string Name) - { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, Name); - var __arg0 = __basicString0.__Instance; - var __ret = __Internal.FindItemByName((__Instance + __PointerAdjustment), __arg0); - __basicString0.Dispose(false); - global::CppSharp.Parser.AST.Enumeration.Item __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Enumeration.Item) global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Enumeration.Item.__CreateInstance(__ret); - return __result0; - } - - public global::CppSharp.Parser.AST.Enumeration.EnumModifiers Modifiers - { - get - { - return ((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->modifiers; - } - - set - { - ((global::CppSharp.Parser.AST.Enumeration.__Internal*)__Instance)->modifiers = value; - } - } - - public global::CppSharp.Parser.AST.Type Type - { - get - { - global::CppSharp.Parser.AST.Type __result0; - if (((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type)) - __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type]; - else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.Enumeration.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } - - public global::CppSharp.Parser.AST.BuiltinType BuiltinType - { - get - { - global::CppSharp.Parser.AST.BuiltinType __result0; - if (((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.BuiltinType.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType)) - __result0 = (global::CppSharp.Parser.AST.BuiltinType) global::CppSharp.Parser.AST.BuiltinType.NativeToManagedMap[((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType]; - else __result0 = global::CppSharp.Parser.AST.BuiltinType.__CreateInstance(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.Enumeration.__Internal*)__Instance)->builtinType = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } - - public uint ItemsCount - { - get - { - var __ret = __Internal.GetItemsCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - } - - public unsafe partial class Function : global::CppSharp.Parser.AST.DeclarationContext, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 324)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(12)] - internal global::System.IntPtr _namespace; - - [FieldOffset(16)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(20)] - internal int lineNumberStart; - - [FieldOffset(24)] - internal int lineNumberEnd; - - [FieldOffset(28)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; - - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - - [FieldOffset(52)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; - - [FieldOffset(64)] - internal byte isIncomplete; - - [FieldOffset(65)] - internal byte isDependent; - - [FieldOffset(66)] - internal byte isImplicit; - - [FieldOffset(67)] - internal byte isInvalid; - - [FieldOffset(68)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(72)] - internal uint definitionOrder; - - [FieldOffset(76)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(88)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; - - [FieldOffset(100)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(104)] - internal global::System.IntPtr comment; - - [FieldOffset(108)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ Namespaces; - - [FieldOffset(120)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; - - [FieldOffset(132)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; - - [FieldOffset(144)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; - - [FieldOffset(156)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; - - [FieldOffset(168)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; - - [FieldOffset(180)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ TypeAliases; - - [FieldOffset(192)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ Variables; - - [FieldOffset(204)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ Friends; - - [FieldOffset(216)] - internal global::Std.Map.__Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ anonymous; - - [FieldOffset(228)] - internal byte isAnonymous; - - [FieldOffset(232)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; - - [FieldOffset(240)] - internal byte isReturnIndirect; - - [FieldOffset(241)] - internal byte hasThisReturn; - - [FieldOffset(242)] - internal byte isConstExpr; - - [FieldOffset(243)] - internal byte isVariadic; - - [FieldOffset(244)] - internal byte isInline; - - [FieldOffset(245)] - internal byte isPure; - - [FieldOffset(246)] - internal byte isDeleted; - - [FieldOffset(247)] - internal byte isDefaulted; - - [FieldOffset(248)] - internal global::CppSharp.Parser.AST.FriendKind friendKind; - - [FieldOffset(252)] - internal global::CppSharp.Parser.AST.CXXOperatorKind operatorKind; - - [FieldOffset(256)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C mangled; - - [FieldOffset(268)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C signature; - - [FieldOffset(280)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C body; - - [FieldOffset(292)] - internal global::CppSharp.Parser.AST.CallingConvention callingConvention; - - [FieldOffset(296)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_N___1_S_allocator__S0_ Parameters; - - [FieldOffset(308)] - internal global::System.IntPtr specializationInfo; - - [FieldOffset(312)] - internal global::System.IntPtr instantiatedFrom; - - [FieldOffset(316)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8FunctionC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8FunctionC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8FunctionD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Function13getParametersEj")] - internal static extern global::System.IntPtr GetParameters(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Function13addParametersERPNS1_9ParameterE")] - internal static extern void AddParameters(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Function15clearParametersEv")] - internal static extern void ClearParameters(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Function18getParametersCountEv")] - internal static extern uint GetParametersCount(global::System.IntPtr instance); - } - - internal static new global::CppSharp.Parser.AST.Function __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Function(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.Function __CreateInstance(global::CppSharp.Parser.AST.Function.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Function(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.Function.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); - global::CppSharp.Parser.AST.Function.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private Function(global::CppSharp.Parser.AST.Function.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) + private VTableComponent(global::CppSharp.Parser.AST.VTableComponent.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Function(void* native, bool skipVTables = false) - : base((void*) null) + protected VTableComponent(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public Function() - : this((void*) null) + public VTableComponent() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public Function(global::CppSharp.Parser.AST.Function _0) - : this((void*) null) + public VTableComponent(global::CppSharp.Parser.AST.VTableComponent _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + *((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.VTableComponent.__Internal*) _0.__Instance); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.VTableComponent __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - - public global::CppSharp.Parser.AST.Parameter GetParameters(uint i) - { - var __ret = __Internal.GetParameters((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Parameter __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Parameter.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Parameter) global::CppSharp.Parser.AST.Parameter.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Parameter.__CreateInstance(__ret); - return __result0; - } - - public void AddParameters(global::CppSharp.Parser.AST.Parameter s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddParameters((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearParameters() - { - __Internal.ClearParameters((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.QualifiedType ReturnType - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->returnType)); - } - - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->returnType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } - } - - public bool IsReturnIndirect - { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isReturnIndirect != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isReturnIndirect = (byte) (value ? 1 : 0); - } - } - - public bool HasThisReturn - { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->hasThisReturn != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->hasThisReturn = (byte) (value ? 1 : 0); - } - } - - public bool IsConstExpr - { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isConstExpr != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isConstExpr = (byte) (value ? 1 : 0); - } - } - - public bool IsVariadic - { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isVariadic != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isVariadic = (byte) (value ? 1 : 0); - } - } - - public bool IsInline - { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isInline != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isInline = (byte) (value ? 1 : 0); - } - } - - public bool IsPure - { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isPure != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isPure = (byte) (value ? 1 : 0); - } - } - - public bool IsDeleted - { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isDeleted != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isDeleted = (byte) (value ? 1 : 0); - } - } - - public bool IsDefaulted - { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isDefaulted != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isDefaulted = (byte) (value ? 1 : 0); - } - } - - public global::CppSharp.Parser.AST.FriendKind FriendKind - { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->friendKind; - } - - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->friendKind = value; - } - } - - public global::CppSharp.Parser.AST.CXXOperatorKind OperatorKind - { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->operatorKind; - } - - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->operatorKind = value; - } - } - - public string Mangled - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->mangled)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->mangled), value); - } - } - - public string Signature - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->signature)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->signature), value); - } - } - - public string Body - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->body)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->body), value); - } + __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.CallingConvention CallingConvention + public global::CppSharp.Parser.AST.VTableComponentKind Kind { get { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->callingConvention; + return ((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->kind; } set { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->callingConvention = value; + ((global::CppSharp.Parser.AST.VTableComponent.__Internal*)__Instance)->kind = value; } } - public global::CppSharp.Parser.AST.FunctionTemplateSpecialization SpecializationInfo + public uint Offset { get { - global::CppSharp.Parser.AST.FunctionTemplateSpecialization __result0; - if (((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo)) - __result0 = (global::CppSharp.Parser.AST.FunctionTemplateSpecialization) global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap[((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo]; - else __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__CreateInstance(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo); - return __result0; + return ((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->offset; } set { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->specializationInfo = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.VTableComponent.__Internal*)__Instance)->offset = value; } } - public global::CppSharp.Parser.AST.Function InstantiatedFrom + public global::CppSharp.Parser.AST.Declaration Declaration { get { - global::CppSharp.Parser.AST.Function __result0; - if (((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom)) - __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom]; - else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom); + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration); return __result0; } set { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->instantiatedFrom = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } - - public global::CppSharp.Parser.AST.QualifiedType QualifiedType - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->qualifiedType)); - } - - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } - } - - public uint ParametersCount - { - get - { - var __ret = __Internal.GetParametersCount((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.VTableComponent.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } - public unsafe partial class Class : global::CppSharp.Parser.AST.DeclarationContext, IDisposable + public unsafe partial class VTableLayout : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 296)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 12)] + public partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(12)] - internal global::System.IntPtr _namespace; - - [FieldOffset(16)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(20)] - internal int lineNumberStart; - - [FieldOffset(24)] - internal int lineNumberEnd; - - [FieldOffset(28)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; - - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - - [FieldOffset(52)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; - - [FieldOffset(64)] - internal byte isIncomplete; - - [FieldOffset(65)] - internal byte isDependent; - - [FieldOffset(66)] - internal byte isImplicit; - - [FieldOffset(67)] - internal byte isInvalid; - - [FieldOffset(68)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(72)] - internal uint definitionOrder; - - [FieldOffset(76)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(88)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; - - [FieldOffset(100)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(104)] - internal global::System.IntPtr comment; - - [FieldOffset(108)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ Namespaces; - - [FieldOffset(120)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; - - [FieldOffset(132)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; - - [FieldOffset(144)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; - - [FieldOffset(156)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; - - [FieldOffset(168)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; - - [FieldOffset(180)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ TypeAliases; - - [FieldOffset(192)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ Variables; - - [FieldOffset(204)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ Friends; - - [FieldOffset(216)] - internal global::Std.Map.__Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ anonymous; - - [FieldOffset(228)] - internal byte isAnonymous; - - [FieldOffset(232)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BaseClassSpecifier___N_std_N___1_S_allocator__S0_ Bases; - - [FieldOffset(244)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Field___N_std_N___1_S_allocator__S0_ Fields; - - [FieldOffset(256)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_N___1_S_allocator__S0_ Methods; - - [FieldOffset(268)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_AccessSpecifierDecl___N_std_N___1_S_allocator__S0_ Specifiers; - - [FieldOffset(280)] - internal byte isPOD; - - [FieldOffset(281)] - internal byte isAbstract; - - [FieldOffset(282)] - internal byte isUnion; - - [FieldOffset(283)] - internal byte isDynamic; - - [FieldOffset(284)] - internal byte isPolymorphic; - - [FieldOffset(285)] - internal byte hasNonTrivialDefaultConstructor; - - [FieldOffset(286)] - internal byte hasNonTrivialCopyConstructor; - - [FieldOffset(287)] - internal byte hasNonTrivialDestructor; - - [FieldOffset(288)] - internal byte isExternCContext; - - [FieldOffset(289)] - internal byte isInjected; - - [FieldOffset(292)] - internal global::System.IntPtr layout; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5ClassC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5ClassC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5ClassD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class8getBasesEj")] - internal static extern global::System.IntPtr GetBases(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class8addBasesERPNS1_18BaseClassSpecifierE")] - internal static extern void AddBases(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class10clearBasesEv")] - internal static extern void ClearBases(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class9getFieldsEj")] - internal static extern global::System.IntPtr GetFields(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class9addFieldsERPNS1_5FieldE")] - internal static extern void AddFields(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class11clearFieldsEv")] - internal static extern void ClearFields(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class10getMethodsEj")] - internal static extern global::System.IntPtr GetMethods(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class10addMethodsERPNS1_6MethodE")] - internal static extern void AddMethods(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class12clearMethodsEv")] - internal static extern void ClearMethods(global::System.IntPtr instance); + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_VTableComponent___N_std_N___1_S_allocator__S0_ Components; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class13getSpecifiersEj")] - internal static extern global::System.IntPtr GetSpecifiers(global::System.IntPtr instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayoutC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class13addSpecifiersERPNS1_19AccessSpecifierDeclE")] - internal static extern void AddSpecifiers(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayoutC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class15clearSpecifiersEv")] - internal static extern void ClearSpecifiers(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayoutD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class13getBasesCountEv")] - internal static extern uint GetBasesCount(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayout13getComponentsEj")] + internal static extern void GetComponents(global::System.IntPtr @return, global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class14getFieldsCountEv")] - internal static extern uint GetFieldsCount(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayout13addComponentsERNS1_15VTableComponentE")] + internal static extern void AddComponents(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class15getMethodsCountEv")] - internal static extern uint GetMethodsCount(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayout15clearComponentsEv")] + internal static extern void ClearComponents(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class18getSpecifiersCountEv")] - internal static extern uint GetSpecifiersCount(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayout18getComponentsCountEv")] + internal static extern uint GetComponentsCount(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.Class __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.VTableLayout __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Class(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.VTableLayout(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Class __CreateInstance(global::CppSharp.Parser.AST.Class.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.VTableLayout __CreateInstance(global::CppSharp.Parser.AST.VTableLayout.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Class(native, skipVTables); + return new global::CppSharp.Parser.AST.VTableLayout(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Class.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VTableLayout.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); - global::CppSharp.Parser.AST.Class.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); + global::CppSharp.Parser.AST.VTableLayout.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Class(global::CppSharp.Parser.AST.Class.__Internal native, bool skipVTables = false) + private VTableLayout(global::CppSharp.Parser.AST.VTableLayout.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Class(void* native, bool skipVTables = false) - : base((void*) null) + protected VTableLayout(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public Class() - : this((void*) null) + public VTableLayout() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public Class(global::CppSharp.Parser.AST.Class _0) - : this((void*) null) + public VTableLayout(global::CppSharp.Parser.AST.VTableLayout _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -4085,11 +3338,16 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.VTableLayout __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -4098,467 +3356,458 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.BaseClassSpecifier GetBases(uint i) + public global::CppSharp.Parser.AST.VTableComponent GetComponents(uint i) { - var __ret = __Internal.GetBases((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.BaseClassSpecifier __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.BaseClassSpecifier.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.BaseClassSpecifier) global::CppSharp.Parser.AST.BaseClassSpecifier.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.BaseClassSpecifier.__CreateInstance(__ret); - return __result0; + var __ret = new global::CppSharp.Parser.AST.VTableComponent.__Internal(); + __Internal.GetComponents(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); + return global::CppSharp.Parser.AST.VTableComponent.__CreateInstance(__ret); } - public void AddBases(global::CppSharp.Parser.AST.BaseClassSpecifier s) + public void AddComponents(global::CppSharp.Parser.AST.VTableComponent s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddBases((__Instance + __PointerAdjustment), __arg0); + __Internal.AddComponents((__Instance + __PointerAdjustment), __arg0); } - public void ClearBases() + public void ClearComponents() { - __Internal.ClearBases((__Instance + __PointerAdjustment)); + __Internal.ClearComponents((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.Field GetFields(uint i) + public uint ComponentsCount { - var __ret = __Internal.GetFields((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Field __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Field.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Field) global::CppSharp.Parser.AST.Field.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Field.__CreateInstance(__ret); - return __result0; + get + { + var __ret = __Internal.GetComponentsCount((__Instance + __PointerAdjustment)); + return __ret; + } } + } - public void AddFields(global::CppSharp.Parser.AST.Field s) + public unsafe partial class VFTableInfo : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 28)] + public partial struct __Internal { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddFields((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(0)] + internal ulong VBTableIndex; - public void ClearFields() - { - __Internal.ClearFields((__Instance + __PointerAdjustment)); + [FieldOffset(8)] + internal uint VFPtrOffset; + + [FieldOffset(12)] + internal uint VFPtrFullOffset; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.VTableLayout.__Internal layout; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11VFTableInfoC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11VFTableInfoC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11VFTableInfoD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); } - public global::CppSharp.Parser.AST.Method GetMethods(uint i) + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.VFTableInfo __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - var __ret = __Internal.GetMethods((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Method __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Method.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Method) global::CppSharp.Parser.AST.Method.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Method.__CreateInstance(__ret); - return __result0; + return new global::CppSharp.Parser.AST.VFTableInfo(native.ToPointer(), skipVTables); } - public void AddMethods(global::CppSharp.Parser.AST.Method s) + internal static global::CppSharp.Parser.AST.VFTableInfo __CreateInstance(global::CppSharp.Parser.AST.VFTableInfo.__Internal native, bool skipVTables = false) { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddMethods((__Instance + __PointerAdjustment), __arg0); + return new global::CppSharp.Parser.AST.VFTableInfo(native, skipVTables); } - public void ClearMethods() + private static void* __CopyValue(global::CppSharp.Parser.AST.VFTableInfo.__Internal native) { - __Internal.ClearMethods((__Instance + __PointerAdjustment)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); + global::CppSharp.Parser.AST.VFTableInfo.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); } - public global::CppSharp.Parser.AST.AccessSpecifierDecl GetSpecifiers(uint i) + private VFTableInfo(global::CppSharp.Parser.AST.VFTableInfo.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - var __ret = __Internal.GetSpecifiers((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.AccessSpecifierDecl __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.AccessSpecifierDecl.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.AccessSpecifierDecl) global::CppSharp.Parser.AST.AccessSpecifierDecl.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.AccessSpecifierDecl.__CreateInstance(__ret); - return __result0; + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; } - public void AddSpecifiers(global::CppSharp.Parser.AST.AccessSpecifierDecl s) + protected VFTableInfo(void* native, bool skipVTables = false) { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddSpecifiers((__Instance + __PointerAdjustment), __arg0); + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - public void ClearSpecifiers() + public VFTableInfo() { - __Internal.ClearSpecifiers((__Instance + __PointerAdjustment)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); } - public bool IsPOD + public VFTableInfo(global::CppSharp.Parser.AST.VFTableInfo _0) { - get - { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isPOD != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isPOD = (byte) (value ? 1 : 0); - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public bool IsAbstract + public void Dispose() { - get - { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isAbstract != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isAbstract = (byte) (value ? 1 : 0); - } + Dispose(disposing: true); } - public bool IsUnion + public virtual void Dispose(bool disposing) { - get - { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isUnion != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isUnion = (byte) (value ? 1 : 0); - } + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.VFTableInfo __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; } - public bool IsDynamic + public ulong VBTableIndex { get { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isDynamic != 0; + return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VBTableIndex; } set { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isDynamic = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->VBTableIndex = value; } } - public bool IsPolymorphic + public uint VFPtrOffset { get { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isPolymorphic != 0; + return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VFPtrOffset; } set { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isPolymorphic = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->VFPtrOffset = value; } } - public bool HasNonTrivialDefaultConstructor + public uint VFPtrFullOffset { get { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->hasNonTrivialDefaultConstructor != 0; + return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VFPtrFullOffset; } set { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->hasNonTrivialDefaultConstructor = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->VFPtrFullOffset = value; } } - public bool HasNonTrivialCopyConstructor + public global::CppSharp.Parser.AST.VTableLayout Layout { get { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->hasNonTrivialCopyConstructor != 0; + return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->layout)); } set { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->hasNonTrivialCopyConstructor = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->layout = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.VTableLayout.__Internal() : *(global::CppSharp.Parser.AST.VTableLayout.__Internal*) value.__Instance; } } + } - public bool HasNonTrivialDestructor + public unsafe partial class LayoutField : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 28)] + public partial struct __Internal { - get - { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->hasNonTrivialDestructor != 0; - } + [FieldOffset(0)] + internal uint offset; - set - { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->hasNonTrivialDestructor = (byte) (value ? 1 : 0); - } + [FieldOffset(4)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(24)] + internal global::System.IntPtr fieldPtr; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutFieldC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutFieldC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr other); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutFieldD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); } - public bool IsExternCContext + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.LayoutField __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - get - { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isExternCContext != 0; - } + return new global::CppSharp.Parser.AST.LayoutField(native.ToPointer(), skipVTables); + } - set - { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isExternCContext = (byte) (value ? 1 : 0); - } + internal static global::CppSharp.Parser.AST.LayoutField __CreateInstance(global::CppSharp.Parser.AST.LayoutField.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.LayoutField(native, skipVTables); } - public bool IsInjected + private static void* __CopyValue(global::CppSharp.Parser.AST.LayoutField.__Internal native) { - get - { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isInjected != 0; - } + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); + global::CppSharp.Parser.AST.LayoutField.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - set - { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isInjected = (byte) (value ? 1 : 0); - } + private LayoutField(global::CppSharp.Parser.AST.LayoutField.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; } - public global::CppSharp.Parser.AST.ClassLayout Layout + protected LayoutField(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public LayoutField() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public LayoutField(global::CppSharp.Parser.AST.LayoutField other) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(other, null)) + throw new global::System.ArgumentNullException("other", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = other.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.LayoutField __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public uint Offset { get { - global::CppSharp.Parser.AST.ClassLayout __result0; - if (((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.ClassLayout.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout)) - __result0 = (global::CppSharp.Parser.AST.ClassLayout) global::CppSharp.Parser.AST.ClassLayout.NativeToManagedMap[((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout]; - else __result0 = global::CppSharp.Parser.AST.ClassLayout.__CreateInstance(((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout); - return __result0; + return ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->offset; } set { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->layout = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->offset = value; } } - public uint BasesCount + public string Name { get { - var __ret = __Internal.GetBasesCount((__Instance + __PointerAdjustment)); - return __ret; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->name)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } - } - public uint FieldsCount - { - get + set { - var __ret = __Internal.GetFieldsCount((__Instance + __PointerAdjustment)); - return __ret; + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->name), value); } } - public uint MethodsCount + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { get { - var __ret = __Internal.GetMethodsCount((__Instance + __PointerAdjustment)); - return __ret; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->qualifiedType)); } - } - public uint SpecifiersCount - { - get + set { - var __ret = __Internal.GetSpecifiersCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - } - - public unsafe partial class Template : global::CppSharp.Parser.AST.Declaration, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 124)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(12)] - internal global::System.IntPtr _namespace; - - [FieldOffset(16)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(20)] - internal int lineNumberStart; - - [FieldOffset(24)] - internal int lineNumberEnd; - - [FieldOffset(28)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; - - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - - [FieldOffset(52)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; - - [FieldOffset(64)] - internal byte isIncomplete; - - [FieldOffset(65)] - internal byte isDependent; - - [FieldOffset(66)] - internal byte isImplicit; - - [FieldOffset(67)] - internal byte isInvalid; - - [FieldOffset(68)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(72)] - internal uint definitionOrder; - - [FieldOffset(76)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(88)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; - - [FieldOffset(100)] - internal global::System.IntPtr originalPtr; + ((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } - [FieldOffset(104)] - internal global::System.IntPtr comment; + public global::System.IntPtr FieldPtr + { + get + { + return ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->fieldPtr; + } - [FieldOffset(108)] - internal global::System.IntPtr TemplatedDecl; + set + { + ((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->fieldPtr = (global::System.IntPtr) value; + } + } + } - [FieldOffset(112)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Parameters; + public unsafe partial class LayoutBase : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 8)] + public partial struct __Internal + { + [FieldOffset(0)] + internal uint offset; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateC2ENS1_15DeclarationKindE")] - internal static extern void ctor(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); + [FieldOffset(4)] + internal global::System.IntPtr _class; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST10LayoutBaseC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST10LayoutBaseC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr other); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST10LayoutBaseD2Ev")] internal static extern void dtor(global::System.IntPtr instance); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Template13getParametersEj")] - internal static extern global::System.IntPtr GetParameters(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Template13addParametersERPNS1_11DeclarationE")] - internal static extern void AddParameters(global::System.IntPtr instance, global::System.IntPtr s); + public global::System.IntPtr __Instance { get; protected set; } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Template15clearParametersEv")] - internal static extern void ClearParameters(global::System.IntPtr instance); + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Template18getParametersCountEv")] - internal static extern uint GetParametersCount(global::System.IntPtr instance); - } + protected bool __ownsNativeInstance; - internal static new global::CppSharp.Parser.AST.Template __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.LayoutBase __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Template(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.LayoutBase(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Template __CreateInstance(global::CppSharp.Parser.AST.Template.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.LayoutBase __CreateInstance(global::CppSharp.Parser.AST.LayoutBase.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Template(native, skipVTables); + return new global::CppSharp.Parser.AST.LayoutBase(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Template.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.LayoutBase.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); - global::CppSharp.Parser.AST.Template.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); + global::CppSharp.Parser.AST.LayoutBase.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Template(global::CppSharp.Parser.AST.Template.__Internal native, bool skipVTables = false) + private LayoutBase(global::CppSharp.Parser.AST.LayoutBase.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Template(void* native, bool skipVTables = false) - : base((void*) null) + protected LayoutBase(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public Template(global::CppSharp.Parser.AST.DeclarationKind kind) - : this((void*) null) + public LayoutBase() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), kind); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public Template() - : this((void*) null) + public LayoutBase(global::CppSharp.Parser.AST.LayoutBase other) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + if (ReferenceEquals(other, null)) + throw new global::System.ArgumentNullException("other", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = other.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public Template(global::CppSharp.Parser.AST.Template _0) - : this((void*) null) + public void Dispose() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + Dispose(disposing: true); } - public override void Dispose(bool disposing) + public virtual void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.LayoutBase __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -4567,193 +3816,199 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.Declaration GetParameters(uint i) - { - var __ret = __Internal.GetParameters((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Declaration __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(__ret); - return __result0; - } - - public void AddParameters(global::CppSharp.Parser.AST.Declaration s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddParameters((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearParameters() - { - __Internal.ClearParameters((__Instance + __PointerAdjustment)); - } - - public static implicit operator global::CppSharp.Parser.AST.Template(global::CppSharp.Parser.AST.DeclarationKind kind) - { - return new global::CppSharp.Parser.AST.Template(kind); - } - - public global::CppSharp.Parser.AST.Declaration TemplatedDecl + public uint Offset { get { - global::CppSharp.Parser.AST.Declaration __result0; - if (((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl); - return __result0; + return ((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->offset; } set { - ((global::CppSharp.Parser.AST.Template.__Internal*)__Instance)->TemplatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.LayoutBase.__Internal*)__Instance)->offset = value; } } - public uint ParametersCount + public global::CppSharp.Parser.AST.Class Class { get { - var __ret = __Internal.GetParametersCount((__Instance + __PointerAdjustment)); - return __ret; + global::CppSharp.Parser.AST.Class __result0; + if (((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class)) + __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class]; + else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.LayoutBase.__Internal*)__Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } - public unsafe partial class TypedefDecl : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable + public unsafe partial class ClassLayout : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 116)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 72)] + public partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + internal global::CppSharp.Parser.AST.CppAbi ABI; [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(12)] - internal global::System.IntPtr _namespace; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_VFTableInfo___N_std_N___1_S_allocator__S0_ VFTables; [FieldOffset(16)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; + internal global::CppSharp.Parser.AST.VTableLayout.__Internal layout; - [FieldOffset(20)] - internal int lineNumberStart; + [FieldOffset(28)] + internal byte hasOwnVFPtr; - [FieldOffset(24)] - internal int lineNumberEnd; + [FieldOffset(32)] + internal int VBPtrOffset; - [FieldOffset(28)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + [FieldOffset(36)] + internal int alignment; [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + internal int size; - [FieldOffset(52)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + [FieldOffset(44)] + internal int dataSize; - [FieldOffset(64)] - internal byte isIncomplete; + [FieldOffset(48)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_LayoutField___N_std_N___1_S_allocator__S0_ Fields; - [FieldOffset(65)] - internal byte isDependent; + [FieldOffset(60)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_LayoutBase___N_std_N___1_S_allocator__S0_ Bases; - [FieldOffset(66)] - internal byte isImplicit; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayoutC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); - [FieldOffset(67)] - internal byte isInvalid; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayoutC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - [FieldOffset(68)] - internal global::System.IntPtr completeDeclaration; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayoutD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); - [FieldOffset(72)] - internal uint definitionOrder; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout11getVFTablesEj")] + internal static extern void GetVFTables(global::System.IntPtr @return, global::System.IntPtr instance, uint i); - [FieldOffset(76)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout11addVFTablesERNS1_11VFTableInfoE")] + internal static extern void AddVFTables(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout13clearVFTablesEv")] + internal static extern void ClearVFTables(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout9getFieldsEj")] + internal static extern void GetFields(global::System.IntPtr @return, global::System.IntPtr instance, uint i); - [FieldOffset(88)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout9addFieldsERNS1_11LayoutFieldE")] + internal static extern void AddFields(global::System.IntPtr instance, global::System.IntPtr s); - [FieldOffset(100)] - internal global::System.IntPtr originalPtr; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout11clearFieldsEv")] + internal static extern void ClearFields(global::System.IntPtr instance); - [FieldOffset(104)] - internal global::System.IntPtr comment; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout8getBasesEj")] + internal static extern void GetBases(global::System.IntPtr @return, global::System.IntPtr instance, uint i); - [FieldOffset(108)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout8addBasesERNS1_10LayoutBaseE")] + internal static extern void AddBases(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefDeclC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout10clearBasesEv")] + internal static extern void ClearBases(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefDeclC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout16getVFTablesCountEv")] + internal static extern uint GetVFTablesCount(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefDeclD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout14getFieldsCountEv")] + internal static extern uint GetFieldsCount(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout13getBasesCountEv")] + internal static extern uint GetBasesCount(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.TypedefDecl __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.ClassLayout __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypedefDecl(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.ClassLayout(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TypedefDecl __CreateInstance(global::CppSharp.Parser.AST.TypedefDecl.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.ClassLayout __CreateInstance(global::CppSharp.Parser.AST.ClassLayout.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypedefDecl(native, skipVTables); + return new global::CppSharp.Parser.AST.ClassLayout(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefDecl.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.ClassLayout.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); - global::CppSharp.Parser.AST.TypedefDecl.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); + global::CppSharp.Parser.AST.ClassLayout.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TypedefDecl(global::CppSharp.Parser.AST.TypedefDecl.__Internal native, bool skipVTables = false) + private ClassLayout(global::CppSharp.Parser.AST.ClassLayout.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TypedefDecl(void* native, bool skipVTables = false) - : base((void*) null) + protected ClassLayout(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public TypedefDecl() - : this((void*) null) + public ClassLayout() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TypedefDecl(global::CppSharp.Parser.AST.TypedefDecl _0) - : this((void*) null) + public ClassLayout(global::CppSharp.Parser.AST.ClassLayout _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -4762,11 +4017,16 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.ClassLayout __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -4774,12 +4034,190 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } + + public global::CppSharp.Parser.AST.VFTableInfo GetVFTables(uint i) + { + var __ret = new global::CppSharp.Parser.AST.VFTableInfo.__Internal(); + __Internal.GetVFTables(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); + return global::CppSharp.Parser.AST.VFTableInfo.__CreateInstance(__ret); + } + + public void AddVFTables(global::CppSharp.Parser.AST.VFTableInfo s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddVFTables((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearVFTables() + { + __Internal.ClearVFTables((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.LayoutField GetFields(uint i) + { + var __ret = new global::CppSharp.Parser.AST.LayoutField.__Internal(); + __Internal.GetFields(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); + return global::CppSharp.Parser.AST.LayoutField.__CreateInstance(__ret); + } + + public void AddFields(global::CppSharp.Parser.AST.LayoutField s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddFields((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearFields() + { + __Internal.ClearFields((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.LayoutBase GetBases(uint i) + { + var __ret = new global::CppSharp.Parser.AST.LayoutBase.__Internal(); + __Internal.GetBases(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); + return global::CppSharp.Parser.AST.LayoutBase.__CreateInstance(__ret); + } + + public void AddBases(global::CppSharp.Parser.AST.LayoutBase s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddBases((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearBases() + { + __Internal.ClearBases((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.CppAbi ABI + { + get + { + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->ABI; + } + + set + { + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->ABI = value; + } + } + + public global::CppSharp.Parser.AST.VTableLayout Layout + { + get + { + return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->layout)); + } + + set + { + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->layout = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.VTableLayout.__Internal() : *(global::CppSharp.Parser.AST.VTableLayout.__Internal*) value.__Instance; + } + } + + public bool HasOwnVFPtr + { + get + { + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->hasOwnVFPtr != 0; + } + + set + { + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->hasOwnVFPtr = (byte) (value ? 1 : 0); + } + } + + public int VBPtrOffset + { + get + { + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->VBPtrOffset; + } + + set + { + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->VBPtrOffset = value; + } + } + + public int Alignment + { + get + { + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->alignment; + } + + set + { + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->alignment = value; + } + } + + public int Size + { + get + { + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->size; + } + + set + { + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->size = value; + } + } + + public int DataSize + { + get + { + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->dataSize; + } + + set + { + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->dataSize = value; + } + } + + public uint VFTablesCount + { + get + { + var __ret = __Internal.GetVFTablesCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + + public uint FieldsCount + { + get + { + var __ret = __Internal.GetFieldsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + + public uint BasesCount + { + get + { + var __ret = __Internal.GetBasesCount((__Instance + __PointerAdjustment)); + return __ret; + } + } } - public unsafe partial class TypedefNameDecl : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class Declaration : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 116)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 108)] + public partial struct __Internal { [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; @@ -4841,71 +4279,112 @@ namespace CppSharp [FieldOffset(104)] internal global::System.IntPtr comment; - [FieldOffset(108)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TypedefNameDeclC2ENS1_15DeclarationKindE")] + EntryPoint="_ZN8CppSharp9CppParser3AST11DeclarationC2ENS1_15DeclarationKindE")] internal static extern void ctor(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TypedefNameDeclC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST11DeclarationC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TypedefNameDeclD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11DeclarationD2Ev")] internal static extern void dtor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration23getPreprocessedEntitiesEj")] + internal static extern global::System.IntPtr GetPreprocessedEntities(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration23addPreprocessedEntitiesERPNS1_18PreprocessedEntityE")] + internal static extern void AddPreprocessedEntities(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration25clearPreprocessedEntitiesEv")] + internal static extern void ClearPreprocessedEntities(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration17getRedeclarationsEj")] + internal static extern global::System.IntPtr GetRedeclarations(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration17addRedeclarationsERPS2_")] + internal static extern void AddRedeclarations(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration19clearRedeclarationsEv")] + internal static extern void ClearRedeclarations(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration28getPreprocessedEntitiesCountEv")] + internal static extern uint GetPreprocessedEntitiesCount(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration22getRedeclarationsCountEv")] + internal static extern uint GetRedeclarationsCount(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.TypedefNameDecl __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.Declaration __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypedefNameDecl(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Declaration(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TypedefNameDecl __CreateInstance(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Declaration __CreateInstance(global::CppSharp.Parser.AST.Declaration.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypedefNameDecl(native, skipVTables); + return new global::CppSharp.Parser.AST.Declaration(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Declaration.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); - global::CppSharp.Parser.AST.TypedefNameDecl.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); + global::CppSharp.Parser.AST.Declaration.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TypedefNameDecl(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal native, bool skipVTables = false) + private Declaration(global::CppSharp.Parser.AST.Declaration.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TypedefNameDecl(void* native, bool skipVTables = false) - : base((void*) null) + protected Declaration(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public TypedefNameDecl(global::CppSharp.Parser.AST.DeclarationKind kind) - : this((void*) null) + public Declaration(global::CppSharp.Parser.AST.DeclarationKind kind) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment), kind); } - public TypedefNameDecl(global::CppSharp.Parser.AST.TypedefNameDecl _0) - : this((void*) null) + public Declaration(global::CppSharp.Parser.AST.Declaration _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -4914,7 +4393,12 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; @@ -4927,201 +4411,339 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public static implicit operator global::CppSharp.Parser.AST.TypedefNameDecl(global::CppSharp.Parser.AST.DeclarationKind kind) + public global::CppSharp.Parser.AST.PreprocessedEntity GetPreprocessedEntities(uint i) + { + var __ret = __Internal.GetPreprocessedEntities((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.PreprocessedEntity __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.PreprocessedEntity.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.PreprocessedEntity) global::CppSharp.Parser.AST.PreprocessedEntity.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.PreprocessedEntity.__CreateInstance(__ret); + return __result0; + } + + public void AddPreprocessedEntities(global::CppSharp.Parser.AST.PreprocessedEntity s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddPreprocessedEntities((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearPreprocessedEntities() + { + __Internal.ClearPreprocessedEntities((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.Declaration GetRedeclarations(uint i) + { + var __ret = __Internal.GetRedeclarations((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Declaration __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(__ret); + return __result0; + } + + public void AddRedeclarations(global::CppSharp.Parser.AST.Declaration s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddRedeclarations((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearRedeclarations() + { + __Internal.ClearRedeclarations((__Instance + __PointerAdjustment)); + } + + public static implicit operator global::CppSharp.Parser.AST.Declaration(global::CppSharp.Parser.AST.DeclarationKind kind) + { + return new global::CppSharp.Parser.AST.Declaration(kind); + } + + public global::CppSharp.Parser.AST.DeclarationKind Kind + { + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->kind; + } + + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->kind = value; + } + } + + public int MaxFieldAlignment + { + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->maxFieldAlignment; + } + + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->maxFieldAlignment = value; + } + } + + public global::CppSharp.Parser.AST.AccessSpecifier Access + { + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->access; + } + + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->access = value; + } + } + + public global::CppSharp.Parser.AST.DeclarationContext Namespace + { + get + { + global::CppSharp.Parser.AST.DeclarationContext __result0; + if (((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.DeclarationContext.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace)) + __result0 = (global::CppSharp.Parser.AST.DeclarationContext) global::CppSharp.Parser.AST.DeclarationContext.NativeToManagedMap[((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace]; + else __result0 = global::CppSharp.Parser.AST.DeclarationContext.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->_namespace = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation Location + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->location); + } + + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->location = value.__Instance; + } + } + + public int LineNumberStart + { + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->lineNumberStart; + } + + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->lineNumberStart = value; + } + } + + public int LineNumberEnd + { + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->lineNumberEnd; + } + + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->lineNumberEnd = value; + } + } + + public string Name { - return new global::CppSharp.Parser.AST.TypedefNameDecl(kind); + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->name)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->name), value); + } } - public global::CppSharp.Parser.AST.QualifiedType QualifiedType + public string USR { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TypedefNameDecl.__Internal*) __Instance)->qualifiedType)); + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->USR)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.TypedefNameDecl.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->USR), value); } } - } - public unsafe partial class TypeAlias : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 120)] - public new partial struct __Internal + public string DebugText { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(12)] - internal global::System.IntPtr _namespace; - - [FieldOffset(16)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(20)] - internal int lineNumberStart; - - [FieldOffset(24)] - internal int lineNumberEnd; - - [FieldOffset(28)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; - - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - - [FieldOffset(52)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; - - [FieldOffset(64)] - internal byte isIncomplete; - - [FieldOffset(65)] - internal byte isDependent; - - [FieldOffset(66)] - internal byte isImplicit; - - [FieldOffset(67)] - internal byte isInvalid; - - [FieldOffset(68)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(72)] - internal uint definitionOrder; - - [FieldOffset(76)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(88)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; - - [FieldOffset(100)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(104)] - internal global::System.IntPtr comment; - - [FieldOffset(108)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - - [FieldOffset(116)] - internal global::System.IntPtr describedAliasTemplate; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9TypeAliasC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9TypeAliasC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->debugText)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9TypeAliasD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->debugText), value); + } } - internal static new global::CppSharp.Parser.AST.TypeAlias __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public bool IsIncomplete { - return new global::CppSharp.Parser.AST.TypeAlias(native.ToPointer(), skipVTables); + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isIncomplete != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isIncomplete = (byte) (value ? 1 : 0); + } } - internal static global::CppSharp.Parser.AST.TypeAlias __CreateInstance(global::CppSharp.Parser.AST.TypeAlias.__Internal native, bool skipVTables = false) + public bool IsDependent { - return new global::CppSharp.Parser.AST.TypeAlias(native, skipVTables); + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isDependent != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isDependent = (byte) (value ? 1 : 0); + } } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypeAlias.__Internal native) + public bool IsImplicit { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); - global::CppSharp.Parser.AST.TypeAlias.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isImplicit != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isImplicit = (byte) (value ? 1 : 0); + } } - private TypeAlias(global::CppSharp.Parser.AST.TypeAlias.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) + public bool IsInvalid { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isInvalid != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isInvalid = (byte) (value ? 1 : 0); + } } - protected TypeAlias(void* native, bool skipVTables = false) - : base((void*) null) + public global::CppSharp.Parser.AST.Declaration CompleteDeclaration { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); + get + { + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->completeDeclaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } } - public TypeAlias() - : this((void*) null) + public uint DefinitionOrder { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->definitionOrder; + } + + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->definitionOrder = value; + } } - public TypeAlias(global::CppSharp.Parser.AST.TypeAlias _0) - : this((void*) null) + public global::System.IntPtr OriginalPtr { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->originalPtr; + } + + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->originalPtr = (global::System.IntPtr) value; + } } - public override void Dispose(bool disposing) + public global::CppSharp.Parser.AST.RawComment Comment { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; + get + { + global::CppSharp.Parser.AST.RawComment __result0; + if (((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.RawComment.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment)) + __result0 = (global::CppSharp.Parser.AST.RawComment) global::CppSharp.Parser.AST.RawComment.NativeToManagedMap[((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment]; + else __result0 = global::CppSharp.Parser.AST.RawComment.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->comment = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } } - public global::CppSharp.Parser.AST.TypeAliasTemplate DescribedAliasTemplate + public uint PreprocessedEntitiesCount { get { - global::CppSharp.Parser.AST.TypeAliasTemplate __result0; - if (((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TypeAliasTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate)) - __result0 = (global::CppSharp.Parser.AST.TypeAliasTemplate) global::CppSharp.Parser.AST.TypeAliasTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate]; - else __result0 = global::CppSharp.Parser.AST.TypeAliasTemplate.__CreateInstance(((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate); - return __result0; + var __ret = __Internal.GetPreprocessedEntitiesCount((__Instance + __PointerAdjustment)); + return __ret; } + } - set + public uint RedeclarationsCount + { + get { - ((global::CppSharp.Parser.AST.TypeAlias.__Internal*)__Instance)->describedAliasTemplate = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + var __ret = __Internal.GetRedeclarationsCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class TypeAliasTemplate : global::CppSharp.Parser.AST.Template, IDisposable + public unsafe partial class DeclarationContext : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 124)] + [StructLayout(LayoutKind.Explicit, Size = 232)] public new partial struct __Internal { [FieldOffset(0)] @@ -5185,207 +4807,259 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(108)] - internal global::System.IntPtr TemplatedDecl; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ Namespaces; - [FieldOffset(112)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Parameters; + [FieldOffset(120)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; + + [FieldOffset(132)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; + + [FieldOffset(144)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; + + [FieldOffset(156)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; + + [FieldOffset(168)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; + + [FieldOffset(180)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ TypeAliases; + + [FieldOffset(192)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ Variables; + + [FieldOffset(204)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ Friends; + + [FieldOffset(216)] + internal global::Std.Map.__Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ anonymous; + + [FieldOffset(228)] + internal byte isAnonymous; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17TypeAliasTemplateC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContextC2ENS1_15DeclarationKindE")] + internal static extern void ctor(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17TypeAliasTemplateC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContextC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17TypeAliasTemplateD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContextD2Ev")] internal static extern void dtor(global::System.IntPtr instance); - } - internal static new global::CppSharp.Parser.AST.TypeAliasTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.TypeAliasTemplate(native.ToPointer(), skipVTables); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext13getNamespacesEj")] + internal static extern global::System.IntPtr GetNamespaces(global::System.IntPtr instance, uint i); - internal static global::CppSharp.Parser.AST.TypeAliasTemplate __CreateInstance(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.TypeAliasTemplate(native, skipVTables); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext13addNamespacesERPNS1_9NamespaceE")] + internal static extern void AddNamespaces(global::System.IntPtr instance, global::System.IntPtr s); - private static void* __CopyValue(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); - global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext15clearNamespacesEv")] + internal static extern void ClearNamespaces(global::System.IntPtr instance); - private TypeAliasTemplate(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext8getEnumsEj")] + internal static extern global::System.IntPtr GetEnums(global::System.IntPtr instance, uint i); - protected TypeAliasTemplate(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext8addEnumsERPNS1_11EnumerationE")] + internal static extern void AddEnums(global::System.IntPtr instance, global::System.IntPtr s); - public TypeAliasTemplate() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10clearEnumsEv")] + internal static extern void ClearEnums(global::System.IntPtr instance); - public TypeAliasTemplate(global::CppSharp.Parser.AST.TypeAliasTemplate _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12getFunctionsEj")] + internal static extern global::System.IntPtr GetFunctions(global::System.IntPtr instance, uint i); - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12addFunctionsERPNS1_8FunctionE")] + internal static extern void AddFunctions(global::System.IntPtr instance, global::System.IntPtr s); - public unsafe partial class Variable : global::CppSharp.Parser.AST.Declaration, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 128)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14clearFunctionsEv")] + internal static extern void ClearFunctions(global::System.IntPtr instance); - [FieldOffset(4)] - internal int maxFieldAlignment; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10getClassesEj")] + internal static extern global::System.IntPtr GetClasses(global::System.IntPtr instance, uint i); - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10addClassesERPNS1_5ClassE")] + internal static extern void AddClasses(global::System.IntPtr instance, global::System.IntPtr s); - [FieldOffset(12)] - internal global::System.IntPtr _namespace; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12clearClassesEv")] + internal static extern void ClearClasses(global::System.IntPtr instance); - [FieldOffset(16)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12getTemplatesEj")] + internal static extern global::System.IntPtr GetTemplates(global::System.IntPtr instance, uint i); - [FieldOffset(20)] - internal int lineNumberStart; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12addTemplatesERPNS1_8TemplateE")] + internal static extern void AddTemplates(global::System.IntPtr instance, global::System.IntPtr s); - [FieldOffset(24)] - internal int lineNumberEnd; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14clearTemplatesEv")] + internal static extern void ClearTemplates(global::System.IntPtr instance); - [FieldOffset(28)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext11getTypedefsEj")] + internal static extern global::System.IntPtr GetTypedefs(global::System.IntPtr instance, uint i); - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext11addTypedefsERPNS1_11TypedefDeclE")] + internal static extern void AddTypedefs(global::System.IntPtr instance, global::System.IntPtr s); - [FieldOffset(52)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext13clearTypedefsEv")] + internal static extern void ClearTypedefs(global::System.IntPtr instance); - [FieldOffset(64)] - internal byte isIncomplete; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14getTypeAliasesEj")] + internal static extern global::System.IntPtr GetTypeAliases(global::System.IntPtr instance, uint i); - [FieldOffset(65)] - internal byte isDependent; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14addTypeAliasesERPNS1_9TypeAliasE")] + internal static extern void AddTypeAliases(global::System.IntPtr instance, global::System.IntPtr s); - [FieldOffset(66)] - internal byte isImplicit; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext16clearTypeAliasesEv")] + internal static extern void ClearTypeAliases(global::System.IntPtr instance); - [FieldOffset(67)] - internal byte isInvalid; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12getVariablesEj")] + internal static extern global::System.IntPtr GetVariables(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12addVariablesERPNS1_8VariableE")] + internal static extern void AddVariables(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14clearVariablesEv")] + internal static extern void ClearVariables(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10getFriendsEj")] + internal static extern global::System.IntPtr GetFriends(global::System.IntPtr instance, uint i); - [FieldOffset(68)] - internal global::System.IntPtr completeDeclaration; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10addFriendsERPNS1_6FriendE")] + internal static extern void AddFriends(global::System.IntPtr instance, global::System.IntPtr s); - [FieldOffset(72)] - internal uint definitionOrder; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12clearFriendsEv")] + internal static extern void ClearFriends(global::System.IntPtr instance); - [FieldOffset(76)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext18getNamespacesCountEv")] + internal static extern uint GetNamespacesCount(global::System.IntPtr instance); - [FieldOffset(88)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext13getEnumsCountEv")] + internal static extern uint GetEnumsCount(global::System.IntPtr instance); - [FieldOffset(100)] - internal global::System.IntPtr originalPtr; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext17getFunctionsCountEv")] + internal static extern uint GetFunctionsCount(global::System.IntPtr instance); - [FieldOffset(104)] - internal global::System.IntPtr comment; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext15getClassesCountEv")] + internal static extern uint GetClassesCount(global::System.IntPtr instance); - [FieldOffset(108)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C mangled; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext17getTemplatesCountEv")] + internal static extern uint GetTemplatesCount(global::System.IntPtr instance); - [FieldOffset(120)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext16getTypedefsCountEv")] + internal static extern uint GetTypedefsCount(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8VariableC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext19getTypeAliasesCountEv")] + internal static extern uint GetTypeAliasesCount(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8VariableC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext17getVariablesCountEv")] + internal static extern uint GetVariablesCount(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8VariableD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext15getFriendsCountEv")] + internal static extern uint GetFriendsCount(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.Variable __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.DeclarationContext __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Variable(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.DeclarationContext(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Variable __CreateInstance(global::CppSharp.Parser.AST.Variable.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.DeclarationContext __CreateInstance(global::CppSharp.Parser.AST.DeclarationContext.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Variable(native, skipVTables); + return new global::CppSharp.Parser.AST.DeclarationContext(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Variable.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.DeclarationContext.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); - global::CppSharp.Parser.AST.Variable.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal)); + global::CppSharp.Parser.AST.DeclarationContext.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Variable(global::CppSharp.Parser.AST.Variable.__Internal native, bool skipVTables = false) + private DeclarationContext(global::CppSharp.Parser.AST.DeclarationContext.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Variable(void* native, bool skipVTables = false) + protected DeclarationContext(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -5394,19 +5068,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Variable() + public DeclarationContext(global::CppSharp.Parser.AST.DeclarationKind kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + __Internal.ctor((__Instance + __PointerAdjustment), kind); } - public Variable(global::CppSharp.Parser.AST.Variable _0) + public DeclarationContext(global::CppSharp.Parser.AST.DeclarationContext _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -5428,366 +5102,325 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public string Mangled + public global::CppSharp.Parser.AST.Namespace GetNamespaces(uint i) { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Variable.__Internal*) __Instance)->mangled)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Variable.__Internal*)__Instance)->mangled), value); - } + var __ret = __Internal.GetNamespaces((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Namespace __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Namespace.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Namespace) global::CppSharp.Parser.AST.Namespace.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Namespace.__CreateInstance(__ret); + return __result0; } - public global::CppSharp.Parser.AST.QualifiedType QualifiedType + public void AddNamespaces(global::CppSharp.Parser.AST.Namespace s) { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Variable.__Internal*) __Instance)->qualifiedType)); - } - - set - { - ((global::CppSharp.Parser.AST.Variable.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddNamespaces((__Instance + __PointerAdjustment), __arg0); } - } - public unsafe partial class Friend : global::CppSharp.Parser.AST.Declaration, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 112)] - public new partial struct __Internal + public void ClearNamespaces() { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(12)] - internal global::System.IntPtr _namespace; - - [FieldOffset(16)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(20)] - internal int lineNumberStart; - - [FieldOffset(24)] - internal int lineNumberEnd; - - [FieldOffset(28)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; - - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - - [FieldOffset(52)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; - - [FieldOffset(64)] - internal byte isIncomplete; - - [FieldOffset(65)] - internal byte isDependent; - - [FieldOffset(66)] - internal byte isImplicit; - - [FieldOffset(67)] - internal byte isInvalid; - - [FieldOffset(68)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(72)] - internal uint definitionOrder; - - [FieldOffset(76)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + __Internal.ClearNamespaces((__Instance + __PointerAdjustment)); + } - [FieldOffset(88)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + public global::CppSharp.Parser.AST.Enumeration GetEnums(uint i) + { + var __ret = __Internal.GetEnums((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Enumeration __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Enumeration.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Enumeration) global::CppSharp.Parser.AST.Enumeration.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Enumeration.__CreateInstance(__ret); + return __result0; + } - [FieldOffset(100)] - internal global::System.IntPtr originalPtr; + public void AddEnums(global::CppSharp.Parser.AST.Enumeration s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddEnums((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(104)] - internal global::System.IntPtr comment; + public void ClearEnums() + { + __Internal.ClearEnums((__Instance + __PointerAdjustment)); + } - [FieldOffset(108)] - internal global::System.IntPtr declaration; + public global::CppSharp.Parser.AST.Function GetFunctions(uint i) + { + var __ret = __Internal.GetFunctions((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Function __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(__ret); + return __result0; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6FriendC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); + public void AddFunctions(global::CppSharp.Parser.AST.Function s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddFunctions((__Instance + __PointerAdjustment), __arg0); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6FriendC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + public void ClearFunctions() + { + __Internal.ClearFunctions((__Instance + __PointerAdjustment)); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6FriendD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); + public global::CppSharp.Parser.AST.Class GetClasses(uint i) + { + var __ret = __Internal.GetClasses((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Class __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(__ret); + return __result0; } - internal static new global::CppSharp.Parser.AST.Friend __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public void AddClasses(global::CppSharp.Parser.AST.Class s) { - return new global::CppSharp.Parser.AST.Friend(native.ToPointer(), skipVTables); + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddClasses((__Instance + __PointerAdjustment), __arg0); } - internal static global::CppSharp.Parser.AST.Friend __CreateInstance(global::CppSharp.Parser.AST.Friend.__Internal native, bool skipVTables = false) + public void ClearClasses() { - return new global::CppSharp.Parser.AST.Friend(native, skipVTables); + __Internal.ClearClasses((__Instance + __PointerAdjustment)); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Friend.__Internal native) + public global::CppSharp.Parser.AST.Template GetTemplates(uint i) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); - global::CppSharp.Parser.AST.Friend.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); + var __ret = __Internal.GetTemplates((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Template __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Template.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Template) global::CppSharp.Parser.AST.Template.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Template.__CreateInstance(__ret); + return __result0; } - private Friend(global::CppSharp.Parser.AST.Friend.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) + public void AddTemplates(global::CppSharp.Parser.AST.Template s) { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddTemplates((__Instance + __PointerAdjustment), __arg0); } - protected Friend(void* native, bool skipVTables = false) - : base((void*) null) + public void ClearTemplates() { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); + __Internal.ClearTemplates((__Instance + __PointerAdjustment)); } - public Friend() - : this((void*) null) + public global::CppSharp.Parser.AST.TypedefDecl GetTypedefs(uint i) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetTypedefs((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.TypedefDecl __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TypedefDecl.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.TypedefDecl) global::CppSharp.Parser.AST.TypedefDecl.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.TypedefDecl.__CreateInstance(__ret); + return __result0; } - public Friend(global::CppSharp.Parser.AST.Friend _0) - : this((void*) null) + public void AddTypedefs(global::CppSharp.Parser.AST.TypedefDecl s) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddTypedefs((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void ClearTypedefs() { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; + __Internal.ClearTypedefs((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.Declaration Declaration + public global::CppSharp.Parser.AST.TypeAlias GetTypeAliases(uint i) { - get - { - global::CppSharp.Parser.AST.Declaration __result0; - if (((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.Friend.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + var __ret = __Internal.GetTypeAliases((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.TypeAlias __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TypeAlias.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.TypeAlias) global::CppSharp.Parser.AST.TypeAlias.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.TypeAlias.__CreateInstance(__ret); + return __result0; } - } - public unsafe partial class BaseClassSpecifier : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 16)] - public partial struct __Internal + public void AddTypeAliases(global::CppSharp.Parser.AST.TypeAlias s) { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(4)] - internal byte isVirtual; - - [FieldOffset(8)] - internal global::System.IntPtr type; - - [FieldOffset(12)] - internal int offset; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18BaseClassSpecifierC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18BaseClassSpecifierC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddTypeAliases((__Instance + __PointerAdjustment), __arg0); } - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; + public void ClearTypeAliases() + { + __Internal.ClearTypeAliases((__Instance + __PointerAdjustment)); + } - internal static global::CppSharp.Parser.AST.BaseClassSpecifier __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::CppSharp.Parser.AST.Variable GetVariables(uint i) { - return new global::CppSharp.Parser.AST.BaseClassSpecifier(native.ToPointer(), skipVTables); + var __ret = __Internal.GetVariables((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Variable __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Variable.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Variable) global::CppSharp.Parser.AST.Variable.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Variable.__CreateInstance(__ret); + return __result0; } - internal static global::CppSharp.Parser.AST.BaseClassSpecifier __CreateInstance(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native, bool skipVTables = false) + public void AddVariables(global::CppSharp.Parser.AST.Variable s) { - return new global::CppSharp.Parser.AST.BaseClassSpecifier(native, skipVTables); + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddVariables((__Instance + __PointerAdjustment), __arg0); } - private static void* __CopyValue(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native) + public void ClearVariables() { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); - *(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) ret = native; - return ret.ToPointer(); + __Internal.ClearVariables((__Instance + __PointerAdjustment)); } - private BaseClassSpecifier(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) + public global::CppSharp.Parser.AST.Friend GetFriends(uint i) { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + var __ret = __Internal.GetFriends((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Friend __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Friend.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Friend) global::CppSharp.Parser.AST.Friend.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Friend.__CreateInstance(__ret); + return __result0; } - protected BaseClassSpecifier(void* native, bool skipVTables = false) + public void AddFriends(global::CppSharp.Parser.AST.Friend s) { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddFriends((__Instance + __PointerAdjustment), __arg0); } - public BaseClassSpecifier() + public void ClearFriends() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + __Internal.ClearFriends((__Instance + __PointerAdjustment)); } - public BaseClassSpecifier(global::CppSharp.Parser.AST.BaseClassSpecifier _0) + public static implicit operator global::CppSharp.Parser.AST.DeclarationContext(global::CppSharp.Parser.AST.DeclarationKind kind) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) _0.__Instance); + return new global::CppSharp.Parser.AST.DeclarationContext(kind); } - public void Dispose() + public bool IsAnonymous { - Dispose(disposing: true); + get + { + return ((global::CppSharp.Parser.AST.DeclarationContext.__Internal*) __Instance)->isAnonymous != 0; + } + + set + { + ((global::CppSharp.Parser.AST.DeclarationContext.__Internal*)__Instance)->isAnonymous = (byte) (value ? 1 : 0); + } } - public virtual void Dispose(bool disposing) + public uint NamespacesCount { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.BaseClassSpecifier __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; + get + { + var __ret = __Internal.GetNamespacesCount((__Instance + __PointerAdjustment)); + return __ret; + } } - public global::CppSharp.Parser.AST.AccessSpecifier Access + public uint EnumsCount { get { - return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->access; + var __ret = __Internal.GetEnumsCount((__Instance + __PointerAdjustment)); + return __ret; } + } - set + public uint FunctionsCount + { + get { - ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->access = value; + var __ret = __Internal.GetFunctionsCount((__Instance + __PointerAdjustment)); + return __ret; } } - public bool IsVirtual + public uint ClassesCount { get { - return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->isVirtual != 0; + var __ret = __Internal.GetClassesCount((__Instance + __PointerAdjustment)); + return __ret; } + } - set + public uint TemplatesCount + { + get { - ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->isVirtual = (byte) (value ? 1 : 0); + var __ret = __Internal.GetTemplatesCount((__Instance + __PointerAdjustment)); + return __ret; } } - public global::CppSharp.Parser.AST.Type Type + public uint TypedefsCount { get { - global::CppSharp.Parser.AST.Type __result0; - if (((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type)) - __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type]; - else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type); - return __result0; + var __ret = __Internal.GetTypedefsCount((__Instance + __PointerAdjustment)); + return __ret; } + } - set + public uint TypeAliasesCount + { + get { - ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + var __ret = __Internal.GetTypeAliasesCount((__Instance + __PointerAdjustment)); + return __ret; } } - public int Offset + public uint VariablesCount { get { - return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->offset; + var __ret = __Internal.GetVariablesCount((__Instance + __PointerAdjustment)); + return __ret; } + } - set + public uint FriendsCount + { + get { - ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->offset = value; + var __ret = __Internal.GetFriendsCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class Field : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class TypedefNameDecl : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 128)] + [StructLayout(LayoutKind.Explicit, Size = 116)] public new partial struct __Internal { [FieldOffset(0)] @@ -5853,56 +5486,47 @@ namespace CppSharp [FieldOffset(108)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - [FieldOffset(116)] - internal global::System.IntPtr _class; - - [FieldOffset(120)] - internal byte isBitField; - - [FieldOffset(124)] - internal uint bitWidth; - [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5FieldC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST15TypedefNameDeclC2ENS1_15DeclarationKindE")] + internal static extern void ctor(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5FieldC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST15TypedefNameDeclC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5FieldD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST15TypedefNameDeclD2Ev")] internal static extern void dtor(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.Field __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TypedefNameDecl __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Field(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TypedefNameDecl(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Field __CreateInstance(global::CppSharp.Parser.AST.Field.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TypedefNameDecl __CreateInstance(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Field(native, skipVTables); + return new global::CppSharp.Parser.AST.TypedefNameDecl(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Field.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); - global::CppSharp.Parser.AST.Field.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); + global::CppSharp.Parser.AST.TypedefNameDecl.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Field(global::CppSharp.Parser.AST.Field.__Internal native, bool skipVTables = false) + private TypedefNameDecl(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Field(void* native, bool skipVTables = false) + protected TypedefNameDecl(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -5911,19 +5535,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Field() + public TypedefNameDecl(global::CppSharp.Parser.AST.DeclarationKind kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + __Internal.ctor((__Instance + __PointerAdjustment), kind); } - public Field(global::CppSharp.Parser.AST.Field _0) + public TypedefNameDecl(global::CppSharp.Parser.AST.TypedefNameDecl _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -5945,67 +5569,28 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.QualifiedType QualifiedType - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->qualifiedType)); - } - - set - { - ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } - } - - public global::CppSharp.Parser.AST.Class Class - { - get - { - global::CppSharp.Parser.AST.Class __result0; - if (((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class)) - __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class]; - else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } - - public bool IsBitField + public static implicit operator global::CppSharp.Parser.AST.TypedefNameDecl(global::CppSharp.Parser.AST.DeclarationKind kind) { - get - { - return ((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->isBitField != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->isBitField = (byte) (value ? 1 : 0); - } + return new global::CppSharp.Parser.AST.TypedefNameDecl(kind); } - public uint BitWidth + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { get { - return ((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->bitWidth; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TypedefNameDecl.__Internal*) __Instance)->qualifiedType)); } set { - ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->bitWidth = value; + ((global::CppSharp.Parser.AST.TypedefNameDecl.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } } - public unsafe partial class Method : global::CppSharp.Parser.AST.Function, IDisposable + public unsafe partial class TypedefDecl : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 360)] + [StructLayout(LayoutKind.Explicit, Size = 116)] public new partial struct __Internal { [FieldOffset(0)] @@ -6038,220 +5623,80 @@ namespace CppSharp [FieldOffset(52)] internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; - [FieldOffset(64)] - internal byte isIncomplete; - - [FieldOffset(65)] - internal byte isDependent; - - [FieldOffset(66)] - internal byte isImplicit; - - [FieldOffset(67)] - internal byte isInvalid; - - [FieldOffset(68)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(72)] - internal uint definitionOrder; - - [FieldOffset(76)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(88)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; - - [FieldOffset(100)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(104)] - internal global::System.IntPtr comment; - - [FieldOffset(108)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ Namespaces; - - [FieldOffset(120)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; - - [FieldOffset(132)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; - - [FieldOffset(144)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; - - [FieldOffset(156)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; - - [FieldOffset(168)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; - - [FieldOffset(180)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ TypeAliases; - - [FieldOffset(192)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ Variables; - - [FieldOffset(204)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ Friends; - - [FieldOffset(216)] - internal global::Std.Map.__Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ anonymous; - - [FieldOffset(228)] - internal byte isAnonymous; - - [FieldOffset(232)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; - - [FieldOffset(240)] - internal byte isReturnIndirect; - - [FieldOffset(241)] - internal byte hasThisReturn; - - [FieldOffset(242)] - internal byte isConstExpr; - - [FieldOffset(243)] - internal byte isVariadic; - - [FieldOffset(244)] - internal byte isInline; - - [FieldOffset(245)] - internal byte isPure; - - [FieldOffset(246)] - internal byte isDeleted; - - [FieldOffset(247)] - internal byte isDefaulted; - - [FieldOffset(248)] - internal global::CppSharp.Parser.AST.FriendKind friendKind; - - [FieldOffset(252)] - internal global::CppSharp.Parser.AST.CXXOperatorKind operatorKind; - - [FieldOffset(256)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C mangled; - - [FieldOffset(268)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C signature; - - [FieldOffset(280)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C body; - - [FieldOffset(292)] - internal global::CppSharp.Parser.AST.CallingConvention callingConvention; - - [FieldOffset(296)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_N___1_S_allocator__S0_ Parameters; - - [FieldOffset(308)] - internal global::System.IntPtr specializationInfo; - - [FieldOffset(312)] - internal global::System.IntPtr instantiatedFrom; - - [FieldOffset(316)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - - [FieldOffset(324)] - internal byte isVirtual; - - [FieldOffset(325)] - internal byte isStatic; + [FieldOffset(64)] + internal byte isIncomplete; - [FieldOffset(326)] - internal byte isConst; + [FieldOffset(65)] + internal byte isDependent; - [FieldOffset(327)] - internal byte isExplicit; + [FieldOffset(66)] + internal byte isImplicit; - [FieldOffset(328)] - internal global::CppSharp.Parser.AST.CXXMethodKind methodKind; + [FieldOffset(67)] + internal byte isInvalid; - [FieldOffset(332)] - internal byte isDefaultConstructor; + [FieldOffset(68)] + internal global::System.IntPtr completeDeclaration; - [FieldOffset(333)] - internal byte isCopyConstructor; + [FieldOffset(72)] + internal uint definitionOrder; - [FieldOffset(334)] - internal byte isMoveConstructor; + [FieldOffset(76)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; - [FieldOffset(336)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal conversionType; + [FieldOffset(88)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; - [FieldOffset(344)] - internal global::CppSharp.Parser.AST.RefQualifierKind refQualifier; + [FieldOffset(100)] + internal global::System.IntPtr originalPtr; - [FieldOffset(348)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_N___1_S_allocator__S0_ OverriddenMethods; + [FieldOffset(104)] + internal global::System.IntPtr comment; + + [FieldOffset(108)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6MethodC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefDeclC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6MethodC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefDeclC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6MethodD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefDeclD2Ev")] internal static extern void dtor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6Method20getOverriddenMethodsEj")] - internal static extern global::System.IntPtr GetOverriddenMethods(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6Method20addOverriddenMethodsERPS2_")] - internal static extern void AddOverriddenMethods(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6Method22clearOverriddenMethodsEv")] - internal static extern void ClearOverriddenMethods(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6Method25getOverriddenMethodsCountEv")] - internal static extern uint GetOverriddenMethodsCount(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.Method __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TypedefDecl __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Method(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TypedefDecl(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Method __CreateInstance(global::CppSharp.Parser.AST.Method.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TypedefDecl __CreateInstance(global::CppSharp.Parser.AST.TypedefDecl.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Method(native, skipVTables); + return new global::CppSharp.Parser.AST.TypedefDecl(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Method.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefDecl.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); - global::CppSharp.Parser.AST.Method.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); + global::CppSharp.Parser.AST.TypedefDecl.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Method(global::CppSharp.Parser.AST.Method.__Internal native, bool skipVTables = false) + private TypedefDecl(global::CppSharp.Parser.AST.TypedefDecl.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Method(void* native, bool skipVTables = false) + protected TypedefDecl(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -6260,19 +5705,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Method() + public TypedefDecl() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public Method(global::CppSharp.Parser.AST.Method _0) + public TypedefDecl(global::CppSharp.Parser.AST.TypedefDecl _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -6293,174 +5738,184 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } + } - public global::CppSharp.Parser.AST.Method GetOverriddenMethods(uint i) + public unsafe partial class TypeAlias : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 120)] + public new partial struct __Internal { - var __ret = __Internal.GetOverriddenMethods((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Method __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Method.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Method) global::CppSharp.Parser.AST.Method.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Method.__CreateInstance(__ret); - return __result0; - } + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; - public void AddOverriddenMethods(global::CppSharp.Parser.AST.Method s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddOverriddenMethods((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(4)] + internal int maxFieldAlignment; - public void ClearOverriddenMethods() - { - __Internal.ClearOverriddenMethods((__Instance + __PointerAdjustment)); - } + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; - public bool IsVirtual - { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isVirtual != 0; - } + [FieldOffset(12)] + internal global::System.IntPtr _namespace; - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isVirtual = (byte) (value ? 1 : 0); - } - } + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; - public bool IsStatic - { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isStatic != 0; - } + [FieldOffset(20)] + internal int lineNumberStart; - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isStatic = (byte) (value ? 1 : 0); - } - } + [FieldOffset(24)] + internal int lineNumberEnd; - public bool IsConst - { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isConst != 0; - } + [FieldOffset(28)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isConst = (byte) (value ? 1 : 0); - } - } + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - public bool IsExplicit - { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isExplicit != 0; - } + [FieldOffset(52)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isExplicit = (byte) (value ? 1 : 0); - } - } + [FieldOffset(64)] + internal byte isIncomplete; - public global::CppSharp.Parser.AST.CXXMethodKind MethodKind - { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->methodKind; - } + [FieldOffset(65)] + internal byte isDependent; - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->methodKind = value; - } + [FieldOffset(66)] + internal byte isImplicit; + + [FieldOffset(67)] + internal byte isInvalid; + + [FieldOffset(68)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(72)] + internal uint definitionOrder; + + [FieldOffset(76)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(88)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(100)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(104)] + internal global::System.IntPtr comment; + + [FieldOffset(108)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(116)] + internal global::System.IntPtr describedAliasTemplate; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9TypeAliasC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9TypeAliasC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9TypeAliasD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); } - public bool IsDefaultConstructor + internal static new global::CppSharp.Parser.AST.TypeAlias __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isDefaultConstructor != 0; - } + return new global::CppSharp.Parser.AST.TypeAlias(native.ToPointer(), skipVTables); + } - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isDefaultConstructor = (byte) (value ? 1 : 0); - } + internal static global::CppSharp.Parser.AST.TypeAlias __CreateInstance(global::CppSharp.Parser.AST.TypeAlias.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.TypeAlias(native, skipVTables); } - public bool IsCopyConstructor + private static void* __CopyValue(global::CppSharp.Parser.AST.TypeAlias.__Internal native) { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isCopyConstructor != 0; - } + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); + global::CppSharp.Parser.AST.TypeAlias.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isCopyConstructor = (byte) (value ? 1 : 0); - } + private TypeAlias(global::CppSharp.Parser.AST.TypeAlias.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; } - public bool IsMoveConstructor + protected TypeAlias(void* native, bool skipVTables = false) + : base((void*) null) { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isMoveConstructor != 0; - } + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isMoveConstructor = (byte) (value ? 1 : 0); - } + public TypeAlias() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.QualifiedType ConversionType + public TypeAlias(global::CppSharp.Parser.AST.TypeAlias _0) + : this((void*) null) { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->conversionType)); - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->conversionType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.RefQualifierKind RefQualifier + public global::CppSharp.Parser.AST.TypeAliasTemplate DescribedAliasTemplate { get { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->refQualifier; + global::CppSharp.Parser.AST.TypeAliasTemplate __result0; + if (((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TypeAliasTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate)) + __result0 = (global::CppSharp.Parser.AST.TypeAliasTemplate) global::CppSharp.Parser.AST.TypeAliasTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate]; + else __result0 = global::CppSharp.Parser.AST.TypeAliasTemplate.__CreateInstance(((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate); + return __result0; } set { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->refQualifier = value; - } - } - - public uint OverriddenMethodsCount - { - get - { - var __ret = __Internal.GetOverriddenMethodsCount((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.TypeAlias.__Internal*)__Instance)->describedAliasTemplate = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } - public unsafe partial class Parameter : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class Friend : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 128)] + [StructLayout(LayoutKind.Explicit, Size = 112)] public new partial struct __Internal { [FieldOffset(0)] @@ -6524,61 +5979,49 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(108)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - - [FieldOffset(116)] - internal byte isIndirect; - - [FieldOffset(117)] - internal byte hasDefaultValue; - - [FieldOffset(120)] - internal uint index; - - [FieldOffset(124)] - internal global::System.IntPtr defaultArgument; + internal global::System.IntPtr declaration; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9ParameterC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST6FriendC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9ParameterC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST6FriendC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9ParameterD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST6FriendD2Ev")] internal static extern void dtor(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.Parameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Friend __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Parameter(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Friend(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Parameter __CreateInstance(global::CppSharp.Parser.AST.Parameter.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Friend __CreateInstance(global::CppSharp.Parser.AST.Friend.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Parameter(native, skipVTables); + return new global::CppSharp.Parser.AST.Friend(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Parameter.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Friend.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); - global::CppSharp.Parser.AST.Parameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); + global::CppSharp.Parser.AST.Friend.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Parameter(global::CppSharp.Parser.AST.Parameter.__Internal native, bool skipVTables = false) + private Friend(global::CppSharp.Parser.AST.Friend.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Parameter(void* native, bool skipVTables = false) + protected Friend(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -6587,19 +6030,144 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Parameter() + public Friend() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public Friend(global::CppSharp.Parser.AST.Friend _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Declaration Declaration + { + get + { + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.Friend.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class Statement : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 20)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StatementClass _class; + + [FieldOffset(4)] + internal global::System.IntPtr decl; + + [FieldOffset(8)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C @string; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9StatementC2ERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEENS1_14StatementClassEPNS1_11DeclarationE")] + internal static extern void ctor(global::System.IntPtr instance, global::System.IntPtr str, global::CppSharp.Parser.AST.StatementClass Class, global::System.IntPtr decl); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9StatementC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9StatementD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.Statement __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Statement(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.Statement __CreateInstance(global::CppSharp.Parser.AST.Statement.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Statement(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.Statement.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Statement.__Internal)); + global::CppSharp.Parser.AST.Statement.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private Statement(global::CppSharp.Parser.AST.Statement.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Statement(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public Statement(string str, global::CppSharp.Parser.AST.StatementClass Class, global::CppSharp.Parser.AST.Declaration decl) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Statement.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, str); + var __arg0 = __basicString0.__Instance; + var __arg2 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; + __Internal.ctor((__Instance + __PointerAdjustment), __arg0, Class, __arg2); + __basicString0.Dispose(false); } - public Parameter(global::CppSharp.Parser.AST.Parameter _0) - : this((void*) null) + public Statement(global::CppSharp.Parser.AST.Statement _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Statement.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -6608,11 +6176,16 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.Statement __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -6621,73 +6194,50 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.QualifiedType QualifiedType - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->qualifiedType)); - } - - set - { - ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } - } - - public bool IsIndirect - { - get - { - return ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->isIndirect != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->isIndirect = (byte) (value ? 1 : 0); - } - } - - public bool HasDefaultValue + public global::CppSharp.Parser.AST.StatementClass Class { get { - return ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->hasDefaultValue != 0; + return ((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->_class; } set { - ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->hasDefaultValue = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Statement.__Internal*)__Instance)->_class = value; } } - public uint Index + public global::CppSharp.Parser.AST.Declaration Decl { get { - return ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->index; + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->decl == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->decl)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->decl]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->decl); + return __result0; } set { - ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->index = value; + ((global::CppSharp.Parser.AST.Statement.__Internal*)__Instance)->decl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public global::CppSharp.Parser.AST.Expression DefaultArgument + public string String { get { - global::CppSharp.Parser.AST.Expression __result0; - if (((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgument == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgument)) - __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgument]; - else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgument); - return __result0; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->@string)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->defaultArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Statement.__Internal*)__Instance)->@string), value); } } } @@ -6795,10 +6345,10 @@ namespace CppSharp } } - public unsafe partial class Statement : IDisposable + public unsafe partial class BinaryOperator : global::CppSharp.Parser.AST.Expression, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 20)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 40)] + public new partial struct __Internal { [FieldOffset(0)] internal global::CppSharp.Parser.AST.StatementClass _class; @@ -6809,77 +6359,87 @@ namespace CppSharp [FieldOffset(8)] internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C @string; + [FieldOffset(20)] + internal global::System.IntPtr LHS; + + [FieldOffset(24)] + internal global::System.IntPtr RHS; + + [FieldOffset(28)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C opcodeStr; + [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9StatementC2ERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEENS1_14StatementClassEPNS1_11DeclarationE")] - internal static extern void ctor(global::System.IntPtr instance, global::System.IntPtr str, global::CppSharp.Parser.AST.StatementClass Class, global::System.IntPtr decl); + EntryPoint="_ZN8CppSharp9CppParser3AST14BinaryOperatorC2ERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEPNS1_10ExpressionESD_SB_")] + internal static extern void ctor(global::System.IntPtr instance, global::System.IntPtr str, global::System.IntPtr lhs, global::System.IntPtr rhs, global::System.IntPtr opcodeStr); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9StatementC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST14BinaryOperatorC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9StatementD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST14BinaryOperatorD2Ev")] internal static extern void dtor(global::System.IntPtr instance); } - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.Statement __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.BinaryOperator __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Statement(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.BinaryOperator(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Statement __CreateInstance(global::CppSharp.Parser.AST.Statement.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.BinaryOperator __CreateInstance(global::CppSharp.Parser.AST.BinaryOperator.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Statement(native, skipVTables); + return new global::CppSharp.Parser.AST.BinaryOperator(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Statement.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.BinaryOperator.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Statement.__Internal)); - global::CppSharp.Parser.AST.Statement.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); + global::CppSharp.Parser.AST.BinaryOperator.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Statement(global::CppSharp.Parser.AST.Statement.__Internal native, bool skipVTables = false) + private BinaryOperator(global::CppSharp.Parser.AST.BinaryOperator.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Statement(void* native, bool skipVTables = false) + protected BinaryOperator(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public Statement(string str, global::CppSharp.Parser.AST.StatementClass Class, global::CppSharp.Parser.AST.Declaration decl) + public BinaryOperator(string str, global::CppSharp.Parser.AST.Expression lhs, global::CppSharp.Parser.AST.Expression rhs, string opcodeStr) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Statement.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); global::Std.BasicStringExtensions.Assign(__basicString0, str); var __arg0 = __basicString0.__Instance; - var __arg2 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; - __Internal.ctor((__Instance + __PointerAdjustment), __arg0, Class, __arg2); + var __arg1 = ReferenceEquals(lhs, null) ? global::System.IntPtr.Zero : lhs.__Instance; + var __arg2 = ReferenceEquals(rhs, null) ? global::System.IntPtr.Zero : rhs.__Instance; + var __basicString3 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString3, opcodeStr); + var __arg3 = __basicString3.__Instance; + __Internal.ctor((__Instance + __PointerAdjustment), __arg0, __arg1, __arg2, __arg3); __basicString0.Dispose(false); + __basicString3.Dispose(false); } - public Statement(global::CppSharp.Parser.AST.Statement _0) + public BinaryOperator(global::CppSharp.Parser.AST.BinaryOperator _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Statement.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -6888,12 +6448,7 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; @@ -6906,42 +6461,47 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.StatementClass Class + public global::CppSharp.Parser.AST.Expression LHS { get { - return ((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->_class; + global::CppSharp.Parser.AST.Expression __result0; + if (((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->LHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->LHS)) + __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->LHS]; + else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->LHS); + return __result0; } set { - ((global::CppSharp.Parser.AST.Statement.__Internal*)__Instance)->_class = value; + ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->LHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public global::CppSharp.Parser.AST.Declaration Decl + public global::CppSharp.Parser.AST.Expression RHS { get { - global::CppSharp.Parser.AST.Declaration __result0; - if (((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->decl == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->decl)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->decl]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->decl); + global::CppSharp.Parser.AST.Expression __result0; + if (((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->RHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->RHS)) + __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->RHS]; + else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->RHS); return __result0; } set { - ((global::CppSharp.Parser.AST.Statement.__Internal*)__Instance)->decl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->RHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public string String + public string OpcodeStr { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->@string)); + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->opcodeStr)); var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); __basicStringRet0.Dispose(false); return __stringRet0; @@ -6949,114 +6509,115 @@ namespace CppSharp set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Statement.__Internal*)__Instance)->@string), value); + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->opcodeStr), value); } } } - public unsafe partial class FunctionTemplateSpecialization : IDisposable + public unsafe partial class CallExpr : global::CppSharp.Parser.AST.Expression, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 24)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::System.IntPtr _template; + internal global::CppSharp.Parser.AST.StatementClass _class; [FieldOffset(4)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_N___1_S_allocator__S0_ Arguments; + internal global::System.IntPtr decl; - [FieldOffset(16)] - internal global::System.IntPtr specializedFunction; + [FieldOffset(8)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C @string; [FieldOffset(20)] - internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expression___N_std_N___1_S_allocator__S0_ Arguments; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecializationC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExprC2ERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEPNS1_11DeclarationE")] + internal static extern void ctor(global::System.IntPtr instance, global::System.IntPtr str, global::System.IntPtr decl); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecializationC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExprC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecializationD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExprD2Ev")] internal static extern void dtor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization12getArgumentsEj")] - internal static extern void GetArguments(global::System.IntPtr @return, global::System.IntPtr instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr12getArgumentsEj")] + internal static extern global::System.IntPtr GetArguments(global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization12addArgumentsERNS1_16TemplateArgumentE")] + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr12addArgumentsERPNS1_10ExpressionE")] internal static extern void AddArguments(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization14clearArgumentsEv")] + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr14clearArgumentsEv")] internal static extern void ClearArguments(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization17getArgumentsCountEv")] + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr17getArgumentsCountEv")] internal static extern uint GetArgumentsCount(global::System.IntPtr instance); } - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.FunctionTemplateSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.CallExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.FunctionTemplateSpecialization(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.CallExpr(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.FunctionTemplateSpecialization __CreateInstance(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.CallExpr __CreateInstance(global::CppSharp.Parser.AST.CallExpr.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.FunctionTemplateSpecialization(native, skipVTables); + return new global::CppSharp.Parser.AST.CallExpr(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.CallExpr.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); - global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); + global::CppSharp.Parser.AST.CallExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private FunctionTemplateSpecialization(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal native, bool skipVTables = false) + private CallExpr(global::CppSharp.Parser.AST.CallExpr.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected FunctionTemplateSpecialization(void* native, bool skipVTables = false) + protected CallExpr(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public FunctionTemplateSpecialization() + public CallExpr(string str, global::CppSharp.Parser.AST.Declaration decl) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, str); + var __arg0 = __basicString0.__Instance; + var __arg1 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; + __Internal.ctor((__Instance + __PointerAdjustment), __arg0, __arg1); + __basicString0.Dispose(false); } - public FunctionTemplateSpecialization(global::CppSharp.Parser.AST.FunctionTemplateSpecialization _0) + public CallExpr(global::CppSharp.Parser.AST.CallExpr _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -7065,16 +6626,11 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.FunctionTemplateSpecialization __dummy; + global::CppSharp.Parser.AST.Statement __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -7083,14 +6639,18 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) + public global::CppSharp.Parser.AST.Expression GetArguments(uint i) { - var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); - __Internal.GetArguments(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); + var __ret = __Internal.GetArguments((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Expression __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(__ret); + return __result0; } - public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) + public void AddArguments(global::CppSharp.Parser.AST.Expression s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); @@ -7103,55 +6663,6 @@ namespace CppSharp __Internal.ClearArguments((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.FunctionTemplate Template - { - get - { - global::CppSharp.Parser.AST.FunctionTemplate __result0; - if (((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.FunctionTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template)) - __result0 = (global::CppSharp.Parser.AST.FunctionTemplate) global::CppSharp.Parser.AST.FunctionTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template]; - else __result0 = global::CppSharp.Parser.AST.FunctionTemplate.__CreateInstance(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*)__Instance)->_template = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } - - public global::CppSharp.Parser.AST.Function SpecializedFunction - { - get - { - global::CppSharp.Parser.AST.Function __result0; - if (((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction)) - __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction]; - else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*)__Instance)->specializedFunction = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } - - public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind - { - get - { - return ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializationKind; - } - - set - { - ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*)__Instance)->specializationKind = value; - } - } - public uint ArgumentsCount { get @@ -7162,146 +6673,84 @@ namespace CppSharp } } - public unsafe partial class FunctionTemplate : global::CppSharp.Parser.AST.Template, IDisposable + public unsafe partial class CXXConstructExpr : global::CppSharp.Parser.AST.Expression, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 136)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + internal global::CppSharp.Parser.AST.StatementClass _class; [FieldOffset(4)] - internal int maxFieldAlignment; + internal global::System.IntPtr decl; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(12)] - internal global::System.IntPtr _namespace; - - [FieldOffset(16)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C @string; [FieldOffset(20)] - internal int lineNumberStart; - - [FieldOffset(24)] - internal int lineNumberEnd; - - [FieldOffset(28)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; - - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - - [FieldOffset(52)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; - - [FieldOffset(64)] - internal byte isIncomplete; - - [FieldOffset(65)] - internal byte isDependent; - - [FieldOffset(66)] - internal byte isImplicit; - - [FieldOffset(67)] - internal byte isInvalid; - - [FieldOffset(68)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(72)] - internal uint definitionOrder; - - [FieldOffset(76)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(88)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; - - [FieldOffset(100)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(104)] - internal global::System.IntPtr comment; - - [FieldOffset(108)] - internal global::System.IntPtr TemplatedDecl; - - [FieldOffset(112)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Parameters; - - [FieldOffset(124)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_FunctionTemplateSpecialization___N_std_N___1_S_allocator__S0_ Specializations; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expression___N_std_N___1_S_allocator__S0_ Arguments; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplateC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExprC2ERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEPNS1_11DeclarationE")] + internal static extern void ctor(global::System.IntPtr instance, global::System.IntPtr str, global::System.IntPtr decl); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplateC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExprC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplateD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExprD2Ev")] internal static extern void dtor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate18getSpecializationsEj")] - internal static extern global::System.IntPtr GetSpecializations(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate18addSpecializationsERPNS1_30FunctionTemplateSpecializationE")] - internal static extern void AddSpecializations(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr12getArgumentsEj")] + internal static extern global::System.IntPtr GetArguments(global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate20clearSpecializationsEv")] - internal static extern void ClearSpecializations(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr12addArgumentsERPNS1_10ExpressionE")] + internal static extern void AddArguments(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate18FindSpecializationERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEE")] - internal static extern global::System.IntPtr FindSpecialization(global::System.IntPtr instance, global::System.IntPtr usr); + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr14clearArgumentsEv")] + internal static extern void ClearArguments(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate23getSpecializationsCountEv")] - internal static extern uint GetSpecializationsCount(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr17getArgumentsCountEv")] + internal static extern uint GetArgumentsCount(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.FunctionTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.CXXConstructExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.FunctionTemplate(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.CXXConstructExpr(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.FunctionTemplate __CreateInstance(global::CppSharp.Parser.AST.FunctionTemplate.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.CXXConstructExpr __CreateInstance(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.FunctionTemplate(native, skipVTables); + return new global::CppSharp.Parser.AST.CXXConstructExpr(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionTemplate.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); - global::CppSharp.Parser.AST.FunctionTemplate.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); + global::CppSharp.Parser.AST.CXXConstructExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private FunctionTemplate(global::CppSharp.Parser.AST.FunctionTemplate.__Internal native, bool skipVTables = false) + private CXXConstructExpr(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected FunctionTemplate(void* native, bool skipVTables = false) + protected CXXConstructExpr(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -7310,19 +6759,24 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public FunctionTemplate() + public CXXConstructExpr(string str, global::CppSharp.Parser.AST.Declaration decl) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, str); + var __arg0 = __basicString0.__Instance; + var __arg1 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; + __Internal.ctor((__Instance + __PointerAdjustment), __arg0, __arg1); + __basicString0.Dispose(false); } - public FunctionTemplate(global::CppSharp.Parser.AST.FunctionTemplate _0) + public CXXConstructExpr(global::CppSharp.Parser.AST.CXXConstructExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -7335,7 +6789,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.Statement __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -7344,227 +6798,277 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.FunctionTemplateSpecialization GetSpecializations(uint i) + public global::CppSharp.Parser.AST.Expression GetArguments(uint i) { - var __ret = __Internal.GetSpecializations((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.FunctionTemplateSpecialization __result0; + var __ret = __Internal.GetArguments((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Expression __result0; if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.FunctionTemplateSpecialization) global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__CreateInstance(__ret); + else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(__ret); return __result0; } - public void AddSpecializations(global::CppSharp.Parser.AST.FunctionTemplateSpecialization s) + public void AddArguments(global::CppSharp.Parser.AST.Expression s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddSpecializations((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearSpecializations() - { - __Internal.ClearSpecializations((__Instance + __PointerAdjustment)); + __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.FunctionTemplateSpecialization FindSpecialization(string usr) + public void ClearArguments() { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, usr); - var __arg0 = __basicString0.__Instance; - var __ret = __Internal.FindSpecialization((__Instance + __PointerAdjustment), __arg0); - __basicString0.Dispose(false); - global::CppSharp.Parser.AST.FunctionTemplateSpecialization __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.FunctionTemplateSpecialization) global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__CreateInstance(__ret); - return __result0; + __Internal.ClearArguments((__Instance + __PointerAdjustment)); } - public uint SpecializationsCount + public uint ArgumentsCount { get { - var __ret = __Internal.GetSpecializationsCount((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class TemplateArgument : IDisposable + public unsafe partial class Parameter : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 20)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 128)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TemplateArgument.ArgumentKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal int maxFieldAlignment; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(12)] - internal global::System.IntPtr declaration; + internal global::System.IntPtr _namespace; [FieldOffset(16)] - internal int integral; + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(20)] + internal int lineNumberStart; + + [FieldOffset(24)] + internal int lineNumberEnd; + + [FieldOffset(28)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + + [FieldOffset(52)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(64)] + internal byte isIncomplete; + + [FieldOffset(65)] + internal byte isDependent; + + [FieldOffset(66)] + internal byte isImplicit; + + [FieldOffset(67)] + internal byte isInvalid; + + [FieldOffset(68)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(72)] + internal uint definitionOrder; + + [FieldOffset(76)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(88)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(100)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(104)] + internal global::System.IntPtr comment; + + [FieldOffset(108)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(116)] + internal byte isIndirect; + + [FieldOffset(117)] + internal byte hasDefaultValue; + + [FieldOffset(120)] + internal uint index; + + [FieldOffset(124)] + internal global::System.IntPtr defaultArgument; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16TemplateArgumentC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST9ParameterC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16TemplateArgumentC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST9ParameterC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - } - public enum ArgumentKind - { - Type = 0, - Declaration = 1, - NullPtr = 2, - Integral = 3, - Template = 4, - TemplateExpansion = 5, - Expression = 6, - Pack = 7 + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9ParameterD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); } - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.TemplateArgument __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Parameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateArgument(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Parameter(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TemplateArgument __CreateInstance(global::CppSharp.Parser.AST.TemplateArgument.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Parameter __CreateInstance(global::CppSharp.Parser.AST.Parameter.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateArgument(native, skipVTables); + return new global::CppSharp.Parser.AST.Parameter(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateArgument.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Parameter.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); - *(global::CppSharp.Parser.AST.TemplateArgument.__Internal*) ret = native; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); + global::CppSharp.Parser.AST.Parameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateArgument(global::CppSharp.Parser.AST.TemplateArgument.__Internal native, bool skipVTables = false) + private Parameter(global::CppSharp.Parser.AST.Parameter.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TemplateArgument(void* native, bool skipVTables = false) + protected Parameter(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public TemplateArgument() + public Parameter() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TemplateArgument(global::CppSharp.Parser.AST.TemplateArgument _0) + public Parameter(global::CppSharp.Parser.AST.Parameter _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) _0.__Instance); - } - - public void Dispose() - { - Dispose(disposing: true); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.TemplateArgument __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.TemplateArgument.ArgumentKind Kind + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { get { - return ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->kind; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->qualifiedType)); } set { - ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->kind = value; + ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public global::CppSharp.Parser.AST.QualifiedType Type + public bool IsIndirect { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->type)); + return ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->isIndirect != 0; } set { - ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->isIndirect = (byte) (value ? 1 : 0); } } - public global::CppSharp.Parser.AST.Declaration Declaration + public bool HasDefaultValue { get { - global::CppSharp.Parser.AST.Declaration __result0; - if (((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration); - return __result0; + return ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->hasDefaultValue != 0; } set { - ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->hasDefaultValue = (byte) (value ? 1 : 0); } } - public int Integral + public uint Index { get { - return ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->integral; + return ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->index; } set { - ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->integral = value; + ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->index = value; + } + } + + public global::CppSharp.Parser.AST.Expression DefaultArgument + { + get + { + global::CppSharp.Parser.AST.Expression __result0; + if (((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgument == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgument)) + __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgument]; + else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgument); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->defaultArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } - public unsafe partial class AccessSpecifierDecl : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class Function : global::CppSharp.Parser.AST.DeclarationContext, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 108)] + [StructLayout(LayoutKind.Explicit, Size = 324)] public new partial struct __Internal { [FieldOffset(0)] @@ -7627,1259 +7131,1309 @@ namespace CppSharp [FieldOffset(104)] internal global::System.IntPtr comment; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19AccessSpecifierDeclC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19AccessSpecifierDeclC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + [FieldOffset(108)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ Namespaces; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19AccessSpecifierDeclD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); - } + [FieldOffset(120)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; - internal static new global::CppSharp.Parser.AST.AccessSpecifierDecl __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.AccessSpecifierDecl(native.ToPointer(), skipVTables); - } + [FieldOffset(132)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; - internal static global::CppSharp.Parser.AST.AccessSpecifierDecl __CreateInstance(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.AccessSpecifierDecl(native, skipVTables); - } + [FieldOffset(144)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; - private static void* __CopyValue(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); - global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + [FieldOffset(156)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; - private AccessSpecifierDecl(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + [FieldOffset(168)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; - protected AccessSpecifierDecl(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [FieldOffset(180)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ TypeAliases; - public AccessSpecifierDecl() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } + [FieldOffset(192)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ Variables; - public AccessSpecifierDecl(global::CppSharp.Parser.AST.AccessSpecifierDecl _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(204)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ Friends; - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - } + [FieldOffset(216)] + internal global::Std.Map.__Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ anonymous; - public unsafe partial class ClassLayout : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 72)] - public partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CppAbi ABI; + [FieldOffset(228)] + internal byte isAnonymous; - [FieldOffset(4)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_VFTableInfo___N_std_N___1_S_allocator__S0_ VFTables; + [FieldOffset(232)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; - [FieldOffset(16)] - internal global::CppSharp.Parser.AST.VTableLayout.__Internal layout; + [FieldOffset(240)] + internal byte isReturnIndirect; - [FieldOffset(28)] - internal byte hasOwnVFPtr; + [FieldOffset(241)] + internal byte hasThisReturn; - [FieldOffset(32)] - internal int VBPtrOffset; + [FieldOffset(242)] + internal byte isConstExpr; - [FieldOffset(36)] - internal int alignment; + [FieldOffset(243)] + internal byte isVariadic; - [FieldOffset(40)] - internal int size; + [FieldOffset(244)] + internal byte isInline; - [FieldOffset(44)] - internal int dataSize; + [FieldOffset(245)] + internal byte isPure; - [FieldOffset(48)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_LayoutField___N_std_N___1_S_allocator__S0_ Fields; + [FieldOffset(246)] + internal byte isDeleted; - [FieldOffset(60)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_LayoutBase___N_std_N___1_S_allocator__S0_ Bases; + [FieldOffset(247)] + internal byte isDefaulted; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayoutC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); + [FieldOffset(248)] + internal global::CppSharp.Parser.AST.FriendKind friendKind; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayoutC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + [FieldOffset(252)] + internal global::CppSharp.Parser.AST.CXXOperatorKind operatorKind; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayoutD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); + [FieldOffset(256)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C mangled; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout11getVFTablesEj")] - internal static extern void GetVFTables(global::System.IntPtr @return, global::System.IntPtr instance, uint i); + [FieldOffset(268)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C signature; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout11addVFTablesERNS1_11VFTableInfoE")] - internal static extern void AddVFTables(global::System.IntPtr instance, global::System.IntPtr s); + [FieldOffset(280)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C body; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout13clearVFTablesEv")] - internal static extern void ClearVFTables(global::System.IntPtr instance); + [FieldOffset(292)] + internal global::CppSharp.Parser.AST.CallingConvention callingConvention; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout9getFieldsEj")] - internal static extern void GetFields(global::System.IntPtr @return, global::System.IntPtr instance, uint i); + [FieldOffset(296)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_N___1_S_allocator__S0_ Parameters; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout9addFieldsERNS1_11LayoutFieldE")] - internal static extern void AddFields(global::System.IntPtr instance, global::System.IntPtr s); + [FieldOffset(308)] + internal global::System.IntPtr specializationInfo; + + [FieldOffset(312)] + internal global::System.IntPtr instantiatedFrom; + + [FieldOffset(316)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout11clearFieldsEv")] - internal static extern void ClearFields(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST8FunctionC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout8getBasesEj")] - internal static extern void GetBases(global::System.IntPtr @return, global::System.IntPtr instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST8FunctionC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout8addBasesERNS1_10LayoutBaseE")] - internal static extern void AddBases(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST8FunctionD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout10clearBasesEv")] - internal static extern void ClearBases(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST8Function13getParametersEj")] + internal static extern global::System.IntPtr GetParameters(global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout16getVFTablesCountEv")] - internal static extern uint GetVFTablesCount(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST8Function13addParametersERPNS1_9ParameterE")] + internal static extern void AddParameters(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout14getFieldsCountEv")] - internal static extern uint GetFieldsCount(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST8Function15clearParametersEv")] + internal static extern void ClearParameters(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout13getBasesCountEv")] - internal static extern uint GetBasesCount(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST8Function18getParametersCountEv")] + internal static extern uint GetParametersCount(global::System.IntPtr instance); } - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.ClassLayout __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Function __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ClassLayout(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Function(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.ClassLayout __CreateInstance(global::CppSharp.Parser.AST.ClassLayout.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Function __CreateInstance(global::CppSharp.Parser.AST.Function.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ClassLayout(native, skipVTables); + return new global::CppSharp.Parser.AST.Function(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.ClassLayout.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Function.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); - global::CppSharp.Parser.AST.ClassLayout.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); + global::CppSharp.Parser.AST.Function.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private ClassLayout(global::CppSharp.Parser.AST.ClassLayout.__Internal native, bool skipVTables = false) + private Function(global::CppSharp.Parser.AST.Function.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected ClassLayout(void* native, bool skipVTables = false) + protected Function(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public ClassLayout() + public Function() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public ClassLayout(global::CppSharp.Parser.AST.ClassLayout _0) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } - - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.ClassLayout __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - - public global::CppSharp.Parser.AST.VFTableInfo GetVFTables(uint i) - { - var __ret = new global::CppSharp.Parser.AST.VFTableInfo.__Internal(); - __Internal.GetVFTables(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.VFTableInfo.__CreateInstance(__ret); - } - - public void AddVFTables(global::CppSharp.Parser.AST.VFTableInfo s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddVFTables((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearVFTables() - { - __Internal.ClearVFTables((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.LayoutField GetFields(uint i) - { - var __ret = new global::CppSharp.Parser.AST.LayoutField.__Internal(); - __Internal.GetFields(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.LayoutField.__CreateInstance(__ret); - } - - public void AddFields(global::CppSharp.Parser.AST.LayoutField s) + public Function(global::CppSharp.Parser.AST.Function _0) + : this((void*) null) { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddFields((__Instance + __PointerAdjustment), __arg0); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public void ClearFields() + public override void Dispose(bool disposing) { - __Internal.ClearFields((__Instance + __PointerAdjustment)); + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.LayoutBase GetBases(uint i) + public global::CppSharp.Parser.AST.Parameter GetParameters(uint i) { - var __ret = new global::CppSharp.Parser.AST.LayoutBase.__Internal(); - __Internal.GetBases(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.LayoutBase.__CreateInstance(__ret); + var __ret = __Internal.GetParameters((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Parameter __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Parameter.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Parameter) global::CppSharp.Parser.AST.Parameter.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Parameter.__CreateInstance(__ret); + return __result0; } - public void AddBases(global::CppSharp.Parser.AST.LayoutBase s) + public void AddParameters(global::CppSharp.Parser.AST.Parameter s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddBases((__Instance + __PointerAdjustment), __arg0); + __Internal.AddParameters((__Instance + __PointerAdjustment), __arg0); } - public void ClearBases() + public void ClearParameters() { - __Internal.ClearBases((__Instance + __PointerAdjustment)); + __Internal.ClearParameters((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.CppAbi ABI + public global::CppSharp.Parser.AST.QualifiedType ReturnType { get { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->ABI; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->returnType)); } set { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->ABI = value; + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->returnType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public global::CppSharp.Parser.AST.VTableLayout Layout + public bool IsReturnIndirect { get { - return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->layout)); + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isReturnIndirect != 0; } set { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->layout = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.VTableLayout.__Internal() : *(global::CppSharp.Parser.AST.VTableLayout.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isReturnIndirect = (byte) (value ? 1 : 0); } } - public bool HasOwnVFPtr + public bool HasThisReturn { get { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->hasOwnVFPtr != 0; + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->hasThisReturn != 0; } set { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->hasOwnVFPtr = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->hasThisReturn = (byte) (value ? 1 : 0); } } - public int VBPtrOffset + public bool IsConstExpr { get { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->VBPtrOffset; + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isConstExpr != 0; } set { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->VBPtrOffset = value; + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isConstExpr = (byte) (value ? 1 : 0); } } - public int Alignment + public bool IsVariadic { get { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->alignment; + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isVariadic != 0; } set { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->alignment = value; + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isVariadic = (byte) (value ? 1 : 0); } } - public int Size + public bool IsInline { get { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->size; + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isInline != 0; } set { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->size = value; + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isInline = (byte) (value ? 1 : 0); } } - public int DataSize + public bool IsPure { get { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->dataSize; + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isPure != 0; } set { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->dataSize = value; + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isPure = (byte) (value ? 1 : 0); } } - public uint VFTablesCount + public bool IsDeleted { get { - var __ret = __Internal.GetVFTablesCount((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isDeleted != 0; } - } - public uint FieldsCount - { - get + set { - var __ret = __Internal.GetFieldsCount((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isDeleted = (byte) (value ? 1 : 0); } } - public uint BasesCount + public bool IsDefaulted { get { - var __ret = __Internal.GetBasesCount((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isDefaulted != 0; } - } - } - - public unsafe partial class VFTableInfo : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 28)] - public partial struct __Internal - { - [FieldOffset(0)] - internal ulong VBTableIndex; - - [FieldOffset(8)] - internal uint VFPtrOffset; - - [FieldOffset(12)] - internal uint VFPtrFullOffset; - - [FieldOffset(16)] - internal global::CppSharp.Parser.AST.VTableLayout.__Internal layout; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VFTableInfoC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VFTableInfoC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VFTableInfoD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isDefaulted = (byte) (value ? 1 : 0); + } } - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.VFTableInfo __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::CppSharp.Parser.AST.FriendKind FriendKind { - return new global::CppSharp.Parser.AST.VFTableInfo(native.ToPointer(), skipVTables); - } + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->friendKind; + } - internal static global::CppSharp.Parser.AST.VFTableInfo __CreateInstance(global::CppSharp.Parser.AST.VFTableInfo.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.VFTableInfo(native, skipVTables); + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->friendKind = value; + } } - private static void* __CopyValue(global::CppSharp.Parser.AST.VFTableInfo.__Internal native) + public global::CppSharp.Parser.AST.CXXOperatorKind OperatorKind { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); - global::CppSharp.Parser.AST.VFTableInfo.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->operatorKind; + } - private VFTableInfo(global::CppSharp.Parser.AST.VFTableInfo.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->operatorKind = value; + } } - protected VFTableInfo(void* native, bool skipVTables = false) + public string Mangled { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->mangled)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } - public VFTableInfo() - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->mangled), value); + } } - public VFTableInfo(global::CppSharp.Parser.AST.VFTableInfo _0) + public string Signature { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->signature)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } - public void Dispose() - { - Dispose(disposing: true); + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->signature), value); + } } - public virtual void Dispose(bool disposing) + public string Body { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.VFTableInfo __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->body)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->body), value); + } } - public ulong VBTableIndex + public global::CppSharp.Parser.AST.CallingConvention CallingConvention { get { - return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VBTableIndex; + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->callingConvention; } set { - ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->VBTableIndex = value; + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->callingConvention = value; } } - public uint VFPtrOffset + public global::CppSharp.Parser.AST.FunctionTemplateSpecialization SpecializationInfo { get { - return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VFPtrOffset; + global::CppSharp.Parser.AST.FunctionTemplateSpecialization __result0; + if (((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo)) + __result0 = (global::CppSharp.Parser.AST.FunctionTemplateSpecialization) global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap[((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo]; + else __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__CreateInstance(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo); + return __result0; } set { - ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->VFPtrOffset = value; + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->specializationInfo = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public uint VFPtrFullOffset + public global::CppSharp.Parser.AST.Function InstantiatedFrom { get { - return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VFPtrFullOffset; + global::CppSharp.Parser.AST.Function __result0; + if (((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom)) + __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom]; + else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom); + return __result0; } set { - ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->VFPtrFullOffset = value; + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->instantiatedFrom = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public global::CppSharp.Parser.AST.VTableLayout Layout + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { get { - return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->layout)); + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->qualifiedType)); } set { - ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->layout = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.VTableLayout.__Internal() : *(global::CppSharp.Parser.AST.VTableLayout.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public uint ParametersCount + { + get + { + var __ret = __Internal.GetParametersCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class VTableLayout : IDisposable + public unsafe partial class Method : global::CppSharp.Parser.AST.Function, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 12)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 360)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_VTableComponent___N_std_N___1_S_allocator__S0_ Components; + internal global::CppSharp.Parser.AST.DeclarationKind kind; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayoutC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); + [FieldOffset(4)] + internal int maxFieldAlignment; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayoutC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayoutD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); + [FieldOffset(12)] + internal global::System.IntPtr _namespace; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayout13getComponentsEj")] - internal static extern void GetComponents(global::System.IntPtr @return, global::System.IntPtr instance, uint i); + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayout13addComponentsERNS1_15VTableComponentE")] - internal static extern void AddComponents(global::System.IntPtr instance, global::System.IntPtr s); + [FieldOffset(20)] + internal int lineNumberStart; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayout15clearComponentsEv")] - internal static extern void ClearComponents(global::System.IntPtr instance); + [FieldOffset(24)] + internal int lineNumberEnd; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayout18getComponentsCountEv")] - internal static extern uint GetComponentsCount(global::System.IntPtr instance); - } + [FieldOffset(28)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; - public global::System.IntPtr __Instance { get; protected set; } + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; + [FieldOffset(52)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; - protected bool __ownsNativeInstance; + [FieldOffset(64)] + internal byte isIncomplete; - internal static global::CppSharp.Parser.AST.VTableLayout __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.VTableLayout(native.ToPointer(), skipVTables); - } + [FieldOffset(65)] + internal byte isDependent; - internal static global::CppSharp.Parser.AST.VTableLayout __CreateInstance(global::CppSharp.Parser.AST.VTableLayout.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.VTableLayout(native, skipVTables); - } + [FieldOffset(66)] + internal byte isImplicit; - private static void* __CopyValue(global::CppSharp.Parser.AST.VTableLayout.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); - global::CppSharp.Parser.AST.VTableLayout.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + [FieldOffset(67)] + internal byte isInvalid; - private VTableLayout(global::CppSharp.Parser.AST.VTableLayout.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + [FieldOffset(68)] + internal global::System.IntPtr completeDeclaration; - protected VTableLayout(void* native, bool skipVTables = false) - { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [FieldOffset(72)] + internal uint definitionOrder; - public VTableLayout() - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } + [FieldOffset(76)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; - public VTableLayout(global::CppSharp.Parser.AST.VTableLayout _0) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(88)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(100)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(104)] + internal global::System.IntPtr comment; + + [FieldOffset(108)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ Namespaces; + + [FieldOffset(120)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; + + [FieldOffset(132)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; + + [FieldOffset(144)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; + + [FieldOffset(156)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; + + [FieldOffset(168)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; + + [FieldOffset(180)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ TypeAliases; + + [FieldOffset(192)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ Variables; + + [FieldOffset(204)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ Friends; + + [FieldOffset(216)] + internal global::Std.Map.__Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ anonymous; + + [FieldOffset(228)] + internal byte isAnonymous; + + [FieldOffset(232)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; + + [FieldOffset(240)] + internal byte isReturnIndirect; + + [FieldOffset(241)] + internal byte hasThisReturn; + + [FieldOffset(242)] + internal byte isConstExpr; + + [FieldOffset(243)] + internal byte isVariadic; + + [FieldOffset(244)] + internal byte isInline; + + [FieldOffset(245)] + internal byte isPure; + + [FieldOffset(246)] + internal byte isDeleted; + + [FieldOffset(247)] + internal byte isDefaulted; + + [FieldOffset(248)] + internal global::CppSharp.Parser.AST.FriendKind friendKind; + + [FieldOffset(252)] + internal global::CppSharp.Parser.AST.CXXOperatorKind operatorKind; + + [FieldOffset(256)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C mangled; + + [FieldOffset(268)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C signature; + + [FieldOffset(280)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C body; + + [FieldOffset(292)] + internal global::CppSharp.Parser.AST.CallingConvention callingConvention; + + [FieldOffset(296)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_N___1_S_allocator__S0_ Parameters; + + [FieldOffset(308)] + internal global::System.IntPtr specializationInfo; + + [FieldOffset(312)] + internal global::System.IntPtr instantiatedFrom; + + [FieldOffset(316)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - public void Dispose() - { - Dispose(disposing: true); - } + [FieldOffset(324)] + internal byte isVirtual; - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.VTableLayout __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } + [FieldOffset(325)] + internal byte isStatic; - public global::CppSharp.Parser.AST.VTableComponent GetComponents(uint i) - { - var __ret = new global::CppSharp.Parser.AST.VTableComponent.__Internal(); - __Internal.GetComponents(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.VTableComponent.__CreateInstance(__ret); - } + [FieldOffset(326)] + internal byte isConst; - public void AddComponents(global::CppSharp.Parser.AST.VTableComponent s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddComponents((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(327)] + internal byte isExplicit; - public void ClearComponents() - { - __Internal.ClearComponents((__Instance + __PointerAdjustment)); - } + [FieldOffset(328)] + internal global::CppSharp.Parser.AST.CXXMethodKind methodKind; - public uint ComponentsCount - { - get - { - var __ret = __Internal.GetComponentsCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - } + [FieldOffset(332)] + internal byte isDefaultConstructor; - public unsafe partial class VTableComponent : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 12)] - public partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.VTableComponentKind kind; + [FieldOffset(333)] + internal byte isCopyConstructor; - [FieldOffset(4)] - internal uint offset; + [FieldOffset(334)] + internal byte isMoveConstructor; - [FieldOffset(8)] - internal global::System.IntPtr declaration; + [FieldOffset(336)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal conversionType; + + [FieldOffset(344)] + internal global::CppSharp.Parser.AST.RefQualifierKind refQualifier; + + [FieldOffset(348)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_N___1_S_allocator__S0_ OverriddenMethods; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15VTableComponentC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST6MethodC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15VTableComponentC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST6MethodC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - } - public global::System.IntPtr __Instance { get; protected set; } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST6MethodD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST6Method20getOverriddenMethodsEj")] + internal static extern global::System.IntPtr GetOverriddenMethods(global::System.IntPtr instance, uint i); - protected bool __ownsNativeInstance; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST6Method20addOverriddenMethodsERPS2_")] + internal static extern void AddOverriddenMethods(global::System.IntPtr instance, global::System.IntPtr s); - internal static global::CppSharp.Parser.AST.VTableComponent __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST6Method22clearOverriddenMethodsEv")] + internal static extern void ClearOverriddenMethods(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST6Method25getOverriddenMethodsCountEv")] + internal static extern uint GetOverriddenMethodsCount(global::System.IntPtr instance); + } + + internal static new global::CppSharp.Parser.AST.Method __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VTableComponent(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Method(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.VTableComponent __CreateInstance(global::CppSharp.Parser.AST.VTableComponent.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Method __CreateInstance(global::CppSharp.Parser.AST.Method.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VTableComponent(native, skipVTables); + return new global::CppSharp.Parser.AST.Method(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.VTableComponent.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Method.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); - *(global::CppSharp.Parser.AST.VTableComponent.__Internal*) ret = native; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); + global::CppSharp.Parser.AST.Method.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private VTableComponent(global::CppSharp.Parser.AST.VTableComponent.__Internal native, bool skipVTables = false) + private Method(global::CppSharp.Parser.AST.Method.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected VTableComponent(void* native, bool skipVTables = false) + protected Method(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public VTableComponent() + public Method() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public VTableComponent(global::CppSharp.Parser.AST.VTableComponent _0) + public Method(global::CppSharp.Parser.AST.Method _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.VTableComponent.__Internal*) _0.__Instance); - } - - public void Dispose() - { - Dispose(disposing: true); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.VTableComponent __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.VTableComponentKind Kind + public global::CppSharp.Parser.AST.Method GetOverriddenMethods(uint i) { - get - { - return ((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->kind; - } - - set - { - ((global::CppSharp.Parser.AST.VTableComponent.__Internal*)__Instance)->kind = value; - } + var __ret = __Internal.GetOverriddenMethods((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Method __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Method.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Method) global::CppSharp.Parser.AST.Method.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Method.__CreateInstance(__ret); + return __result0; } - public uint Offset + public void AddOverriddenMethods(global::CppSharp.Parser.AST.Method s) { - get - { - return ((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->offset; - } + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddOverriddenMethods((__Instance + __PointerAdjustment), __arg0); + } - set - { - ((global::CppSharp.Parser.AST.VTableComponent.__Internal*)__Instance)->offset = value; - } + public void ClearOverriddenMethods() + { + __Internal.ClearOverriddenMethods((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.Declaration Declaration + public bool IsVirtual { get { - global::CppSharp.Parser.AST.Declaration __result0; - if (((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration); - return __result0; + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isVirtual != 0; } set { - ((global::CppSharp.Parser.AST.VTableComponent.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } - } - - public unsafe partial class LayoutField : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 28)] - public partial struct __Internal - { - [FieldOffset(0)] - internal uint offset; - - [FieldOffset(4)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; - - [FieldOffset(16)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - - [FieldOffset(24)] - internal global::System.IntPtr fieldPtr; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutFieldC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutFieldC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr other); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutFieldD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); - } - - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.LayoutField __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.LayoutField(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.LayoutField __CreateInstance(global::CppSharp.Parser.AST.LayoutField.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.LayoutField(native, skipVTables); + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isVirtual = (byte) (value ? 1 : 0); + } } - private static void* __CopyValue(global::CppSharp.Parser.AST.LayoutField.__Internal native) + public bool IsStatic { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); - global::CppSharp.Parser.AST.LayoutField.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isStatic != 0; + } - private LayoutField(global::CppSharp.Parser.AST.LayoutField.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isStatic = (byte) (value ? 1 : 0); + } } - protected LayoutField(void* native, bool skipVTables = false) + public bool IsConst { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isConst != 0; + } - public LayoutField() - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isConst = (byte) (value ? 1 : 0); + } } - public LayoutField(global::CppSharp.Parser.AST.LayoutField other) + public bool IsExplicit { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(other, null)) - throw new global::System.ArgumentNullException("other", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = other.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isExplicit != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isExplicit = (byte) (value ? 1 : 0); + } } - public void Dispose() + public global::CppSharp.Parser.AST.CXXMethodKind MethodKind { - Dispose(disposing: true); + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->methodKind; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->methodKind = value; + } } - public virtual void Dispose(bool disposing) + public bool IsDefaultConstructor { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.LayoutField __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isDefaultConstructor != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isDefaultConstructor = (byte) (value ? 1 : 0); + } } - public uint Offset + public bool IsCopyConstructor { get { - return ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->offset; + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isCopyConstructor != 0; } set { - ((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->offset = value; + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isCopyConstructor = (byte) (value ? 1 : 0); } } - public string Name + public bool IsMoveConstructor { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->name)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isMoveConstructor != 0; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->name), value); + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isMoveConstructor = (byte) (value ? 1 : 0); } } - public global::CppSharp.Parser.AST.QualifiedType QualifiedType + public global::CppSharp.Parser.AST.QualifiedType ConversionType { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->qualifiedType)); + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->conversionType)); } set { - ((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->conversionType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public global::System.IntPtr FieldPtr + public global::CppSharp.Parser.AST.RefQualifierKind RefQualifier { get { - return ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->fieldPtr; + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->refQualifier; } set { - ((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->fieldPtr = (global::System.IntPtr) value; + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->refQualifier = value; + } + } + + public uint OverriddenMethodsCount + { + get + { + var __ret = __Internal.GetOverriddenMethodsCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class LayoutBase : IDisposable + public unsafe partial class Enumeration : global::CppSharp.Parser.AST.DeclarationContext, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 8)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 256)] + public new partial struct __Internal { [FieldOffset(0)] - internal uint offset; + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(12)] + internal global::System.IntPtr _namespace; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(20)] + internal int lineNumberStart; + + [FieldOffset(24)] + internal int lineNumberEnd; + + [FieldOffset(28)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + + [FieldOffset(52)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(64)] + internal byte isIncomplete; + + [FieldOffset(65)] + internal byte isDependent; + + [FieldOffset(66)] + internal byte isImplicit; + + [FieldOffset(67)] + internal byte isInvalid; + + [FieldOffset(68)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(72)] + internal uint definitionOrder; + + [FieldOffset(76)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(88)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(100)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(104)] + internal global::System.IntPtr comment; + + [FieldOffset(108)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ Namespaces; + + [FieldOffset(120)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; + + [FieldOffset(132)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; + + [FieldOffset(144)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; + + [FieldOffset(156)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; + + [FieldOffset(168)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; + + [FieldOffset(180)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ TypeAliases; + + [FieldOffset(192)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ Variables; + + [FieldOffset(204)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ Friends; + + [FieldOffset(216)] + internal global::Std.Map.__Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ anonymous; + + [FieldOffset(228)] + internal byte isAnonymous; + + [FieldOffset(232)] + internal global::CppSharp.Parser.AST.Enumeration.EnumModifiers modifiers; + + [FieldOffset(236)] + internal global::System.IntPtr type; + + [FieldOffset(240)] + internal global::System.IntPtr builtinType; + + [FieldOffset(244)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration_S_Item___N_std_N___1_S_allocator__S0_ Items; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11EnumerationC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11EnumerationC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11EnumerationD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration8getItemsEj")] + internal static extern global::System.IntPtr GetItems(global::System.IntPtr instance, uint i); - [FieldOffset(4)] - internal global::System.IntPtr _class; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration8addItemsERPNS2_4ItemE")] + internal static extern void AddItems(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10LayoutBaseC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration10clearItemsEv")] + internal static extern void ClearItems(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10LayoutBaseC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr other); + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration14FindItemByNameERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEE")] + internal static extern global::System.IntPtr FindItemByName(global::System.IntPtr instance, global::System.IntPtr Name); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10LayoutBaseD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration13getItemsCountEv")] + internal static extern uint GetItemsCount(global::System.IntPtr instance); } - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.LayoutBase __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + [Flags] + public enum EnumModifiers { - return new global::CppSharp.Parser.AST.LayoutBase(native.ToPointer(), skipVTables); + Anonymous = 1, + Scoped = 2, + Flags = 4 } - internal static global::CppSharp.Parser.AST.LayoutBase __CreateInstance(global::CppSharp.Parser.AST.LayoutBase.__Internal native, bool skipVTables = false) + public unsafe partial class Item : global::CppSharp.Parser.AST.Declaration, IDisposable { - return new global::CppSharp.Parser.AST.LayoutBase(native, skipVTables); - } + [StructLayout(LayoutKind.Explicit, Size = 128)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; - private static void* __CopyValue(global::CppSharp.Parser.AST.LayoutBase.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); - global::CppSharp.Parser.AST.LayoutBase.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + [FieldOffset(4)] + internal int maxFieldAlignment; - private LayoutBase(global::CppSharp.Parser.AST.LayoutBase.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; - protected LayoutBase(void* native, bool skipVTables = false) - { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [FieldOffset(12)] + internal global::System.IntPtr _namespace; - public LayoutBase() - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; - public LayoutBase(global::CppSharp.Parser.AST.LayoutBase other) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(other, null)) - throw new global::System.ArgumentNullException("other", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = other.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(20)] + internal int lineNumberStart; - public void Dispose() - { - Dispose(disposing: true); - } + [FieldOffset(24)] + internal int lineNumberEnd; - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.LayoutBase __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } + [FieldOffset(28)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; - public uint Offset - { - get + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + + [FieldOffset(52)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(64)] + internal byte isIncomplete; + + [FieldOffset(65)] + internal byte isDependent; + + [FieldOffset(66)] + internal byte isImplicit; + + [FieldOffset(67)] + internal byte isInvalid; + + [FieldOffset(68)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(72)] + internal uint definitionOrder; + + [FieldOffset(76)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(88)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(100)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(104)] + internal global::System.IntPtr comment; + + [FieldOffset(108)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C expression; + + [FieldOffset(120)] + internal ulong value; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4ItemC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4ItemC2ERKS3_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4ItemD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); + } + + internal static new global::CppSharp.Parser.AST.Enumeration.Item __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return ((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->offset; + return new global::CppSharp.Parser.AST.Enumeration.Item(native.ToPointer(), skipVTables); } - set + internal static global::CppSharp.Parser.AST.Enumeration.Item __CreateInstance(global::CppSharp.Parser.AST.Enumeration.Item.__Internal native, bool skipVTables = false) { - ((global::CppSharp.Parser.AST.LayoutBase.__Internal*)__Instance)->offset = value; + return new global::CppSharp.Parser.AST.Enumeration.Item(native, skipVTables); } - } - public global::CppSharp.Parser.AST.Class Class - { - get + private static void* __CopyValue(global::CppSharp.Parser.AST.Enumeration.Item.__Internal native) { - global::CppSharp.Parser.AST.Class __result0; - if (((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class)) - __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class]; - else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class); - return __result0; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); + global::CppSharp.Parser.AST.Enumeration.Item.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); } - set + private Item(global::CppSharp.Parser.AST.Enumeration.Item.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - ((global::CppSharp.Parser.AST.LayoutBase.__Internal*)__Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; } - } - } - public unsafe partial class BuiltinType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 12)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + protected Item(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(4)] - internal byte isDependent; + public Item() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public Item(global::CppSharp.Parser.AST.Enumeration.Item _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public string Expression + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*) __Instance)->expression)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.PrimitiveType type; + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*)__Instance)->expression), value); + } + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11BuiltinTypeC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); + public ulong Value + { + get + { + return ((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*) __Instance)->value; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11BuiltinTypeC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + set + { + ((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*)__Instance)->value = value; + } + } } - internal static new global::CppSharp.Parser.AST.BuiltinType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Enumeration __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.BuiltinType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Enumeration(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.BuiltinType __CreateInstance(global::CppSharp.Parser.AST.BuiltinType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Enumeration __CreateInstance(global::CppSharp.Parser.AST.Enumeration.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.BuiltinType(native, skipVTables); + return new global::CppSharp.Parser.AST.Enumeration(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.BuiltinType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Enumeration.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); - global::CppSharp.Parser.AST.BuiltinType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); + global::CppSharp.Parser.AST.Enumeration.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private BuiltinType(global::CppSharp.Parser.AST.BuiltinType.__Internal native, bool skipVTables = false) + private Enumeration(global::CppSharp.Parser.AST.Enumeration.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected BuiltinType(void* native, bool skipVTables = false) + protected Enumeration(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -8888,19 +8442,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public BuiltinType() + public Enumeration() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public BuiltinType(global::CppSharp.Parser.AST.BuiltinType _0) + public Enumeration(global::CppSharp.Parser.AST.Enumeration _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -8909,185 +8463,229 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.PrimitiveType Type + public override void Dispose(bool disposing) { - get - { - return ((global::CppSharp.Parser.AST.BuiltinType.__Internal*) __Instance)->type; - } - - set - { - ((global::CppSharp.Parser.AST.BuiltinType.__Internal*)__Instance)->type = value; - } + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; } - } - public unsafe partial class TagType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 12)] - public new partial struct __Internal + public global::CppSharp.Parser.AST.Enumeration.Item GetItems(uint i) { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - internal byte isDependent; - - [FieldOffset(8)] - internal global::System.IntPtr declaration; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST7TagTypeC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST7TagTypeC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + var __ret = __Internal.GetItems((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Enumeration.Item __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Enumeration.Item) global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Enumeration.Item.__CreateInstance(__ret); + return __result0; } - internal static new global::CppSharp.Parser.AST.TagType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public void AddItems(global::CppSharp.Parser.AST.Enumeration.Item s) { - return new global::CppSharp.Parser.AST.TagType(native.ToPointer(), skipVTables); + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddItems((__Instance + __PointerAdjustment), __arg0); } - internal static global::CppSharp.Parser.AST.TagType __CreateInstance(global::CppSharp.Parser.AST.TagType.__Internal native, bool skipVTables = false) + public void ClearItems() { - return new global::CppSharp.Parser.AST.TagType(native, skipVTables); + __Internal.ClearItems((__Instance + __PointerAdjustment)); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TagType.__Internal native) + public global::CppSharp.Parser.AST.Enumeration.Item FindItemByName(string Name) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); - global::CppSharp.Parser.AST.TagType.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, Name); + var __arg0 = __basicString0.__Instance; + var __ret = __Internal.FindItemByName((__Instance + __PointerAdjustment), __arg0); + __basicString0.Dispose(false); + global::CppSharp.Parser.AST.Enumeration.Item __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Enumeration.Item) global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Enumeration.Item.__CreateInstance(__ret); + return __result0; } - private TagType(global::CppSharp.Parser.AST.TagType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) + public global::CppSharp.Parser.AST.Enumeration.EnumModifiers Modifiers { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + get + { + return ((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->modifiers; + } - protected TagType(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); + set + { + ((global::CppSharp.Parser.AST.Enumeration.__Internal*)__Instance)->modifiers = value; + } } - public TagType() - : this((void*) null) + public global::CppSharp.Parser.AST.Type Type { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + get + { + global::CppSharp.Parser.AST.Type __result0; + if (((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type)) + __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type]; + else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.Enumeration.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } } - public TagType(global::CppSharp.Parser.AST.TagType _0) - : this((void*) null) + public global::CppSharp.Parser.AST.BuiltinType BuiltinType { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + get + { + global::CppSharp.Parser.AST.BuiltinType __result0; + if (((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.BuiltinType.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType)) + __result0 = (global::CppSharp.Parser.AST.BuiltinType) global::CppSharp.Parser.AST.BuiltinType.NativeToManagedMap[((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType]; + else __result0 = global::CppSharp.Parser.AST.BuiltinType.__CreateInstance(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.Enumeration.__Internal*)__Instance)->builtinType = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } } - public global::CppSharp.Parser.AST.Declaration Declaration + public uint ItemsCount { get { - global::CppSharp.Parser.AST.Declaration __result0; - if (((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration); - return __result0; + var __ret = __Internal.GetItemsCount((__Instance + __PointerAdjustment)); + return __ret; } + } + } + + public unsafe partial class Variable : global::CppSharp.Parser.AST.Declaration, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 128)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(12)] + internal global::System.IntPtr _namespace; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(20)] + internal int lineNumberStart; + + [FieldOffset(24)] + internal int lineNumberEnd; + + [FieldOffset(28)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + + [FieldOffset(52)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(64)] + internal byte isIncomplete; + + [FieldOffset(65)] + internal byte isDependent; + + [FieldOffset(66)] + internal byte isImplicit; + + [FieldOffset(67)] + internal byte isInvalid; - set - { - ((global::CppSharp.Parser.AST.TagType.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } - } + [FieldOffset(68)] + internal global::System.IntPtr completeDeclaration; - public unsafe partial class ArrayType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 28)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + [FieldOffset(72)] + internal uint definitionOrder; - [FieldOffset(4)] - internal byte isDependent; + [FieldOffset(76)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + [FieldOffset(88)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; - [FieldOffset(16)] - internal global::CppSharp.Parser.AST.ArrayType.ArraySize sizeType; + [FieldOffset(100)] + internal global::System.IntPtr originalPtr; - [FieldOffset(20)] - internal int size; + [FieldOffset(104)] + internal global::System.IntPtr comment; - [FieldOffset(24)] - internal int elementSize; + [FieldOffset(108)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C mangled; + + [FieldOffset(120)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9ArrayTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST8VariableC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9ArrayTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST8VariableC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - } - public enum ArraySize - { - Constant = 0, - Variable = 1, - Dependent = 2, - Incomplete = 3 + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8VariableD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.ArrayType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Variable __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ArrayType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Variable(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.ArrayType __CreateInstance(global::CppSharp.Parser.AST.ArrayType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Variable __CreateInstance(global::CppSharp.Parser.AST.Variable.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ArrayType(native, skipVTables); + return new global::CppSharp.Parser.AST.Variable(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.ArrayType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Variable.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); - global::CppSharp.Parser.AST.ArrayType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); + global::CppSharp.Parser.AST.Variable.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private ArrayType(global::CppSharp.Parser.AST.ArrayType.__Internal native, bool skipVTables = false) + private Variable(global::CppSharp.Parser.AST.Variable.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected ArrayType(void* native, bool skipVTables = false) + protected Variable(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -9096,19 +8694,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public ArrayType() + public Variable() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public ArrayType(global::CppSharp.Parser.AST.ArrayType _0) + public Variable(global::CppSharp.Parser.AST.Variable _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -9117,319 +8715,324 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType QualifiedType - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->qualifiedType)); - } - - set - { - ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } - } - - public global::CppSharp.Parser.AST.ArrayType.ArraySize SizeType + public override void Dispose(bool disposing) { - get - { - return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->sizeType; - } - - set - { - ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->sizeType = value; - } + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; } - public int Size + public string Mangled { get { - return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->size; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Variable.__Internal*) __Instance)->mangled)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->size = value; + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Variable.__Internal*)__Instance)->mangled), value); } } - public int ElementSize + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { get { - return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->elementSize; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Variable.__Internal*) __Instance)->qualifiedType)); } set { - ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->elementSize = value; + ((global::CppSharp.Parser.AST.Variable.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } } - public unsafe partial class FunctionType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class BaseClassSpecifier : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 36)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 16)] + public partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(4)] - internal byte isDependent; + internal byte isVirtual; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; - - [FieldOffset(16)] - internal global::CppSharp.Parser.AST.CallingConvention callingConvention; - - [FieldOffset(20)] - internal global::CppSharp.Parser.AST.ExceptionSpecType exceptionSpecType; + internal global::System.IntPtr type; - [FieldOffset(24)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_N___1_S_allocator__S0_ Parameters; + [FieldOffset(12)] + internal int offset; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST18BaseClassSpecifierC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST18BaseClassSpecifierC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionTypeD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionType13getParametersEj")] - internal static extern global::System.IntPtr GetParameters(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionType13addParametersERPNS1_9ParameterE")] - internal static extern void AddParameters(global::System.IntPtr instance, global::System.IntPtr s); + public global::System.IntPtr __Instance { get; protected set; } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionType15clearParametersEv")] - internal static extern void ClearParameters(global::System.IntPtr instance); + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionType18getParametersCountEv")] - internal static extern uint GetParametersCount(global::System.IntPtr instance); - } + protected bool __ownsNativeInstance; - internal static new global::CppSharp.Parser.AST.FunctionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.BaseClassSpecifier __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.FunctionType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.BaseClassSpecifier(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.FunctionType __CreateInstance(global::CppSharp.Parser.AST.FunctionType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.BaseClassSpecifier __CreateInstance(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.FunctionType(native, skipVTables); + return new global::CppSharp.Parser.AST.BaseClassSpecifier(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); - global::CppSharp.Parser.AST.FunctionType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); + *(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) ret = native; return ret.ToPointer(); } - private FunctionType(global::CppSharp.Parser.AST.FunctionType.__Internal native, bool skipVTables = false) + private BaseClassSpecifier(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected FunctionType(void* native, bool skipVTables = false) - : base((void*) null) + protected BaseClassSpecifier(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public FunctionType() - : this((void*) null) + public BaseClassSpecifier() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public FunctionType(global::CppSharp.Parser.AST.FunctionType _0) - : this((void*) null) + public BaseClassSpecifier(global::CppSharp.Parser.AST.BaseClassSpecifier _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + *((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) _0.__Instance); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Type __dummy; + global::CppSharp.Parser.AST.BaseClassSpecifier __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - - public global::CppSharp.Parser.AST.Parameter GetParameters(uint i) - { - var __ret = __Internal.GetParameters((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Parameter __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Parameter.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Parameter) global::CppSharp.Parser.AST.Parameter.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Parameter.__CreateInstance(__ret); - return __result0; - } - - public void AddParameters(global::CppSharp.Parser.AST.Parameter s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddParameters((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearParameters() - { - __Internal.ClearParameters((__Instance + __PointerAdjustment)); + __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.QualifiedType ReturnType + public global::CppSharp.Parser.AST.AccessSpecifier Access { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->returnType)); + return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->access; } set { - ((global::CppSharp.Parser.AST.FunctionType.__Internal*)__Instance)->returnType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->access = value; } } - public global::CppSharp.Parser.AST.CallingConvention CallingConvention + public bool IsVirtual { get { - return ((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->callingConvention; + return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->isVirtual != 0; } set { - ((global::CppSharp.Parser.AST.FunctionType.__Internal*)__Instance)->callingConvention = value; + ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->isVirtual = (byte) (value ? 1 : 0); } } - public global::CppSharp.Parser.AST.ExceptionSpecType ExceptionSpecType + public global::CppSharp.Parser.AST.Type Type { get { - return ((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->exceptionSpecType; + global::CppSharp.Parser.AST.Type __result0; + if (((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type)) + __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type]; + else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type); + return __result0; } set { - ((global::CppSharp.Parser.AST.FunctionType.__Internal*)__Instance)->exceptionSpecType = value; + ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public uint ParametersCount + public int Offset { get { - var __ret = __Internal.GetParametersCount((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->offset; + } + + set + { + ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->offset = value; } } } - public unsafe partial class PointerType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class Field : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 20)] + [StructLayout(LayoutKind.Explicit, Size = 128)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal byte isDependent; + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedPointee; + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(12)] + internal global::System.IntPtr _namespace; [FieldOffset(16)] - internal global::CppSharp.Parser.AST.PointerType.TypeModifier modifier; + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(20)] + internal int lineNumberStart; + + [FieldOffset(24)] + internal int lineNumberEnd; + + [FieldOffset(28)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + + [FieldOffset(52)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(64)] + internal byte isIncomplete; + + [FieldOffset(65)] + internal byte isDependent; + + [FieldOffset(66)] + internal byte isImplicit; + + [FieldOffset(67)] + internal byte isInvalid; + + [FieldOffset(68)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(72)] + internal uint definitionOrder; + + [FieldOffset(76)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(88)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(100)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(104)] + internal global::System.IntPtr comment; + + [FieldOffset(108)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(116)] + internal global::System.IntPtr _class; + + [FieldOffset(120)] + internal byte isBitField; + + [FieldOffset(124)] + internal uint bitWidth; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11PointerTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST5FieldC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11PointerTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST5FieldC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - } - public enum TypeModifier - { - Value = 0, - Pointer = 1, - LVReference = 2, - RVReference = 3 + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5FieldD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.PointerType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Field __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.PointerType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Field(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.PointerType __CreateInstance(global::CppSharp.Parser.AST.PointerType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Field __CreateInstance(global::CppSharp.Parser.AST.Field.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.PointerType(native, skipVTables); + return new global::CppSharp.Parser.AST.Field(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.PointerType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Field.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); - global::CppSharp.Parser.AST.PointerType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); + global::CppSharp.Parser.AST.Field.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private PointerType(global::CppSharp.Parser.AST.PointerType.__Internal native, bool skipVTables = false) + private Field(global::CppSharp.Parser.AST.Field.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected PointerType(void* native, bool skipVTables = false) + protected Field(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -9438,19 +9041,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public PointerType() + public Field() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public PointerType(global::CppSharp.Parser.AST.PointerType _0) + public Field(global::CppSharp.Parser.AST.Field _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -9459,176 +9062,183 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType QualifiedPointee + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.PointerType.__Internal*) __Instance)->qualifiedPointee)); + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->qualifiedType)); } set { - ((global::CppSharp.Parser.AST.PointerType.__Internal*)__Instance)->qualifiedPointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public global::CppSharp.Parser.AST.PointerType.TypeModifier Modifier + public global::CppSharp.Parser.AST.Class Class { get { - return ((global::CppSharp.Parser.AST.PointerType.__Internal*) __Instance)->modifier; + global::CppSharp.Parser.AST.Class __result0; + if (((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class)) + __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class]; + else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class); + return __result0; } set { - ((global::CppSharp.Parser.AST.PointerType.__Internal*)__Instance)->modifier = value; + ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - } - - public unsafe partial class MemberPointerType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 16)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - internal byte isDependent; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal pointee; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17MemberPointerTypeC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17MemberPointerTypeC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - } - - internal static new global::CppSharp.Parser.AST.MemberPointerType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.MemberPointerType(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.MemberPointerType __CreateInstance(global::CppSharp.Parser.AST.MemberPointerType.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.MemberPointerType(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.MemberPointerType.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); - global::CppSharp.Parser.AST.MemberPointerType.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private MemberPointerType(global::CppSharp.Parser.AST.MemberPointerType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected MemberPointerType(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public MemberPointerType() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } - public MemberPointerType(global::CppSharp.Parser.AST.MemberPointerType _0) - : this((void*) null) + public bool IsBitField { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + get + { + return ((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->isBitField != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->isBitField = (byte) (value ? 1 : 0); + } } - public global::CppSharp.Parser.AST.QualifiedType Pointee + public uint BitWidth { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MemberPointerType.__Internal*) __Instance)->pointee)); + return ((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->bitWidth; } set { - ((global::CppSharp.Parser.AST.MemberPointerType.__Internal*)__Instance)->pointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->bitWidth = value; } } } - public unsafe partial class TypedefType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class AccessSpecifierDecl : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 12)] + [StructLayout(LayoutKind.Explicit, Size = 108)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal byte isDependent; + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::System.IntPtr declaration; + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(12)] + internal global::System.IntPtr _namespace; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(20)] + internal int lineNumberStart; + + [FieldOffset(24)] + internal int lineNumberEnd; + + [FieldOffset(28)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + + [FieldOffset(52)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(64)] + internal byte isIncomplete; + + [FieldOffset(65)] + internal byte isDependent; + + [FieldOffset(66)] + internal byte isImplicit; + + [FieldOffset(67)] + internal byte isInvalid; + + [FieldOffset(68)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(72)] + internal uint definitionOrder; + + [FieldOffset(76)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(88)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(100)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(104)] + internal global::System.IntPtr comment; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST19AccessSpecifierDeclC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST19AccessSpecifierDeclC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19AccessSpecifierDeclD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.TypedefType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.AccessSpecifierDecl __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypedefType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.AccessSpecifierDecl(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TypedefType __CreateInstance(global::CppSharp.Parser.AST.TypedefType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.AccessSpecifierDecl __CreateInstance(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypedefType(native, skipVTables); + return new global::CppSharp.Parser.AST.AccessSpecifierDecl(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); - global::CppSharp.Parser.AST.TypedefType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); + global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TypedefType(global::CppSharp.Parser.AST.TypedefType.__Internal native, bool skipVTables = false) + private AccessSpecifierDecl(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TypedefType(void* native, bool skipVTables = false) + protected AccessSpecifierDecl(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -9637,19 +9247,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TypedefType() + public AccessSpecifierDecl() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TypedefType(global::CppSharp.Parser.AST.TypedefType _0) + public AccessSpecifierDecl(global::CppSharp.Parser.AST.AccessSpecifierDecl _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -9658,340 +9268,284 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.TypedefNameDecl Declaration + public override void Dispose(bool disposing) { - get - { - global::CppSharp.Parser.AST.TypedefNameDecl __result0; - if (((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TypedefNameDecl.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration)) - __result0 = (global::CppSharp.Parser.AST.TypedefNameDecl) global::CppSharp.Parser.AST.TypedefNameDecl.NativeToManagedMap[((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration]; - else __result0 = global::CppSharp.Parser.AST.TypedefNameDecl.__CreateInstance(((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.TypedefType.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; } } - public unsafe partial class AttributedType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class Class : global::CppSharp.Parser.AST.DeclarationContext, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 296)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal byte isDependent; + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal modified; + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(12)] + internal global::System.IntPtr _namespace; [FieldOffset(16)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal equivalent; + internal global::CppSharp.Parser.SourceLocation.__Internal location; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14AttributedTypeC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); + [FieldOffset(20)] + internal int lineNumberStart; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14AttributedTypeC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - } + [FieldOffset(24)] + internal int lineNumberEnd; - internal static new global::CppSharp.Parser.AST.AttributedType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.AttributedType(native.ToPointer(), skipVTables); - } + [FieldOffset(28)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; - internal static global::CppSharp.Parser.AST.AttributedType __CreateInstance(global::CppSharp.Parser.AST.AttributedType.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.AttributedType(native, skipVTables); - } + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - private static void* __CopyValue(global::CppSharp.Parser.AST.AttributedType.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); - global::CppSharp.Parser.AST.AttributedType.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + [FieldOffset(52)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; - private AttributedType(global::CppSharp.Parser.AST.AttributedType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + [FieldOffset(64)] + internal byte isIncomplete; - protected AttributedType(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [FieldOffset(65)] + internal byte isDependent; - public AttributedType() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } + [FieldOffset(66)] + internal byte isImplicit; + + [FieldOffset(67)] + internal byte isInvalid; + + [FieldOffset(68)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(72)] + internal uint definitionOrder; + + [FieldOffset(76)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(88)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(100)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(104)] + internal global::System.IntPtr comment; + + [FieldOffset(108)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ Namespaces; + + [FieldOffset(120)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; + + [FieldOffset(132)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; + + [FieldOffset(144)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; + + [FieldOffset(156)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; + + [FieldOffset(168)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; + + [FieldOffset(180)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ TypeAliases; + + [FieldOffset(192)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ Variables; - public AttributedType(global::CppSharp.Parser.AST.AttributedType _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(204)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ Friends; - public global::CppSharp.Parser.AST.QualifiedType Modified - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.AttributedType.__Internal*) __Instance)->modified)); - } + [FieldOffset(216)] + internal global::Std.Map.__Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ anonymous; - set - { - ((global::CppSharp.Parser.AST.AttributedType.__Internal*)__Instance)->modified = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } - } + [FieldOffset(228)] + internal byte isAnonymous; - public global::CppSharp.Parser.AST.QualifiedType Equivalent - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.AttributedType.__Internal*) __Instance)->equivalent)); - } + [FieldOffset(232)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BaseClassSpecifier___N_std_N___1_S_allocator__S0_ Bases; - set - { - ((global::CppSharp.Parser.AST.AttributedType.__Internal*)__Instance)->equivalent = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } - } - } + [FieldOffset(244)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Field___N_std_N___1_S_allocator__S0_ Fields; - public unsafe partial class DecayedType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 32)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + [FieldOffset(256)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_N___1_S_allocator__S0_ Methods; - [FieldOffset(4)] - internal byte isDependent; + [FieldOffset(268)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_AccessSpecifierDecl___N_std_N___1_S_allocator__S0_ Specifiers; - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal decayed; + [FieldOffset(280)] + internal byte isPOD; - [FieldOffset(16)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal original; + [FieldOffset(281)] + internal byte isAbstract; - [FieldOffset(24)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal pointee; + [FieldOffset(282)] + internal byte isUnion; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11DecayedTypeC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); + [FieldOffset(283)] + internal byte isDynamic; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11DecayedTypeC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - } + [FieldOffset(284)] + internal byte isPolymorphic; - internal static new global::CppSharp.Parser.AST.DecayedType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.DecayedType(native.ToPointer(), skipVTables); - } + [FieldOffset(285)] + internal byte hasNonTrivialDefaultConstructor; - internal static global::CppSharp.Parser.AST.DecayedType __CreateInstance(global::CppSharp.Parser.AST.DecayedType.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.DecayedType(native, skipVTables); - } + [FieldOffset(286)] + internal byte hasNonTrivialCopyConstructor; - private static void* __CopyValue(global::CppSharp.Parser.AST.DecayedType.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); - global::CppSharp.Parser.AST.DecayedType.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + [FieldOffset(287)] + internal byte hasNonTrivialDestructor; - private DecayedType(global::CppSharp.Parser.AST.DecayedType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + [FieldOffset(288)] + internal byte isExternCContext; - protected DecayedType(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [FieldOffset(289)] + internal byte isInjected; - public DecayedType() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } + [FieldOffset(292)] + internal global::System.IntPtr layout; - public DecayedType(global::CppSharp.Parser.AST.DecayedType _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5ClassC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); - public global::CppSharp.Parser.AST.QualifiedType Decayed - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->decayed)); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5ClassC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - set - { - ((global::CppSharp.Parser.AST.DecayedType.__Internal*)__Instance)->decayed = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5ClassD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); - public global::CppSharp.Parser.AST.QualifiedType Original - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->original)); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class8getBasesEj")] + internal static extern global::System.IntPtr GetBases(global::System.IntPtr instance, uint i); - set - { - ((global::CppSharp.Parser.AST.DecayedType.__Internal*)__Instance)->original = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class8addBasesERPNS1_18BaseClassSpecifierE")] + internal static extern void AddBases(global::System.IntPtr instance, global::System.IntPtr s); - public global::CppSharp.Parser.AST.QualifiedType Pointee - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->pointee)); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class10clearBasesEv")] + internal static extern void ClearBases(global::System.IntPtr instance); - set - { - ((global::CppSharp.Parser.AST.DecayedType.__Internal*)__Instance)->pointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } - } - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class9getFieldsEj")] + internal static extern global::System.IntPtr GetFields(global::System.IntPtr instance, uint i); - public unsafe partial class TemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 32)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class9addFieldsERPNS1_5FieldE")] + internal static extern void AddFields(global::System.IntPtr instance, global::System.IntPtr s); - [FieldOffset(4)] - internal byte isDependent; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class11clearFieldsEv")] + internal static extern void ClearFields(global::System.IntPtr instance); - [FieldOffset(8)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_N___1_S_allocator__S0_ Arguments; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class10getMethodsEj")] + internal static extern global::System.IntPtr GetMethods(global::System.IntPtr instance, uint i); - [FieldOffset(20)] - internal global::System.IntPtr _template; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class10addMethodsERPNS1_6MethodE")] + internal static extern void AddMethods(global::System.IntPtr instance, global::System.IntPtr s); - [FieldOffset(24)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class12clearMethodsEv")] + internal static extern void ClearMethods(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationTypeC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST5Class13getSpecifiersEj")] + internal static extern global::System.IntPtr GetSpecifiers(global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationTypeC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST5Class13addSpecifiersERPNS1_19AccessSpecifierDeclE")] + internal static extern void AddSpecifiers(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationTypeD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST5Class15clearSpecifiersEv")] + internal static extern void ClearSpecifiers(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType12getArgumentsEj")] - internal static extern void GetArguments(global::System.IntPtr @return, global::System.IntPtr instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST5Class13getBasesCountEv")] + internal static extern uint GetBasesCount(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType12addArgumentsERNS1_16TemplateArgumentE")] - internal static extern void AddArguments(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST5Class14getFieldsCountEv")] + internal static extern uint GetFieldsCount(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType14clearArgumentsEv")] - internal static extern void ClearArguments(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST5Class15getMethodsCountEv")] + internal static extern uint GetMethodsCount(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType17getArgumentsCountEv")] - internal static extern uint GetArgumentsCount(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST5Class18getSpecifiersCountEv")] + internal static extern uint GetSpecifiersCount(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.TemplateSpecializationType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Class __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateSpecializationType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Class(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TemplateSpecializationType __CreateInstance(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Class __CreateInstance(global::CppSharp.Parser.AST.Class.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateSpecializationType(native, skipVTables); + return new global::CppSharp.Parser.AST.Class(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Class.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); - global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); + global::CppSharp.Parser.AST.Class.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateSpecializationType(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native, bool skipVTables = false) + private Class(global::CppSharp.Parser.AST.Class.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TemplateSpecializationType(void* native, bool skipVTables = false) + protected Class(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -10000,19 +9554,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TemplateSpecializationType() + public Class() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TemplateSpecializationType(global::CppSharp.Parser.AST.TemplateSpecializationType _0) + public Class(global::CppSharp.Parser.AST.Class _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -10025,7 +9579,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Type __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -10034,407 +9588,290 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) + public global::CppSharp.Parser.AST.BaseClassSpecifier GetBases(uint i) { - var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); - __Internal.GetArguments(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); + var __ret = __Internal.GetBases((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.BaseClassSpecifier __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.BaseClassSpecifier.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.BaseClassSpecifier) global::CppSharp.Parser.AST.BaseClassSpecifier.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.BaseClassSpecifier.__CreateInstance(__ret); + return __result0; } - public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) + public void AddBases(global::CppSharp.Parser.AST.BaseClassSpecifier s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearArguments() - { - __Internal.ClearArguments((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.Template Template - { - get - { - global::CppSharp.Parser.AST.Template __result0; - if (((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Template.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template)) - __result0 = (global::CppSharp.Parser.AST.Template) global::CppSharp.Parser.AST.Template.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template]; - else __result0 = global::CppSharp.Parser.AST.Template.__CreateInstance(((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*)__Instance)->_template = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } - - public global::CppSharp.Parser.AST.QualifiedType Desugared - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->desugared)); - } - - set - { - ((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*)__Instance)->desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } + __Internal.AddBases((__Instance + __PointerAdjustment), __arg0); } - public uint ArgumentsCount + public void ClearBases() { - get - { - var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); - return __ret; - } + __Internal.ClearBases((__Instance + __PointerAdjustment)); } - } - public unsafe partial class DependentTemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 28)] - public new partial struct __Internal + public global::CppSharp.Parser.AST.Field GetFields(uint i) { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - internal byte isDependent; - - [FieldOffset(8)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_N___1_S_allocator__S0_ Arguments; - - [FieldOffset(20)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationTypeC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationTypeC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationTypeD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationType12getArgumentsEj")] - internal static extern void GetArguments(global::System.IntPtr @return, global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationType12addArgumentsERNS1_16TemplateArgumentE")] - internal static extern void AddArguments(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationType14clearArgumentsEv")] - internal static extern void ClearArguments(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationType17getArgumentsCountEv")] - internal static extern uint GetArgumentsCount(global::System.IntPtr instance); + var __ret = __Internal.GetFields((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Field __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Field.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Field) global::CppSharp.Parser.AST.Field.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Field.__CreateInstance(__ret); + return __result0; } - internal static new global::CppSharp.Parser.AST.DependentTemplateSpecializationType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public void AddFields(global::CppSharp.Parser.AST.Field s) { - return new global::CppSharp.Parser.AST.DependentTemplateSpecializationType(native.ToPointer(), skipVTables); + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddFields((__Instance + __PointerAdjustment), __arg0); } - internal static global::CppSharp.Parser.AST.DependentTemplateSpecializationType __CreateInstance(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native, bool skipVTables = false) + public void ClearFields() { - return new global::CppSharp.Parser.AST.DependentTemplateSpecializationType(native, skipVTables); + __Internal.ClearFields((__Instance + __PointerAdjustment)); } - private static void* __CopyValue(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native) + public global::CppSharp.Parser.AST.Method GetMethods(uint i) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); - global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); + var __ret = __Internal.GetMethods((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Method __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Method.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Method) global::CppSharp.Parser.AST.Method.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Method.__CreateInstance(__ret); + return __result0; } - private DependentTemplateSpecializationType(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) + public void AddMethods(global::CppSharp.Parser.AST.Method s) { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddMethods((__Instance + __PointerAdjustment), __arg0); } - protected DependentTemplateSpecializationType(void* native, bool skipVTables = false) - : base((void*) null) + public void ClearMethods() { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); + __Internal.ClearMethods((__Instance + __PointerAdjustment)); } - public DependentTemplateSpecializationType() - : this((void*) null) + public global::CppSharp.Parser.AST.AccessSpecifierDecl GetSpecifiers(uint i) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetSpecifiers((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.AccessSpecifierDecl __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.AccessSpecifierDecl.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.AccessSpecifierDecl) global::CppSharp.Parser.AST.AccessSpecifierDecl.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.AccessSpecifierDecl.__CreateInstance(__ret); + return __result0; } - public DependentTemplateSpecializationType(global::CppSharp.Parser.AST.DependentTemplateSpecializationType _0) - : this((void*) null) + public void AddSpecifiers(global::CppSharp.Parser.AST.AccessSpecifierDecl s) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddSpecifiers((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void ClearSpecifiers() { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Type __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; + __Internal.ClearSpecifiers((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) + public bool IsPOD { - var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); - __Internal.GetArguments(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); - } + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isPOD != 0; + } - public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isPOD = (byte) (value ? 1 : 0); + } } - public void ClearArguments() + public bool IsAbstract { - __Internal.ClearArguments((__Instance + __PointerAdjustment)); + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isAbstract != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isAbstract = (byte) (value ? 1 : 0); + } } - public global::CppSharp.Parser.AST.QualifiedType Desugared + public bool IsUnion { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal*) __Instance)->desugared)); + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isUnion != 0; } set { - ((global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal*)__Instance)->desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isUnion = (byte) (value ? 1 : 0); } } - public uint ArgumentsCount + public bool IsDynamic { get { - var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isDynamic != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isDynamic = (byte) (value ? 1 : 0); } } - } - public unsafe partial class TypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 128)] - public new partial struct __Internal + public bool IsPolymorphic { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(12)] - internal global::System.IntPtr _namespace; - - [FieldOffset(16)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(20)] - internal int lineNumberStart; - - [FieldOffset(24)] - internal int lineNumberEnd; - - [FieldOffset(28)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; - - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - - [FieldOffset(52)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; - - [FieldOffset(64)] - internal byte isIncomplete; - - [FieldOffset(65)] - internal byte isDependent; - - [FieldOffset(66)] - internal byte isImplicit; - - [FieldOffset(67)] - internal byte isInvalid; - - [FieldOffset(68)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(72)] - internal uint definitionOrder; - - [FieldOffset(76)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(88)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; - - [FieldOffset(100)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(104)] - internal global::System.IntPtr comment; - - [FieldOffset(108)] - internal uint depth; - - [FieldOffset(112)] - internal uint index; - - [FieldOffset(116)] - internal byte isParameterPack; - - [FieldOffset(120)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal defaultArgument; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21TypeTemplateParameterC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21TypeTemplateParameterC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isPolymorphic != 0; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21TypeTemplateParameterD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isPolymorphic = (byte) (value ? 1 : 0); + } } - internal static new global::CppSharp.Parser.AST.TypeTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public bool HasNonTrivialDefaultConstructor { - return new global::CppSharp.Parser.AST.TypeTemplateParameter(native.ToPointer(), skipVTables); + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->hasNonTrivialDefaultConstructor != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->hasNonTrivialDefaultConstructor = (byte) (value ? 1 : 0); + } } - internal static global::CppSharp.Parser.AST.TypeTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal native, bool skipVTables = false) + public bool HasNonTrivialCopyConstructor { - return new global::CppSharp.Parser.AST.TypeTemplateParameter(native, skipVTables); + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->hasNonTrivialCopyConstructor != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->hasNonTrivialCopyConstructor = (byte) (value ? 1 : 0); + } } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal native) + public bool HasNonTrivialDestructor { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); - global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->hasNonTrivialDestructor != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->hasNonTrivialDestructor = (byte) (value ? 1 : 0); + } } - private TypeTemplateParameter(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) + public bool IsExternCContext { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isExternCContext != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isExternCContext = (byte) (value ? 1 : 0); + } } - protected TypeTemplateParameter(void* native, bool skipVTables = false) - : base((void*) null) + public bool IsInjected { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isInjected != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isInjected = (byte) (value ? 1 : 0); + } } - public TypeTemplateParameter() - : this((void*) null) + public global::CppSharp.Parser.AST.ClassLayout Layout { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + get + { + global::CppSharp.Parser.AST.ClassLayout __result0; + if (((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.ClassLayout.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout)) + __result0 = (global::CppSharp.Parser.AST.ClassLayout) global::CppSharp.Parser.AST.ClassLayout.NativeToManagedMap[((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout]; + else __result0 = global::CppSharp.Parser.AST.ClassLayout.__CreateInstance(((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->layout = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } } - public TypeTemplateParameter(global::CppSharp.Parser.AST.TypeTemplateParameter _0) - : this((void*) null) + public uint BasesCount { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + get + { + var __ret = __Internal.GetBasesCount((__Instance + __PointerAdjustment)); + return __ret; + } } - public override void Dispose(bool disposing) + public uint FieldsCount { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; + get + { + var __ret = __Internal.GetFieldsCount((__Instance + __PointerAdjustment)); + return __ret; + } } - public global::CppSharp.Parser.AST.QualifiedType DefaultArgument + public uint MethodsCount { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal*) __Instance)->defaultArgument)); + var __ret = __Internal.GetMethodsCount((__Instance + __PointerAdjustment)); + return __ret; } + } - set + public uint SpecifiersCount + { + get { - ((global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal*)__Instance)->defaultArgument = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + var __ret = __Internal.GetSpecifiersCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class TemplateParameter : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class Template : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 120)] + [StructLayout(LayoutKind.Explicit, Size = 124)] public new partial struct __Internal { [FieldOffset(0)] @@ -10498,206 +9935,77 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(108)] - internal uint depth; + internal global::System.IntPtr TemplatedDecl; [FieldOffset(112)] - internal uint index; - - [FieldOffset(116)] - internal byte isParameterPack; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Parameters; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17TemplateParameterC2ENS1_15DeclarationKindE")] + EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateC2ENS1_15DeclarationKindE")] internal static extern void ctor(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17TemplateParameterC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17TemplateParameterD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateD2Ev")] internal static extern void dtor(global::System.IntPtr instance); - } - - internal static new global::CppSharp.Parser.AST.TemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.TemplateParameter(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.TemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TemplateParameter.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.TemplateParameter(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameter.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); - global::CppSharp.Parser.AST.TemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private TemplateParameter(global::CppSharp.Parser.AST.TemplateParameter.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected TemplateParameter(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public TemplateParameter(global::CppSharp.Parser.AST.DeclarationKind kind) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), kind); - } - - public TemplateParameter(global::CppSharp.Parser.AST.TemplateParameter _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } - - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - - public static implicit operator global::CppSharp.Parser.AST.TemplateParameter(global::CppSharp.Parser.AST.DeclarationKind kind) - { - return new global::CppSharp.Parser.AST.TemplateParameter(kind); - } - - public uint Depth - { - get - { - return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->depth; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*)__Instance)->depth = value; - } - } - - public uint Index - { - get - { - return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->index; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*)__Instance)->index = value; - } - } - - public bool IsParameterPack - { - get - { - return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->isParameterPack != 0; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*)__Instance)->isParameterPack = (byte) (value ? 1 : 0); - } - } - } - - public unsafe partial class TemplateParameterType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 24)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - internal byte isDependent; - - [FieldOffset(8)] - internal global::System.IntPtr parameter; - - [FieldOffset(12)] - internal uint depth; - - [FieldOffset(16)] - internal uint index; - [FieldOffset(20)] - internal byte isParameterPack; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Template13getParametersEj")] + internal static extern global::System.IntPtr GetParameters(global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21TemplateParameterTypeC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST8Template13addParametersERPNS1_11DeclarationE")] + internal static extern void AddParameters(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21TemplateParameterTypeC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST8Template15clearParametersEv")] + internal static extern void ClearParameters(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21TemplateParameterTypeD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST8Template18getParametersCountEv")] + internal static extern uint GetParametersCount(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.TemplateParameterType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Template __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateParameterType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Template(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TemplateParameterType __CreateInstance(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Template __CreateInstance(global::CppSharp.Parser.AST.Template.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateParameterType(native, skipVTables); + return new global::CppSharp.Parser.AST.Template(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Template.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); - global::CppSharp.Parser.AST.TemplateParameterType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); + global::CppSharp.Parser.AST.Template.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateParameterType(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native, bool skipVTables = false) + private Template(global::CppSharp.Parser.AST.Template.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TemplateParameterType(void* native, bool skipVTables = false) + protected Template(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -10706,19 +10014,28 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TemplateParameterType() + public Template(global::CppSharp.Parser.AST.DeclarationKind kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), kind); + } + + public Template() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TemplateParameterType(global::CppSharp.Parser.AST.TemplateParameterType _0) + public Template(global::CppSharp.Parser.AST.Template _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -10731,7 +10048,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Type __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -10740,117 +10057,175 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.TypeTemplateParameter Parameter + public global::CppSharp.Parser.AST.Declaration GetParameters(uint i) { - get - { - global::CppSharp.Parser.AST.TypeTemplateParameter __result0; - if (((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TypeTemplateParameter.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter)) - __result0 = (global::CppSharp.Parser.AST.TypeTemplateParameter) global::CppSharp.Parser.AST.TypeTemplateParameter.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter]; - else __result0 = global::CppSharp.Parser.AST.TypeTemplateParameter.__CreateInstance(((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter); - return __result0; - } + var __ret = __Internal.GetParameters((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Declaration __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(__ret); + return __result0; + } - set - { - ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->parameter = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + public void AddParameters(global::CppSharp.Parser.AST.Declaration s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddParameters((__Instance + __PointerAdjustment), __arg0); } - public uint Depth + public void ClearParameters() { - get - { - return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->depth; - } + __Internal.ClearParameters((__Instance + __PointerAdjustment)); + } - set - { - ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->depth = value; - } + public static implicit operator global::CppSharp.Parser.AST.Template(global::CppSharp.Parser.AST.DeclarationKind kind) + { + return new global::CppSharp.Parser.AST.Template(kind); } - public uint Index + public global::CppSharp.Parser.AST.Declaration TemplatedDecl { get { - return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->index; + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl); + return __result0; } set { - ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->index = value; + ((global::CppSharp.Parser.AST.Template.__Internal*)__Instance)->TemplatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public bool IsParameterPack + public uint ParametersCount { get { - return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->isParameterPack != 0; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->isParameterPack = (byte) (value ? 1 : 0); + var __ret = __Internal.GetParametersCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class TemplateParameterSubstitutionType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class TypeAliasTemplate : global::CppSharp.Parser.AST.Template, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 20)] + [StructLayout(LayoutKind.Explicit, Size = 124)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal byte isDependent; + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal replacement; + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(12)] + internal global::System.IntPtr _namespace; [FieldOffset(16)] - internal global::System.IntPtr replacedParameter; + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(20)] + internal int lineNumberStart; + + [FieldOffset(24)] + internal int lineNumberEnd; + + [FieldOffset(28)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + + [FieldOffset(52)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(64)] + internal byte isIncomplete; + + [FieldOffset(65)] + internal byte isDependent; + + [FieldOffset(66)] + internal byte isImplicit; + + [FieldOffset(67)] + internal byte isInvalid; + + [FieldOffset(68)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(72)] + internal uint definitionOrder; + + [FieldOffset(76)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(88)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(100)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(104)] + internal global::System.IntPtr comment; + + [FieldOffset(108)] + internal global::System.IntPtr TemplatedDecl; + + [FieldOffset(112)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Parameters; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST33TemplateParameterSubstitutionTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST17TypeAliasTemplateC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST33TemplateParameterSubstitutionTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST17TypeAliasTemplateC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17TypeAliasTemplateD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.TemplateParameterSubstitutionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TypeAliasTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateParameterSubstitutionType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TypeAliasTemplate(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TemplateParameterSubstitutionType __CreateInstance(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TypeAliasTemplate __CreateInstance(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateParameterSubstitutionType(native, skipVTables); + return new global::CppSharp.Parser.AST.TypeAliasTemplate(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); - global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); + global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateParameterSubstitutionType(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native, bool skipVTables = false) + private TypeAliasTemplate(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TemplateParameterSubstitutionType(void* native, bool skipVTables = false) + protected TypeAliasTemplate(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -10859,19 +10234,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TemplateParameterSubstitutionType() + public TypeAliasTemplate() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TemplateParameterSubstitutionType(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType _0) + public TypeAliasTemplate(global::CppSharp.Parser.AST.TypeAliasTemplate _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -10880,91 +10255,135 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType Replacement - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacement)); - } - - set - { - ((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*)__Instance)->replacement = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } - } - - public global::CppSharp.Parser.AST.TemplateParameterType ReplacedParameter + public override void Dispose(bool disposing) { - get - { - global::CppSharp.Parser.AST.TemplateParameterType __result0; - if (((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TemplateParameterType.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter)) - __result0 = (global::CppSharp.Parser.AST.TemplateParameterType) global::CppSharp.Parser.AST.TemplateParameterType.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter]; - else __result0 = global::CppSharp.Parser.AST.TemplateParameterType.__CreateInstance(((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*)__Instance)->replacedParameter = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; } } - public unsafe partial class InjectedClassNameType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class TemplateParameter : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 20)] + [StructLayout(LayoutKind.Explicit, Size = 120)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal byte isDependent; + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal injectedSpecializationType; + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(12)] + internal global::System.IntPtr _namespace; [FieldOffset(16)] - internal global::System.IntPtr _class; + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(20)] + internal int lineNumberStart; + + [FieldOffset(24)] + internal int lineNumberEnd; + + [FieldOffset(28)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + + [FieldOffset(52)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(64)] + internal byte isIncomplete; + + [FieldOffset(65)] + internal byte isDependent; + + [FieldOffset(66)] + internal byte isImplicit; + + [FieldOffset(67)] + internal byte isInvalid; + + [FieldOffset(68)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(72)] + internal uint definitionOrder; + + [FieldOffset(76)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(88)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(100)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(104)] + internal global::System.IntPtr comment; + + [FieldOffset(108)] + internal uint depth; + + [FieldOffset(112)] + internal uint index; + + [FieldOffset(116)] + internal byte isParameterPack; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21InjectedClassNameTypeC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST17TemplateParameterC2ENS1_15DeclarationKindE")] + internal static extern void ctor(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21InjectedClassNameTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST17TemplateParameterC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17TemplateParameterD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.InjectedClassNameType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.InjectedClassNameType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TemplateParameter(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.InjectedClassNameType __CreateInstance(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TemplateParameter.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.InjectedClassNameType(native, skipVTables); + return new global::CppSharp.Parser.AST.TemplateParameter(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameter.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); - global::CppSharp.Parser.AST.InjectedClassNameType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); + global::CppSharp.Parser.AST.TemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private InjectedClassNameType(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native, bool skipVTables = false) + private TemplateParameter(global::CppSharp.Parser.AST.TemplateParameter.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected InjectedClassNameType(void* native, bool skipVTables = false) + protected TemplateParameter(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -10973,19 +10392,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public InjectedClassNameType() + public TemplateParameter(global::CppSharp.Parser.AST.DeclarationKind kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + __Internal.ctor((__Instance + __PointerAdjustment), kind); } - public InjectedClassNameType(global::CppSharp.Parser.AST.InjectedClassNameType _0) + public TemplateParameter(global::CppSharp.Parser.AST.TemplateParameter _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -10994,96 +10413,185 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType InjectedSpecializationType + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public static implicit operator global::CppSharp.Parser.AST.TemplateParameter(global::CppSharp.Parser.AST.DeclarationKind kind) + { + return new global::CppSharp.Parser.AST.TemplateParameter(kind); + } + + public uint Depth { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->injectedSpecializationType)); + return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->depth; } set { - ((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*)__Instance)->injectedSpecializationType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*)__Instance)->depth = value; } } - public global::CppSharp.Parser.AST.Class Class + public uint Index { get { - global::CppSharp.Parser.AST.Class __result0; - if (((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class)) - __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class]; - else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class); - return __result0; + return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->index; } set { - ((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*)__Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*)__Instance)->index = value; + } + } + + public bool IsParameterPack + { + get + { + return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->isParameterPack != 0; + } + + set + { + ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*)__Instance)->isParameterPack = (byte) (value ? 1 : 0); } } } - public unsafe partial class DependentNameType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class TemplateTemplateParameter : global::CppSharp.Parser.AST.Template, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 28)] + [StructLayout(LayoutKind.Explicit, Size = 128)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal byte isDependent; + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifier; + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(12)] + internal global::System.IntPtr _namespace; [FieldOffset(16)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C identifier; + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(20)] + internal int lineNumberStart; + + [FieldOffset(24)] + internal int lineNumberEnd; + + [FieldOffset(28)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + + [FieldOffset(52)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(64)] + internal byte isIncomplete; + + [FieldOffset(65)] + internal byte isDependent; + + [FieldOffset(66)] + internal byte isImplicit; + + [FieldOffset(67)] + internal byte isInvalid; + + [FieldOffset(68)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(72)] + internal uint definitionOrder; + + [FieldOffset(76)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(88)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(100)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(104)] + internal global::System.IntPtr comment; + + [FieldOffset(108)] + internal global::System.IntPtr TemplatedDecl; + + [FieldOffset(112)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Parameters; + + [FieldOffset(124)] + internal byte isParameterPack; + + [FieldOffset(125)] + internal byte isPackExpansion; + + [FieldOffset(126)] + internal byte isExpandedParameterPack; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17DependentNameTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST25TemplateTemplateParameterC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17DependentNameTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST25TemplateTemplateParameterC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17DependentNameTypeD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST25TemplateTemplateParameterD2Ev")] internal static extern void dtor(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.DependentNameType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TemplateTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.DependentNameType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TemplateTemplateParameter(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.DependentNameType __CreateInstance(global::CppSharp.Parser.AST.DependentNameType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TemplateTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.DependentNameType(native, skipVTables); + return new global::CppSharp.Parser.AST.TemplateTemplateParameter(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.DependentNameType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); - global::CppSharp.Parser.AST.DependentNameType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); + global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private DependentNameType(global::CppSharp.Parser.AST.DependentNameType.__Internal native, bool skipVTables = false) + private TemplateTemplateParameter(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected DependentNameType(void* native, bool skipVTables = false) + protected TemplateTemplateParameter(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -11092,19 +10600,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public DependentNameType() + public TemplateTemplateParameter() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public DependentNameType(global::CppSharp.Parser.AST.DependentNameType _0) + public TemplateTemplateParameter(global::CppSharp.Parser.AST.TemplateTemplateParameter _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -11117,7 +10625,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Type __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -11126,166 +10634,164 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.QualifiedType Qualifier + public bool IsParameterPack { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentNameType.__Internal*) __Instance)->qualifier)); + return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isParameterPack != 0; } set { - ((global::CppSharp.Parser.AST.DependentNameType.__Internal*)__Instance)->qualifier = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*)__Instance)->isParameterPack = (byte) (value ? 1 : 0); } } - public string Identifier + public bool IsPackExpansion { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentNameType.__Internal*) __Instance)->identifier)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentNameType.__Internal*)__Instance)->identifier), value); - } - } - } - - public unsafe partial class PackExpansionType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 8)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - internal byte isDependent; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17PackExpansionTypeC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17PackExpansionTypeC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - } - - internal static new global::CppSharp.Parser.AST.PackExpansionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.PackExpansionType(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.PackExpansionType __CreateInstance(global::CppSharp.Parser.AST.PackExpansionType.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.PackExpansionType(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.PackExpansionType.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); - global::CppSharp.Parser.AST.PackExpansionType.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private PackExpansionType(global::CppSharp.Parser.AST.PackExpansionType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected PackExpansionType(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public PackExpansionType() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isPackExpansion != 0; + } + + set + { + ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*)__Instance)->isPackExpansion = (byte) (value ? 1 : 0); + } } - public PackExpansionType(global::CppSharp.Parser.AST.PackExpansionType _0) - : this((void*) null) + public bool IsExpandedParameterPack { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + get + { + return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isExpandedParameterPack != 0; + } + + set + { + ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*)__Instance)->isExpandedParameterPack = (byte) (value ? 1 : 0); + } } } - public unsafe partial class UnaryTransformType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class TypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 128)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal byte isDependent; + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(12)] + internal global::System.IntPtr _namespace; [FieldOffset(16)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal baseType; + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(20)] + internal int lineNumberStart; + + [FieldOffset(24)] + internal int lineNumberEnd; + + [FieldOffset(28)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + + [FieldOffset(52)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(64)] + internal byte isIncomplete; + + [FieldOffset(65)] + internal byte isDependent; + + [FieldOffset(66)] + internal byte isImplicit; + + [FieldOffset(67)] + internal byte isInvalid; + + [FieldOffset(68)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(72)] + internal uint definitionOrder; + + [FieldOffset(76)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(88)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(100)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(104)] + internal global::System.IntPtr comment; + + [FieldOffset(108)] + internal uint depth; + + [FieldOffset(112)] + internal uint index; + + [FieldOffset(116)] + internal byte isParameterPack; + + [FieldOffset(120)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal defaultArgument; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18UnaryTransformTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST21TypeTemplateParameterC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18UnaryTransformTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST21TypeTemplateParameterC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST21TypeTemplateParameterD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.UnaryTransformType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TypeTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.UnaryTransformType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TypeTemplateParameter(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.UnaryTransformType __CreateInstance(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TypeTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.UnaryTransformType(native, skipVTables); + return new global::CppSharp.Parser.AST.TypeTemplateParameter(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); - global::CppSharp.Parser.AST.UnaryTransformType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); + global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private UnaryTransformType(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native, bool skipVTables = false) + private TypeTemplateParameter(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected UnaryTransformType(void* native, bool skipVTables = false) + protected TypeTemplateParameter(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -11294,19 +10800,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public UnaryTransformType() + public TypeTemplateParameter() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public UnaryTransformType(global::CppSharp.Parser.AST.UnaryTransformType _0) + public TypeTemplateParameter(global::CppSharp.Parser.AST.TypeTemplateParameter _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -11315,86 +10821,160 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType Desugared + public override void Dispose(bool disposing) { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*) __Instance)->desugared)); - } - - set - { - ((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*)__Instance)->desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.QualifiedType BaseType + public global::CppSharp.Parser.AST.QualifiedType DefaultArgument { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*) __Instance)->baseType)); + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal*) __Instance)->defaultArgument)); } set { - ((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*)__Instance)->baseType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal*)__Instance)->defaultArgument = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } } - public unsafe partial class VectorType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class NonTypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 20)] + [StructLayout(LayoutKind.Explicit, Size = 132)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal byte isDependent; + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal elementType; + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(12)] + internal global::System.IntPtr _namespace; [FieldOffset(16)] - internal uint numElements; + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(20)] + internal int lineNumberStart; + + [FieldOffset(24)] + internal int lineNumberEnd; + + [FieldOffset(28)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + + [FieldOffset(52)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(64)] + internal byte isIncomplete; + + [FieldOffset(65)] + internal byte isDependent; + + [FieldOffset(66)] + internal byte isImplicit; + + [FieldOffset(67)] + internal byte isInvalid; + + [FieldOffset(68)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(72)] + internal uint definitionOrder; + + [FieldOffset(76)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(88)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(100)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(104)] + internal global::System.IntPtr comment; + + [FieldOffset(108)] + internal uint depth; + + [FieldOffset(112)] + internal uint index; + + [FieldOffset(116)] + internal byte isParameterPack; + + [FieldOffset(120)] + internal global::System.IntPtr defaultArgument; + + [FieldOffset(124)] + internal uint position; + + [FieldOffset(128)] + internal byte isPackExpansion; + + [FieldOffset(129)] + internal byte isExpandedParameterPack; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10VectorTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST24NonTypeTemplateParameterC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10VectorTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST24NonTypeTemplateParameterC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST24NonTypeTemplateParameterD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.VectorType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.NonTypeTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VectorType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.NonTypeTemplateParameter(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.VectorType __CreateInstance(global::CppSharp.Parser.AST.VectorType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.NonTypeTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VectorType(native, skipVTables); + return new global::CppSharp.Parser.AST.NonTypeTemplateParameter(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.VectorType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); - global::CppSharp.Parser.AST.VectorType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); + global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private VectorType(global::CppSharp.Parser.AST.VectorType.__Internal native, bool skipVTables = false) + private NonTypeTemplateParameter(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected VectorType(void* native, bool skipVTables = false) + protected NonTypeTemplateParameter(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -11403,19 +10983,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public VectorType() + public NonTypeTemplateParameter() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public VectorType(global::CppSharp.Parser.AST.VectorType _0) + public NonTypeTemplateParameter(global::CppSharp.Parser.AST.NonTypeTemplateParameter _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -11424,29 +11004,73 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType ElementType + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Expression DefaultArgument { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VectorType.__Internal*) __Instance)->elementType)); + global::CppSharp.Parser.AST.Expression __result0; + if (((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument)) + __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument]; + else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument); + return __result0; } set { - ((global::CppSharp.Parser.AST.VectorType.__Internal*)__Instance)->elementType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->defaultArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public uint NumElements + public uint Position { get { - return ((global::CppSharp.Parser.AST.VectorType.__Internal*) __Instance)->numElements; + return ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->position; } set { - ((global::CppSharp.Parser.AST.VectorType.__Internal*)__Instance)->numElements = value; + ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->position = value; + } + } + + public bool IsPackExpansion + { + get + { + return ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->isPackExpansion != 0; + } + + set + { + ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->isPackExpansion = (byte) (value ? 1 : 0); + } + } + + public bool IsExpandedParameterPack + { + get + { + return ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->isExpandedParameterPack != 0; + } + + set + { + ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->isExpandedParameterPack = (byte) (value ? 1 : 0); } } } @@ -12177,40 +11801,223 @@ namespace CppSharp [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST34ClassTemplatePartialSpecializationC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST34ClassTemplatePartialSpecializationC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST34ClassTemplatePartialSpecializationD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); + } + + internal static new global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization __CreateInstance(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); + global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private ClassTemplatePartialSpecialization(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ClassTemplatePartialSpecialization(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ClassTemplatePartialSpecialization() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ClassTemplatePartialSpecialization(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + } + + public unsafe partial class FunctionTemplate : global::CppSharp.Parser.AST.Template, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 136)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(12)] + internal global::System.IntPtr _namespace; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(20)] + internal int lineNumberStart; + + [FieldOffset(24)] + internal int lineNumberEnd; + + [FieldOffset(28)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + + [FieldOffset(52)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(64)] + internal byte isIncomplete; + + [FieldOffset(65)] + internal byte isDependent; + + [FieldOffset(66)] + internal byte isImplicit; + + [FieldOffset(67)] + internal byte isInvalid; + + [FieldOffset(68)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(72)] + internal uint definitionOrder; + + [FieldOffset(76)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(88)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(100)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(104)] + internal global::System.IntPtr comment; + + [FieldOffset(108)] + internal global::System.IntPtr TemplatedDecl; + + [FieldOffset(112)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Parameters; + + [FieldOffset(124)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_FunctionTemplateSpecialization___N_std_N___1_S_allocator__S0_ Specializations; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplateC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplateC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplateD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate18getSpecializationsEj")] + internal static extern global::System.IntPtr GetSpecializations(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate18addSpecializationsERPNS1_30FunctionTemplateSpecializationE")] + internal static extern void AddSpecializations(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate20clearSpecializationsEv")] + internal static extern void ClearSpecializations(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate18FindSpecializationERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEE")] + internal static extern global::System.IntPtr FindSpecialization(global::System.IntPtr instance, global::System.IntPtr usr); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST34ClassTemplatePartialSpecializationD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate23getSpecializationsCountEv")] + internal static extern uint GetSpecializationsCount(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.FunctionTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.FunctionTemplate(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization __CreateInstance(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.FunctionTemplate __CreateInstance(global::CppSharp.Parser.AST.FunctionTemplate.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization(native, skipVTables); + return new global::CppSharp.Parser.AST.FunctionTemplate(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionTemplate.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); - global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); + global::CppSharp.Parser.AST.FunctionTemplate.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private ClassTemplatePartialSpecialization(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal native, bool skipVTables = false) + private FunctionTemplate(global::CppSharp.Parser.AST.FunctionTemplate.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected ClassTemplatePartialSpecialization(void* native, bool skipVTables = false) + protected FunctionTemplate(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -12219,19 +12026,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public ClassTemplatePartialSpecialization() + public FunctionTemplate() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public ClassTemplatePartialSpecialization(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization _0) + public FunctionTemplate(global::CppSharp.Parser.AST.FunctionTemplate _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -12252,103 +12059,159 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } + + public global::CppSharp.Parser.AST.FunctionTemplateSpecialization GetSpecializations(uint i) + { + var __ret = __Internal.GetSpecializations((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.FunctionTemplateSpecialization __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.FunctionTemplateSpecialization) global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__CreateInstance(__ret); + return __result0; + } + + public void AddSpecializations(global::CppSharp.Parser.AST.FunctionTemplateSpecialization s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddSpecializations((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearSpecializations() + { + __Internal.ClearSpecializations((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.FunctionTemplateSpecialization FindSpecialization(string usr) + { + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, usr); + var __arg0 = __basicString0.__Instance; + var __ret = __Internal.FindSpecialization((__Instance + __PointerAdjustment), __arg0); + __basicString0.Dispose(false); + global::CppSharp.Parser.AST.FunctionTemplateSpecialization __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.FunctionTemplateSpecialization) global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__CreateInstance(__ret); + return __result0; + } + + public uint SpecializationsCount + { + get + { + var __ret = __Internal.GetSpecializationsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } } - public unsafe partial class BinaryOperator : global::CppSharp.Parser.AST.Expression, IDisposable + public unsafe partial class FunctionTemplateSpecialization : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 40)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 24)] + public partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.StatementClass _class; + internal global::System.IntPtr _template; [FieldOffset(4)] - internal global::System.IntPtr decl; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_N___1_S_allocator__S0_ Arguments; - [FieldOffset(8)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C @string; + [FieldOffset(16)] + internal global::System.IntPtr specializedFunction; [FieldOffset(20)] - internal global::System.IntPtr LHS; - - [FieldOffset(24)] - internal global::System.IntPtr RHS; - - [FieldOffset(28)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C opcodeStr; + internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14BinaryOperatorC2ERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEPNS1_10ExpressionESD_SB_")] - internal static extern void ctor(global::System.IntPtr instance, global::System.IntPtr str, global::System.IntPtr lhs, global::System.IntPtr rhs, global::System.IntPtr opcodeStr); + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecializationC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14BinaryOperatorC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecializationC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14BinaryOperatorD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecializationD2Ev")] internal static extern void dtor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization12getArgumentsEj")] + internal static extern void GetArguments(global::System.IntPtr @return, global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization12addArgumentsERNS1_16TemplateArgumentE")] + internal static extern void AddArguments(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization14clearArgumentsEv")] + internal static extern void ClearArguments(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization17getArgumentsCountEv")] + internal static extern uint GetArgumentsCount(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.BinaryOperator __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.FunctionTemplateSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.BinaryOperator(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.FunctionTemplateSpecialization(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.BinaryOperator __CreateInstance(global::CppSharp.Parser.AST.BinaryOperator.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.FunctionTemplateSpecialization __CreateInstance(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.BinaryOperator(native, skipVTables); + return new global::CppSharp.Parser.AST.FunctionTemplateSpecialization(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.BinaryOperator.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); - global::CppSharp.Parser.AST.BinaryOperator.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); + global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private BinaryOperator(global::CppSharp.Parser.AST.BinaryOperator.__Internal native, bool skipVTables = false) + private FunctionTemplateSpecialization(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected BinaryOperator(void* native, bool skipVTables = false) - : base((void*) null) + protected FunctionTemplateSpecialization(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public BinaryOperator(string str, global::CppSharp.Parser.AST.Expression lhs, global::CppSharp.Parser.AST.Expression rhs, string opcodeStr) - : this((void*) null) + public FunctionTemplateSpecialization() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, str); - var __arg0 = __basicString0.__Instance; - var __arg1 = ReferenceEquals(lhs, null) ? global::System.IntPtr.Zero : lhs.__Instance; - var __arg2 = ReferenceEquals(rhs, null) ? global::System.IntPtr.Zero : rhs.__Instance; - var __basicString3 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString3, opcodeStr); - var __arg3 = __basicString3.__Instance; - __Internal.ctor((__Instance + __PointerAdjustment), __arg0, __arg1, __arg2, __arg3); - __basicString0.Dispose(false); - __basicString3.Dispose(false); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public BinaryOperator(global::CppSharp.Parser.AST.BinaryOperator _0) - : this((void*) null) + public FunctionTemplateSpecialization(global::CppSharp.Parser.AST.FunctionTemplateSpecialization _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -12357,11 +12220,16 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Statement __dummy; + global::CppSharp.Parser.AST.FunctionTemplateSpecialization __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -12370,137 +12238,230 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.Expression LHS + public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) + { + var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); + __Internal.GetArguments(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); + return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); + } + + public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearArguments() + { + __Internal.ClearArguments((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.FunctionTemplate Template { get { - global::CppSharp.Parser.AST.Expression __result0; - if (((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->LHS == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->LHS)) - __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->LHS]; - else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->LHS); + global::CppSharp.Parser.AST.FunctionTemplate __result0; + if (((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.FunctionTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template)) + __result0 = (global::CppSharp.Parser.AST.FunctionTemplate) global::CppSharp.Parser.AST.FunctionTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template]; + else __result0 = global::CppSharp.Parser.AST.FunctionTemplate.__CreateInstance(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template); return __result0; } set { - ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->LHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*)__Instance)->_template = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public global::CppSharp.Parser.AST.Expression RHS + public global::CppSharp.Parser.AST.Function SpecializedFunction { get { - global::CppSharp.Parser.AST.Expression __result0; - if (((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->RHS == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->RHS)) - __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->RHS]; - else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->RHS); + global::CppSharp.Parser.AST.Function __result0; + if (((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction)) + __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction]; + else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction); return __result0; } set { - ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->RHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*)__Instance)->specializedFunction = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public string OpcodeStr + public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->opcodeStr)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + return ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializationKind; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->opcodeStr), value); + ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*)__Instance)->specializationKind = value; + } + } + + public uint ArgumentsCount + { + get + { + var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class CallExpr : global::CppSharp.Parser.AST.Expression, IDisposable + public unsafe partial class VarTemplate : global::CppSharp.Parser.AST.Template, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 136)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.StatementClass _class; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal global::System.IntPtr decl; + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C @string; + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(12)] + internal global::System.IntPtr _namespace; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; [FieldOffset(20)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expression___N_std_N___1_S_allocator__S0_ Arguments; + internal int lineNumberStart; + + [FieldOffset(24)] + internal int lineNumberEnd; + + [FieldOffset(28)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + + [FieldOffset(52)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(64)] + internal byte isIncomplete; + + [FieldOffset(65)] + internal byte isDependent; + + [FieldOffset(66)] + internal byte isImplicit; + + [FieldOffset(67)] + internal byte isInvalid; + + [FieldOffset(68)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(72)] + internal uint definitionOrder; + + [FieldOffset(76)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(88)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(100)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(104)] + internal global::System.IntPtr comment; + + [FieldOffset(108)] + internal global::System.IntPtr TemplatedDecl; + + [FieldOffset(112)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Parameters; + + [FieldOffset(124)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_VarTemplateSpecialization___N_std_N___1_S_allocator__S0_ Specializations; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8CallExprC2ERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEPNS1_11DeclarationE")] - internal static extern void ctor(global::System.IntPtr instance, global::System.IntPtr str, global::System.IntPtr decl); + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplateC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8CallExprC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplateC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8CallExprD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplateD2Ev")] internal static extern void dtor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr12getArgumentsEj")] - internal static extern global::System.IntPtr GetArguments(global::System.IntPtr instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate18getSpecializationsEj")] + internal static extern global::System.IntPtr GetSpecializations(global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr12addArgumentsERPNS1_10ExpressionE")] - internal static extern void AddArguments(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate18addSpecializationsERPNS1_25VarTemplateSpecializationE")] + internal static extern void AddSpecializations(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr14clearArgumentsEv")] - internal static extern void ClearArguments(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate20clearSpecializationsEv")] + internal static extern void ClearSpecializations(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr17getArgumentsCountEv")] - internal static extern uint GetArgumentsCount(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate18FindSpecializationERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEE")] + internal static extern global::System.IntPtr FindSpecialization(global::System.IntPtr instance, global::System.IntPtr usr); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate25FindPartialSpecializationERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEE")] + internal static extern global::System.IntPtr FindPartialSpecialization(global::System.IntPtr instance, global::System.IntPtr usr); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate23getSpecializationsCountEv")] + internal static extern uint GetSpecializationsCount(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.CallExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.VarTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.CallExpr(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.VarTemplate(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.CallExpr __CreateInstance(global::CppSharp.Parser.AST.CallExpr.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.VarTemplate __CreateInstance(global::CppSharp.Parser.AST.VarTemplate.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.CallExpr(native, skipVTables); + return new global::CppSharp.Parser.AST.VarTemplate(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.CallExpr.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VarTemplate.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); - global::CppSharp.Parser.AST.CallExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); + global::CppSharp.Parser.AST.VarTemplate.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private CallExpr(global::CppSharp.Parser.AST.CallExpr.__Internal native, bool skipVTables = false) + private VarTemplate(global::CppSharp.Parser.AST.VarTemplate.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected CallExpr(void* native, bool skipVTables = false) + protected VarTemplate(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -12509,24 +12470,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public CallExpr(string str, global::CppSharp.Parser.AST.Declaration decl) + public VarTemplate() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, str); - var __arg0 = __basicString0.__Instance; - var __arg1 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; - __Internal.ctor((__Instance + __PointerAdjustment), __arg0, __arg1); - __basicString0.Dispose(false); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public CallExpr(global::CppSharp.Parser.AST.CallExpr _0) + public VarTemplate(global::CppSharp.Parser.AST.VarTemplate _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -12539,7 +12495,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Statement __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -12548,118 +12504,211 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.Expression GetArguments(uint i) - { - var __ret = __Internal.GetArguments((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Expression __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(__ret); - return __result0; - } + public global::CppSharp.Parser.AST.VarTemplateSpecialization GetSpecializations(uint i) + { + var __ret = __Internal.GetSpecializations((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.VarTemplateSpecialization __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.VarTemplateSpecialization) global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.VarTemplateSpecialization.__CreateInstance(__ret); + return __result0; + } + + public void AddSpecializations(global::CppSharp.Parser.AST.VarTemplateSpecialization s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddSpecializations((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearSpecializations() + { + __Internal.ClearSpecializations((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.VarTemplateSpecialization FindSpecialization(string usr) + { + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, usr); + var __arg0 = __basicString0.__Instance; + var __ret = __Internal.FindSpecialization((__Instance + __PointerAdjustment), __arg0); + __basicString0.Dispose(false); + global::CppSharp.Parser.AST.VarTemplateSpecialization __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.VarTemplateSpecialization) global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.VarTemplateSpecialization.__CreateInstance(__ret); + return __result0; + } + + public global::CppSharp.Parser.AST.VarTemplatePartialSpecialization FindPartialSpecialization(string usr) + { + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, usr); + var __arg0 = __basicString0.__Instance; + var __ret = __Internal.FindPartialSpecialization((__Instance + __PointerAdjustment), __arg0); + __basicString0.Dispose(false); + global::CppSharp.Parser.AST.VarTemplatePartialSpecialization __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.VarTemplatePartialSpecialization) global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__CreateInstance(__ret); + return __result0; + } + + public uint SpecializationsCount + { + get + { + var __ret = __Internal.GetSpecializationsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } + + public unsafe partial class VarTemplateSpecialization : global::CppSharp.Parser.AST.Variable, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 148)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(12)] + internal global::System.IntPtr _namespace; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(20)] + internal int lineNumberStart; + + [FieldOffset(24)] + internal int lineNumberEnd; + + [FieldOffset(28)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + + [FieldOffset(52)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(64)] + internal byte isIncomplete; + + [FieldOffset(65)] + internal byte isDependent; + + [FieldOffset(66)] + internal byte isImplicit; + + [FieldOffset(67)] + internal byte isInvalid; + + [FieldOffset(68)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(72)] + internal uint definitionOrder; + + [FieldOffset(76)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; - public void AddArguments(global::CppSharp.Parser.AST.Expression s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(88)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; - public void ClearArguments() - { - __Internal.ClearArguments((__Instance + __PointerAdjustment)); - } + [FieldOffset(100)] + internal global::System.IntPtr originalPtr; - public uint ArgumentsCount - { - get - { - var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - } + [FieldOffset(104)] + internal global::System.IntPtr comment; - public unsafe partial class CXXConstructExpr : global::CppSharp.Parser.AST.Expression, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 32)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.StatementClass _class; + [FieldOffset(108)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C mangled; - [FieldOffset(4)] - internal global::System.IntPtr decl; + [FieldOffset(120)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - [FieldOffset(8)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C @string; + [FieldOffset(128)] + internal global::System.IntPtr templatedDecl; - [FieldOffset(20)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expression___N_std_N___1_S_allocator__S0_ Arguments; + [FieldOffset(132)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_N___1_S_allocator__S0_ Arguments; + + [FieldOffset(144)] + internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExprC2ERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEPNS1_11DeclarationE")] - internal static extern void ctor(global::System.IntPtr instance, global::System.IntPtr str, global::System.IntPtr decl); + EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecializationC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExprC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecializationC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExprD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecializationD2Ev")] internal static extern void dtor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr12getArgumentsEj")] - internal static extern global::System.IntPtr GetArguments(global::System.IntPtr instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecialization12getArgumentsEj")] + internal static extern void GetArguments(global::System.IntPtr @return, global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr12addArgumentsERPNS1_10ExpressionE")] + EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecialization12addArgumentsERNS1_16TemplateArgumentE")] internal static extern void AddArguments(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr14clearArgumentsEv")] + EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecialization14clearArgumentsEv")] internal static extern void ClearArguments(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr17getArgumentsCountEv")] + EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecialization17getArgumentsCountEv")] internal static extern uint GetArgumentsCount(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.CXXConstructExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.VarTemplateSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.CXXConstructExpr(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.VarTemplateSpecialization(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.CXXConstructExpr __CreateInstance(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.VarTemplateSpecialization __CreateInstance(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.CXXConstructExpr(native, skipVTables); + return new global::CppSharp.Parser.AST.VarTemplateSpecialization(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); - global::CppSharp.Parser.AST.CXXConstructExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal)); + global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private CXXConstructExpr(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native, bool skipVTables = false) + private VarTemplateSpecialization(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected CXXConstructExpr(void* native, bool skipVTables = false) + protected VarTemplateSpecialization(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -12668,24 +12717,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public CXXConstructExpr(string str, global::CppSharp.Parser.AST.Declaration decl) + public VarTemplateSpecialization() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, str); - var __arg0 = __basicString0.__Instance; - var __arg1 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; - __Internal.ctor((__Instance + __PointerAdjustment), __arg0, __arg1); - __basicString0.Dispose(false); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public CXXConstructExpr(global::CppSharp.Parser.AST.CXXConstructExpr _0) + public VarTemplateSpecialization(global::CppSharp.Parser.AST.VarTemplateSpecialization _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -12698,7 +12742,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Statement __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -12707,18 +12751,14 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.Expression GetArguments(uint i) + public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) { - var __ret = __Internal.GetArguments((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Expression __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(__ret); - return __result0; + var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); + __Internal.GetArguments(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); + return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); } - public void AddArguments(global::CppSharp.Parser.AST.Expression s) + public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); @@ -12731,6 +12771,37 @@ namespace CppSharp __Internal.ClearArguments((__Instance + __PointerAdjustment)); } + public global::CppSharp.Parser.AST.VarTemplate TemplatedDecl + { + get + { + global::CppSharp.Parser.AST.VarTemplate __result0; + if (((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.VarTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl)) + __result0 = (global::CppSharp.Parser.AST.VarTemplate) global::CppSharp.Parser.AST.VarTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl]; + else __result0 = global::CppSharp.Parser.AST.VarTemplate.__CreateInstance(((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*)__Instance)->templatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind + { + get + { + return ((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->specializationKind; + } + + set + { + ((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*)__Instance)->specializationKind = value; + } + } + public uint ArgumentsCount { get @@ -12741,9 +12812,9 @@ namespace CppSharp } } - public unsafe partial class TemplateTemplateParameter : global::CppSharp.Parser.AST.Template, IDisposable + public unsafe partial class VarTemplatePartialSpecialization : global::CppSharp.Parser.AST.VarTemplateSpecialization, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 128)] + [StructLayout(LayoutKind.Explicit, Size = 148)] public new partial struct __Internal { [FieldOffset(0)] @@ -12807,61 +12878,61 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(108)] - internal global::System.IntPtr TemplatedDecl; + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C mangled; - [FieldOffset(112)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Parameters; + [FieldOffset(120)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - [FieldOffset(124)] - internal byte isParameterPack; + [FieldOffset(128)] + internal global::System.IntPtr templatedDecl; - [FieldOffset(125)] - internal byte isPackExpansion; + [FieldOffset(132)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_N___1_S_allocator__S0_ Arguments; - [FieldOffset(126)] - internal byte isExpandedParameterPack; + [FieldOffset(144)] + internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25TemplateTemplateParameterC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST32VarTemplatePartialSpecializationC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25TemplateTemplateParameterC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST32VarTemplatePartialSpecializationC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25TemplateTemplateParameterD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST32VarTemplatePartialSpecializationD2Ev")] internal static extern void dtor(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.TemplateTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.VarTemplatePartialSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateTemplateParameter(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.VarTemplatePartialSpecialization(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TemplateTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.VarTemplatePartialSpecialization __CreateInstance(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateTemplateParameter(native, skipVTables); + return new global::CppSharp.Parser.AST.VarTemplatePartialSpecialization(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); - global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal)); + global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateTemplateParameter(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native, bool skipVTables = false) + private VarTemplatePartialSpecialization(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TemplateTemplateParameter(void* native, bool skipVTables = false) + protected VarTemplatePartialSpecialization(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -12870,19 +12941,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TemplateTemplateParameter() + public VarTemplatePartialSpecialization() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TemplateTemplateParameter(global::CppSharp.Parser.AST.TemplateTemplateParameter _0) + public VarTemplatePartialSpecialization(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -12903,50 +12974,11 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - - public bool IsParameterPack - { - get - { - return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isParameterPack != 0; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*)__Instance)->isParameterPack = (byte) (value ? 1 : 0); - } - } - - public bool IsPackExpansion - { - get - { - return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isPackExpansion != 0; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*)__Instance)->isPackExpansion = (byte) (value ? 1 : 0); - } - } - - public bool IsExpandedParameterPack - { - get - { - return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isExpandedParameterPack != 0; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*)__Instance)->isExpandedParameterPack = (byte) (value ? 1 : 0); - } - } } - public unsafe partial class NonTypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable + public unsafe partial class Namespace : global::CppSharp.Parser.AST.DeclarationContext, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 132)] + [StructLayout(LayoutKind.Explicit, Size = 232)] public new partial struct __Internal { [FieldOffset(0)] @@ -13010,67 +13042,82 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(108)] - internal uint depth; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ Namespaces; - [FieldOffset(112)] - internal uint index; + [FieldOffset(120)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; - [FieldOffset(116)] - internal byte isParameterPack; + [FieldOffset(132)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; - [FieldOffset(120)] - internal global::System.IntPtr defaultArgument; + [FieldOffset(144)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; - [FieldOffset(124)] - internal uint position; + [FieldOffset(156)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; - [FieldOffset(128)] - internal byte isPackExpansion; + [FieldOffset(168)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; - [FieldOffset(129)] - internal byte isExpandedParameterPack; + [FieldOffset(180)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ TypeAliases; + + [FieldOffset(192)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ Variables; + + [FieldOffset(204)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ Friends; + + [FieldOffset(216)] + internal global::Std.Map.__Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ anonymous; + + [FieldOffset(228)] + internal byte isAnonymous; + + [FieldOffset(229)] + internal byte isInline; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST24NonTypeTemplateParameterC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST9NamespaceC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST24NonTypeTemplateParameterC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST9NamespaceC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST24NonTypeTemplateParameterD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST9NamespaceD2Ev")] internal static extern void dtor(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.NonTypeTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Namespace __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.NonTypeTemplateParameter(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Namespace(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.NonTypeTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Namespace __CreateInstance(global::CppSharp.Parser.AST.Namespace.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.NonTypeTemplateParameter(native, skipVTables); + return new global::CppSharp.Parser.AST.Namespace(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Namespace.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); - global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); + global::CppSharp.Parser.AST.Namespace.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private NonTypeTemplateParameter(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native, bool skipVTables = false) + private Namespace(global::CppSharp.Parser.AST.Namespace.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected NonTypeTemplateParameter(void* native, bool skipVTables = false) + protected Namespace(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -13079,19 +13126,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public NonTypeTemplateParameter() + public Namespace() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public NonTypeTemplateParameter(global::CppSharp.Parser.AST.NonTypeTemplateParameter _0) + public Namespace(global::CppSharp.Parser.AST.Namespace _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -13113,205 +13160,223 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.Expression DefaultArgument + public bool IsInline { get { - global::CppSharp.Parser.AST.Expression __result0; - if (((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument)) - __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument]; - else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument); - return __result0; + return ((global::CppSharp.Parser.AST.Namespace.__Internal*) __Instance)->isInline != 0; } set { - ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->defaultArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.Namespace.__Internal*)__Instance)->isInline = (byte) (value ? 1 : 0); } } + } - public uint Position + public unsafe partial class PreprocessedEntity : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 12)] + public partial struct __Internal { - get - { - return ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->position; - } + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.MacroLocation macroLocation; - set - { - ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->position = value; - } + [FieldOffset(4)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18PreprocessedEntityC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18PreprocessedEntityC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); } - public bool IsPackExpansion + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.PreprocessedEntity __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.PreprocessedEntity(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.PreprocessedEntity __CreateInstance(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.PreprocessedEntity(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); + *(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) ret = native; + return ret.ToPointer(); + } + + private PreprocessedEntity(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected PreprocessedEntity(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public PreprocessedEntity() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public PreprocessedEntity(global::CppSharp.Parser.AST.PreprocessedEntity _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) _0.__Instance); + } + + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.PreprocessedEntity __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.MacroLocation MacroLocation { get { - return ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->isPackExpansion != 0; + return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->macroLocation; } set { - ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->isPackExpansion = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*)__Instance)->macroLocation = value; } } - public bool IsExpandedParameterPack + public global::System.IntPtr OriginalPtr { get { - return ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->isExpandedParameterPack != 0; + return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->originalPtr; } set { - ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->isExpandedParameterPack = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*)__Instance)->originalPtr = (global::System.IntPtr) value; } } - } - public unsafe partial class VarTemplateSpecialization : global::CppSharp.Parser.AST.Variable, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 148)] - public new partial struct __Internal + public global::CppSharp.Parser.AST.DeclarationKind Kind { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(12)] - internal global::System.IntPtr _namespace; - - [FieldOffset(16)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(20)] - internal int lineNumberStart; - - [FieldOffset(24)] - internal int lineNumberEnd; - - [FieldOffset(28)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; - - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - - [FieldOffset(52)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; - - [FieldOffset(64)] - internal byte isIncomplete; - - [FieldOffset(65)] - internal byte isDependent; - - [FieldOffset(66)] - internal byte isImplicit; - - [FieldOffset(67)] - internal byte isInvalid; - - [FieldOffset(68)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(72)] - internal uint definitionOrder; + get + { + return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->kind; + } - [FieldOffset(76)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + set + { + ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*)__Instance)->kind = value; + } + } + } - [FieldOffset(88)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + public unsafe partial class MacroDefinition : global::CppSharp.Parser.AST.PreprocessedEntity, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 44)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.MacroLocation macroLocation; - [FieldOffset(100)] + [FieldOffset(4)] internal global::System.IntPtr originalPtr; - [FieldOffset(104)] - internal global::System.IntPtr comment; - - [FieldOffset(108)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C mangled; + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; - [FieldOffset(120)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + [FieldOffset(12)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; - [FieldOffset(128)] - internal global::System.IntPtr templatedDecl; + [FieldOffset(24)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C expression; - [FieldOffset(132)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_N___1_S_allocator__S0_ Arguments; + [FieldOffset(36)] + internal int lineNumberStart; - [FieldOffset(144)] - internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; + [FieldOffset(40)] + internal int lineNumberEnd; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecializationC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST15MacroDefinitionC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecializationC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST15MacroDefinitionC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecializationD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST15MacroDefinitionD2Ev")] internal static extern void dtor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecialization12getArgumentsEj")] - internal static extern void GetArguments(global::System.IntPtr @return, global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecialization12addArgumentsERNS1_16TemplateArgumentE")] - internal static extern void AddArguments(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecialization14clearArgumentsEv")] - internal static extern void ClearArguments(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecialization17getArgumentsCountEv")] - internal static extern uint GetArgumentsCount(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.VarTemplateSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.MacroDefinition __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VarTemplateSpecialization(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.MacroDefinition(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.VarTemplateSpecialization __CreateInstance(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.MacroDefinition __CreateInstance(global::CppSharp.Parser.AST.MacroDefinition.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VarTemplateSpecialization(native, skipVTables); + return new global::CppSharp.Parser.AST.MacroDefinition(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.MacroDefinition.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal)); - global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal)); + global::CppSharp.Parser.AST.MacroDefinition.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private VarTemplateSpecialization(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal native, bool skipVTables = false) + private MacroDefinition(global::CppSharp.Parser.AST.MacroDefinition.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected VarTemplateSpecialization(void* native, bool skipVTables = false) + protected MacroDefinition(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -13320,19 +13385,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public VarTemplateSpecialization() + public MacroDefinition() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public VarTemplateSpecialization(global::CppSharp.Parser.AST.VarTemplateSpecialization _0) + public MacroDefinition(global::CppSharp.Parser.AST.MacroDefinition _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -13345,7 +13410,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.PreprocessedEntity __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -13354,212 +13419,129 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) - { - var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); - __Internal.GetArguments(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); - } - - public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) + public string Name { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); - } + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->name)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } - public void ClearArguments() - { - __Internal.ClearArguments((__Instance + __PointerAdjustment)); + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->name), value); + } } - public global::CppSharp.Parser.AST.VarTemplate TemplatedDecl + public string Expression { get { - global::CppSharp.Parser.AST.VarTemplate __result0; - if (((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.VarTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl)) - __result0 = (global::CppSharp.Parser.AST.VarTemplate) global::CppSharp.Parser.AST.VarTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl]; - else __result0 = global::CppSharp.Parser.AST.VarTemplate.__CreateInstance(((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl); - return __result0; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->expression)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*)__Instance)->templatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->expression), value); } } - public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind + public int LineNumberStart { get { - return ((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->specializationKind; + return ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->lineNumberStart; } set { - ((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*)__Instance)->specializationKind = value; + ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->lineNumberStart = value; } } - public uint ArgumentsCount + public int LineNumberEnd { get { - var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->lineNumberEnd; + } + + set + { + ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->lineNumberEnd = value; } } } - public unsafe partial class VarTemplate : global::CppSharp.Parser.AST.Template, IDisposable + public unsafe partial class MacroExpansion : global::CppSharp.Parser.AST.PreprocessedEntity, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 136)] + [StructLayout(LayoutKind.Explicit, Size = 40)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + internal global::CppSharp.Parser.AST.MacroLocation macroLocation; [FieldOffset(4)] - internal int maxFieldAlignment; + internal global::System.IntPtr originalPtr; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(12)] - internal global::System.IntPtr _namespace; - - [FieldOffset(16)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(20)] - internal int lineNumberStart; - - [FieldOffset(24)] - internal int lineNumberEnd; - - [FieldOffset(28)] internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - - [FieldOffset(52)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; - - [FieldOffset(64)] - internal byte isIncomplete; - - [FieldOffset(65)] - internal byte isDependent; - - [FieldOffset(66)] - internal byte isImplicit; - - [FieldOffset(67)] - internal byte isInvalid; - - [FieldOffset(68)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(72)] - internal uint definitionOrder; - - [FieldOffset(76)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(88)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; - - [FieldOffset(100)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(104)] - internal global::System.IntPtr comment; - - [FieldOffset(108)] - internal global::System.IntPtr TemplatedDecl; - - [FieldOffset(112)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Parameters; + [FieldOffset(24)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C text; - [FieldOffset(124)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_VarTemplateSpecialization___N_std_N___1_S_allocator__S0_ Specializations; + [FieldOffset(36)] + internal global::System.IntPtr definition; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplateC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST14MacroExpansionC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplateC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplateD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate18getSpecializationsEj")] - internal static extern global::System.IntPtr GetSpecializations(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate18addSpecializationsERPNS1_25VarTemplateSpecializationE")] - internal static extern void AddSpecializations(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate20clearSpecializationsEv")] - internal static extern void ClearSpecializations(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate18FindSpecializationERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEE")] - internal static extern global::System.IntPtr FindSpecialization(global::System.IntPtr instance, global::System.IntPtr usr); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate25FindPartialSpecializationERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEE")] - internal static extern global::System.IntPtr FindPartialSpecialization(global::System.IntPtr instance, global::System.IntPtr usr); + EntryPoint="_ZN8CppSharp9CppParser3AST14MacroExpansionC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate23getSpecializationsCountEv")] - internal static extern uint GetSpecializationsCount(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST14MacroExpansionD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.VarTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.MacroExpansion __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VarTemplate(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.MacroExpansion(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.VarTemplate __CreateInstance(global::CppSharp.Parser.AST.VarTemplate.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.MacroExpansion __CreateInstance(global::CppSharp.Parser.AST.MacroExpansion.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VarTemplate(native, skipVTables); + return new global::CppSharp.Parser.AST.MacroExpansion(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.VarTemplate.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.MacroExpansion.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); - global::CppSharp.Parser.AST.VarTemplate.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal)); + global::CppSharp.Parser.AST.MacroExpansion.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private VarTemplate(global::CppSharp.Parser.AST.VarTemplate.__Internal native, bool skipVTables = false) + private MacroExpansion(global::CppSharp.Parser.AST.MacroExpansion.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected VarTemplate(void* native, bool skipVTables = false) + protected MacroExpansion(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -13568,19 +13550,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public VarTemplate() + public MacroExpansion() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public VarTemplate(global::CppSharp.Parser.AST.VarTemplate _0) + public MacroExpansion(global::CppSharp.Parser.AST.MacroExpansion _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -13593,7 +13575,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.PreprocessedEntity __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -13602,73 +13584,60 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.VarTemplateSpecialization GetSpecializations(uint i) - { - var __ret = __Internal.GetSpecializations((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.VarTemplateSpecialization __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.VarTemplateSpecialization) global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.VarTemplateSpecialization.__CreateInstance(__ret); - return __result0; - } - - public void AddSpecializations(global::CppSharp.Parser.AST.VarTemplateSpecialization s) + public string Name { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddSpecializations((__Instance + __PointerAdjustment), __arg0); - } + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->name)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } - public void ClearSpecializations() - { - __Internal.ClearSpecializations((__Instance + __PointerAdjustment)); + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*)__Instance)->name), value); + } } - public global::CppSharp.Parser.AST.VarTemplateSpecialization FindSpecialization(string usr) + public string Text { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, usr); - var __arg0 = __basicString0.__Instance; - var __ret = __Internal.FindSpecialization((__Instance + __PointerAdjustment), __arg0); - __basicString0.Dispose(false); - global::CppSharp.Parser.AST.VarTemplateSpecialization __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.VarTemplateSpecialization) global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.VarTemplateSpecialization.__CreateInstance(__ret); - return __result0; - } + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->text)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } - public global::CppSharp.Parser.AST.VarTemplatePartialSpecialization FindPartialSpecialization(string usr) - { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, usr); - var __arg0 = __basicString0.__Instance; - var __ret = __Internal.FindPartialSpecialization((__Instance + __PointerAdjustment), __arg0); - __basicString0.Dispose(false); - global::CppSharp.Parser.AST.VarTemplatePartialSpecialization __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.VarTemplatePartialSpecialization) global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__CreateInstance(__ret); - return __result0; + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*)__Instance)->text), value); + } } - public uint SpecializationsCount + public global::CppSharp.Parser.AST.MacroDefinition Definition { get { - var __ret = __Internal.GetSpecializationsCount((__Instance + __PointerAdjustment)); - return __ret; + global::CppSharp.Parser.AST.MacroDefinition __result0; + if (((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition)) + __result0 = (global::CppSharp.Parser.AST.MacroDefinition) global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap[((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition]; + else __result0 = global::CppSharp.Parser.AST.MacroDefinition.__CreateInstance(((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.MacroExpansion.__Internal*)__Instance)->definition = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } - public unsafe partial class VarTemplatePartialSpecialization : global::CppSharp.Parser.AST.VarTemplateSpecialization, IDisposable + public unsafe partial class TranslationUnit : global::CppSharp.Parser.AST.Namespace, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 148)] + [StructLayout(LayoutKind.Explicit, Size = 260)] public new partial struct __Internal { [FieldOffset(0)] @@ -13732,171 +13701,111 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(108)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C mangled; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ Namespaces; [FieldOffset(120)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - - [FieldOffset(128)] - internal global::System.IntPtr templatedDecl; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; [FieldOffset(132)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_N___1_S_allocator__S0_ Arguments; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; [FieldOffset(144)] - internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST32VarTemplatePartialSpecializationC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST32VarTemplatePartialSpecializationC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST32VarTemplatePartialSpecializationD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); - } - - internal static new global::CppSharp.Parser.AST.VarTemplatePartialSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.VarTemplatePartialSpecialization(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.VarTemplatePartialSpecialization __CreateInstance(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.VarTemplatePartialSpecialization(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal)); - global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private VarTemplatePartialSpecialization(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected VarTemplatePartialSpecialization(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; - public VarTemplatePartialSpecialization() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } + [FieldOffset(156)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; - public VarTemplatePartialSpecialization(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(168)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - } + [FieldOffset(180)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ TypeAliases; - public unsafe partial class MacroDefinition : global::CppSharp.Parser.AST.PreprocessedEntity, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 44)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.MacroLocation macroLocation; + [FieldOffset(192)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ Variables; - [FieldOffset(4)] - internal global::System.IntPtr originalPtr; + [FieldOffset(204)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ Friends; - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + [FieldOffset(216)] + internal global::Std.Map.__Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ anonymous; - [FieldOffset(12)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + [FieldOffset(228)] + internal byte isAnonymous; - [FieldOffset(24)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C expression; + [FieldOffset(229)] + internal byte isInline; - [FieldOffset(36)] - internal int lineNumberStart; + [FieldOffset(232)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C fileName; - [FieldOffset(40)] - internal int lineNumberEnd; + [FieldOffset(244)] + internal byte isSystemHeader; + + [FieldOffset(248)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_MacroDefinition___N_std_N___1_S_allocator__S0_ Macros; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15MacroDefinitionC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnitC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15MacroDefinitionC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnitC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15MacroDefinitionD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnitD2Ev")] internal static extern void dtor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnit9getMacrosEj")] + internal static extern global::System.IntPtr GetMacros(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnit9addMacrosERPNS1_15MacroDefinitionE")] + internal static extern void AddMacros(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnit11clearMacrosEv")] + internal static extern void ClearMacros(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnit14getMacrosCountEv")] + internal static extern uint GetMacrosCount(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.MacroDefinition __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TranslationUnit __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.MacroDefinition(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TranslationUnit(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.MacroDefinition __CreateInstance(global::CppSharp.Parser.AST.MacroDefinition.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TranslationUnit __CreateInstance(global::CppSharp.Parser.AST.TranslationUnit.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.MacroDefinition(native, skipVTables); + return new global::CppSharp.Parser.AST.TranslationUnit(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.MacroDefinition.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TranslationUnit.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal)); - global::CppSharp.Parser.AST.MacroDefinition.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal)); + global::CppSharp.Parser.AST.TranslationUnit.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private MacroDefinition(global::CppSharp.Parser.AST.MacroDefinition.__Internal native, bool skipVTables = false) + private TranslationUnit(global::CppSharp.Parser.AST.TranslationUnit.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected MacroDefinition(void* native, bool skipVTables = false) + protected TranslationUnit(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -13905,19 +13814,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public MacroDefinition() + public TranslationUnit() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public MacroDefinition(global::CppSharp.Parser.AST.MacroDefinition _0) + public TranslationUnit(global::CppSharp.Parser.AST.TranslationUnit _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -13930,7 +13839,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.PreprocessedEntity __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -13939,27 +13848,35 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public string Name + public global::CppSharp.Parser.AST.MacroDefinition GetMacros(uint i) { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->name)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + var __ret = __Internal.GetMacros((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.MacroDefinition __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.MacroDefinition) global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.MacroDefinition.__CreateInstance(__ret); + return __result0; + } - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->name), value); - } + public void AddMacros(global::CppSharp.Parser.AST.MacroDefinition s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddMacros((__Instance + __PointerAdjustment), __arg0); } - public string Expression + public void ClearMacros() + { + __Internal.ClearMacros((__Instance + __PointerAdjustment)); + } + + public string FileName { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->expression)); + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TranslationUnit.__Internal*) __Instance)->fileName)); var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); __basicStringRet0.Dispose(false); return __stringRet0; @@ -13967,122 +13884,156 @@ namespace CppSharp set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->expression), value); + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TranslationUnit.__Internal*)__Instance)->fileName), value); } } - public int LineNumberStart + public bool IsSystemHeader { get { - return ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->lineNumberStart; + return ((global::CppSharp.Parser.AST.TranslationUnit.__Internal*) __Instance)->isSystemHeader != 0; } set { - ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->lineNumberStart = value; + ((global::CppSharp.Parser.AST.TranslationUnit.__Internal*)__Instance)->isSystemHeader = (byte) (value ? 1 : 0); } } - public int LineNumberEnd + public uint MacrosCount { get { - return ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->lineNumberEnd; - } - - set - { - ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->lineNumberEnd = value; + var __ret = __Internal.GetMacrosCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class MacroExpansion : global::CppSharp.Parser.AST.PreprocessedEntity, IDisposable + public unsafe partial class NativeLibrary : IDisposable { [StructLayout(LayoutKind.Explicit, Size = 40)] - public new partial struct __Internal + public partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.MacroLocation macroLocation; - - [FieldOffset(4)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C fileName; [FieldOffset(12)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + internal global::CppSharp.Parser.AST.ArchType archType; - [FieldOffset(24)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C text; + [FieldOffset(16)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C___N_std_N___1_S_allocator__S0_ Symbols; - [FieldOffset(36)] - internal global::System.IntPtr definition; + [FieldOffset(28)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C___N_std_N___1_S_allocator__S0_ Dependencies; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14MacroExpansionC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibraryC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14MacroExpansionC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibraryC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14MacroExpansionD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibraryD2Ev")] internal static extern void dtor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary10getSymbolsEj")] + internal static extern global::System.IntPtr GetSymbols(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary10addSymbolsEPKc")] + internal static extern void AddSymbols(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary12clearSymbolsEv")] + internal static extern void ClearSymbols(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary15getDependenciesEj")] + internal static extern global::System.IntPtr GetDependencies(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary15addDependenciesEPKc")] + internal static extern void AddDependencies(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary17clearDependenciesEv")] + internal static extern void ClearDependencies(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary15getSymbolsCountEv")] + internal static extern uint GetSymbolsCount(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary20getDependenciesCountEv")] + internal static extern uint GetDependenciesCount(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.MacroExpansion __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.NativeLibrary __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.MacroExpansion(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.NativeLibrary(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.MacroExpansion __CreateInstance(global::CppSharp.Parser.AST.MacroExpansion.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.NativeLibrary __CreateInstance(global::CppSharp.Parser.AST.NativeLibrary.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.MacroExpansion(native, skipVTables); + return new global::CppSharp.Parser.AST.NativeLibrary(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.MacroExpansion.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.NativeLibrary.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal)); - global::CppSharp.Parser.AST.MacroExpansion.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NativeLibrary.__Internal)); + global::CppSharp.Parser.AST.NativeLibrary.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private MacroExpansion(global::CppSharp.Parser.AST.MacroExpansion.__Internal native, bool skipVTables = false) + private NativeLibrary(global::CppSharp.Parser.AST.NativeLibrary.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected MacroExpansion(void* native, bool skipVTables = false) - : base((void*) null) + protected NativeLibrary(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public MacroExpansion() - : this((void*) null) + public NativeLibrary() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NativeLibrary.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public MacroExpansion(global::CppSharp.Parser.AST.MacroExpansion _0) - : this((void*) null) + public NativeLibrary(global::CppSharp.Parser.AST.NativeLibrary _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NativeLibrary.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -14091,24 +14042,61 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.NativeLibrary __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public string GetSymbols(uint i) + { + var __ret = __Internal.GetSymbols((__Instance + __PointerAdjustment), i); + return Marshal.PtrToStringAnsi(__ret); + } + + public void AddSymbols(string s) + { + __Internal.AddSymbols((__Instance + __PointerAdjustment), s); + } + + public void ClearSymbols() + { + __Internal.ClearSymbols((__Instance + __PointerAdjustment)); + } + + public string GetDependencies(uint i) + { + var __ret = __Internal.GetDependencies((__Instance + __PointerAdjustment), i); + return Marshal.PtrToStringAnsi(__ret); + } + + public void AddDependencies(string s) { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.PreprocessedEntity __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; + __Internal.AddDependencies((__Instance + __PointerAdjustment), s); } - public string Name + public void ClearDependencies() + { + __Internal.ClearDependencies((__Instance + __PointerAdjustment)); + } + + public string FileName { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->name)); + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.NativeLibrary.__Internal*) __Instance)->fileName)); var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); __basicStringRet0.Dispose(false); return __stringRet0; @@ -14116,237 +14104,141 @@ namespace CppSharp set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*)__Instance)->name), value); + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.NativeLibrary.__Internal*)__Instance)->fileName), value); } } - public string Text + public global::CppSharp.Parser.AST.ArchType ArchType { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->text)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + return ((global::CppSharp.Parser.AST.NativeLibrary.__Internal*) __Instance)->archType; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*)__Instance)->text), value); + ((global::CppSharp.Parser.AST.NativeLibrary.__Internal*)__Instance)->archType = value; } } - public global::CppSharp.Parser.AST.MacroDefinition Definition + public uint SymbolsCount { get { - global::CppSharp.Parser.AST.MacroDefinition __result0; - if (((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition)) - __result0 = (global::CppSharp.Parser.AST.MacroDefinition) global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap[((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition]; - else __result0 = global::CppSharp.Parser.AST.MacroDefinition.__CreateInstance(((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition); - return __result0; + var __ret = __Internal.GetSymbolsCount((__Instance + __PointerAdjustment)); + return __ret; } + } - set + public uint DependenciesCount + { + get { - ((global::CppSharp.Parser.AST.MacroExpansion.__Internal*)__Instance)->definition = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + var __ret = __Internal.GetDependenciesCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class TranslationUnit : global::CppSharp.Parser.AST.Namespace, IDisposable + public unsafe partial class ASTContext : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 260)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 12)] + public partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(12)] - internal global::System.IntPtr _namespace; - - [FieldOffset(16)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(20)] - internal int lineNumberStart; - - [FieldOffset(24)] - internal int lineNumberEnd; - - [FieldOffset(28)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; - - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - - [FieldOffset(52)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; - - [FieldOffset(64)] - internal byte isIncomplete; - - [FieldOffset(65)] - internal byte isDependent; - - [FieldOffset(66)] - internal byte isImplicit; - - [FieldOffset(67)] - internal byte isInvalid; - - [FieldOffset(68)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(72)] - internal uint definitionOrder; - - [FieldOffset(76)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(88)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; - - [FieldOffset(100)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(104)] - internal global::System.IntPtr comment; - - [FieldOffset(108)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ Namespaces; - - [FieldOffset(120)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; - - [FieldOffset(132)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; - - [FieldOffset(144)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; - - [FieldOffset(156)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; - - [FieldOffset(168)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; - - [FieldOffset(180)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ TypeAliases; - - [FieldOffset(192)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ Variables; - - [FieldOffset(204)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ Friends; - - [FieldOffset(216)] - internal global::Std.Map.__Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ anonymous; - - [FieldOffset(228)] - internal byte isAnonymous; - - [FieldOffset(229)] - internal byte isInline; - - [FieldOffset(232)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C fileName; - - [FieldOffset(244)] - internal byte isSystemHeader; - - [FieldOffset(248)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_MacroDefinition___N_std_N___1_S_allocator__S0_ Macros; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TranslationUnit___N_std_N___1_S_allocator__S0_ TranslationUnits; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnitC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContextC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnitC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContextC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnitD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContextD2Ev")] internal static extern void dtor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnit9getMacrosEj")] - internal static extern global::System.IntPtr GetMacros(global::System.IntPtr instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext18FindOrCreateModuleENSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEE")] + internal static extern global::System.IntPtr FindOrCreateModule(global::System.IntPtr instance, global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C File); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnit9addMacrosERPNS1_15MacroDefinitionE")] - internal static extern void AddMacros(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext19getTranslationUnitsEj")] + internal static extern global::System.IntPtr GetTranslationUnits(global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnit11clearMacrosEv")] - internal static extern void ClearMacros(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext19addTranslationUnitsERPNS1_15TranslationUnitE")] + internal static extern void AddTranslationUnits(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnit14getMacrosCountEv")] - internal static extern uint GetMacrosCount(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext21clearTranslationUnitsEv")] + internal static extern void ClearTranslationUnits(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext24getTranslationUnitsCountEv")] + internal static extern uint GetTranslationUnitsCount(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.TranslationUnit __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.ASTContext __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TranslationUnit(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.ASTContext(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TranslationUnit __CreateInstance(global::CppSharp.Parser.AST.TranslationUnit.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.ASTContext __CreateInstance(global::CppSharp.Parser.AST.ASTContext.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TranslationUnit(native, skipVTables); + return new global::CppSharp.Parser.AST.ASTContext(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TranslationUnit.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.ASTContext.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal)); - global::CppSharp.Parser.AST.TranslationUnit.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal)); + global::CppSharp.Parser.AST.ASTContext.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TranslationUnit(global::CppSharp.Parser.AST.TranslationUnit.__Internal native, bool skipVTables = false) + private ASTContext(global::CppSharp.Parser.AST.ASTContext.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TranslationUnit(void* native, bool skipVTables = false) - : base((void*) null) + protected ASTContext(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public TranslationUnit() - : this((void*) null) + public ASTContext() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TranslationUnit(global::CppSharp.Parser.AST.TranslationUnit _0) - : this((void*) null) + public ASTContext(global::CppSharp.Parser.AST.ASTContext _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -14355,11 +14247,16 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.ASTContext __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -14368,198 +14265,127 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.MacroDefinition GetMacros(uint i) + public global::CppSharp.Parser.AST.TranslationUnit FindOrCreateModule(string File) { - var __ret = __Internal.GetMacros((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.MacroDefinition __result0; + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, File); + var __arg0 = *(global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C*) __basicString0.__Instance; + var __ret = __Internal.FindOrCreateModule((__Instance + __PointerAdjustment), __arg0); + __basicString0.Dispose(false); + global::CppSharp.Parser.AST.TranslationUnit __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.TranslationUnit) global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.TranslationUnit.__CreateInstance(__ret); + return __result0; + } + + public global::CppSharp.Parser.AST.TranslationUnit GetTranslationUnits(uint i) + { + var __ret = __Internal.GetTranslationUnits((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.TranslationUnit __result0; if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.MacroDefinition) global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.MacroDefinition.__CreateInstance(__ret); + else if (global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.TranslationUnit) global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.TranslationUnit.__CreateInstance(__ret); return __result0; } - public void AddMacros(global::CppSharp.Parser.AST.MacroDefinition s) + public void AddTranslationUnits(global::CppSharp.Parser.AST.TranslationUnit s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddMacros((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearMacros() - { - __Internal.ClearMacros((__Instance + __PointerAdjustment)); - } - - public string FileName - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TranslationUnit.__Internal*) __Instance)->fileName)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TranslationUnit.__Internal*)__Instance)->fileName), value); - } + __Internal.AddTranslationUnits((__Instance + __PointerAdjustment), __arg0); } - public bool IsSystemHeader + public void ClearTranslationUnits() { - get - { - return ((global::CppSharp.Parser.AST.TranslationUnit.__Internal*) __Instance)->isSystemHeader != 0; - } - - set - { - ((global::CppSharp.Parser.AST.TranslationUnit.__Internal*)__Instance)->isSystemHeader = (byte) (value ? 1 : 0); - } + __Internal.ClearTranslationUnits((__Instance + __PointerAdjustment)); } - public uint MacrosCount + public uint TranslationUnitsCount { get { - var __ret = __Internal.GetMacrosCount((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetTranslationUnitsCount((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class NativeLibrary : IDisposable + public unsafe partial class Comment : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 4)] public partial struct __Internal { [FieldOffset(0)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C fileName; - - [FieldOffset(12)] - internal global::CppSharp.Parser.AST.ArchType archType; - - [FieldOffset(16)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C___N_std_N___1_S_allocator__S0_ Symbols; - - [FieldOffset(28)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C___N_std_N___1_S_allocator__S0_ Dependencies; + internal global::CppSharp.Parser.AST.CommentKind kind; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibraryC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST7CommentC2ENS1_11CommentKindE")] + internal static extern void ctor(global::System.IntPtr instance, global::CppSharp.Parser.AST.CommentKind kind); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibraryC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST7CommentC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibraryD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary10getSymbolsEj")] - internal static extern global::System.IntPtr GetSymbols(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary10addSymbolsEPKc")] - internal static extern void AddSymbols(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary12clearSymbolsEv")] - internal static extern void ClearSymbols(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary15getDependenciesEj")] - internal static extern global::System.IntPtr GetDependencies(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary15addDependenciesEPKc")] - internal static extern void AddDependencies(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary17clearDependenciesEv")] - internal static extern void ClearDependencies(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary15getSymbolsCountEv")] - internal static extern uint GetSymbolsCount(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary20getDependenciesCountEv")] - internal static extern uint GetDependenciesCount(global::System.IntPtr instance); } public global::System.IntPtr __Instance { get; protected set; } protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); protected void*[] __OriginalVTables; protected bool __ownsNativeInstance; - internal static global::CppSharp.Parser.AST.NativeLibrary __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Comment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.NativeLibrary(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Comment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.NativeLibrary __CreateInstance(global::CppSharp.Parser.AST.NativeLibrary.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Comment __CreateInstance(global::CppSharp.Parser.AST.Comment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.NativeLibrary(native, skipVTables); + return new global::CppSharp.Parser.AST.Comment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.NativeLibrary.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Comment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NativeLibrary.__Internal)); - global::CppSharp.Parser.AST.NativeLibrary.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Comment.__Internal)); + *(global::CppSharp.Parser.AST.Comment.__Internal*) ret = native; return ret.ToPointer(); } - private NativeLibrary(global::CppSharp.Parser.AST.NativeLibrary.__Internal native, bool skipVTables = false) + private Comment(global::CppSharp.Parser.AST.Comment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected NativeLibrary(void* native, bool skipVTables = false) + protected Comment(void* native, bool skipVTables = false) { if (native == null) return; __Instance = new global::System.IntPtr(native); } - public NativeLibrary() + public Comment(global::CppSharp.Parser.AST.CommentKind kind) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NativeLibrary.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Comment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + __Internal.ctor((__Instance + __PointerAdjustment), kind); } - public NativeLibrary(global::CppSharp.Parser.AST.NativeLibrary _0) + public Comment(global::CppSharp.Parser.AST.Comment _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NativeLibrary.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Comment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + *((global::CppSharp.Parser.AST.Comment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.Comment.__Internal*) _0.__Instance); } public void Dispose() @@ -14571,194 +14397,215 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.NativeLibrary __dummy; + global::CppSharp.Parser.AST.Comment __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - public string GetSymbols(uint i) + public static implicit operator global::CppSharp.Parser.AST.Comment(global::CppSharp.Parser.AST.CommentKind kind) { - var __ret = __Internal.GetSymbols((__Instance + __PointerAdjustment), i); - return Marshal.PtrToStringAnsi(__ret); + return new global::CppSharp.Parser.AST.Comment(kind); } - public void AddSymbols(string s) + public global::CppSharp.Parser.AST.CommentKind Kind { - __Internal.AddSymbols((__Instance + __PointerAdjustment), s); + get + { + return ((global::CppSharp.Parser.AST.Comment.__Internal*) __Instance)->kind; + } + + set + { + ((global::CppSharp.Parser.AST.Comment.__Internal*)__Instance)->kind = value; + } } + } - public void ClearSymbols() + public unsafe partial class BlockContentComment : global::CppSharp.Parser.AST.Comment, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 4)] + public new partial struct __Internal { - __Internal.ClearSymbols((__Instance + __PointerAdjustment)); + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.CommentKind kind; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19BlockContentCommentC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19BlockContentCommentC2ENS1_11CommentKindE")] + internal static extern void ctor(global::System.IntPtr instance, global::CppSharp.Parser.AST.CommentKind Kind); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19BlockContentCommentC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); } - public string GetDependencies(uint i) + internal static new global::CppSharp.Parser.AST.BlockContentComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - var __ret = __Internal.GetDependencies((__Instance + __PointerAdjustment), i); - return Marshal.PtrToStringAnsi(__ret); + return new global::CppSharp.Parser.AST.BlockContentComment(native.ToPointer(), skipVTables); } - public void AddDependencies(string s) + internal static global::CppSharp.Parser.AST.BlockContentComment __CreateInstance(global::CppSharp.Parser.AST.BlockContentComment.__Internal native, bool skipVTables = false) { - __Internal.AddDependencies((__Instance + __PointerAdjustment), s); + return new global::CppSharp.Parser.AST.BlockContentComment(native, skipVTables); } - public void ClearDependencies() + private static void* __CopyValue(global::CppSharp.Parser.AST.BlockContentComment.__Internal native) { - __Internal.ClearDependencies((__Instance + __PointerAdjustment)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); + *(global::CppSharp.Parser.AST.BlockContentComment.__Internal*) ret = native; + return ret.ToPointer(); } - public string FileName + private BlockContentComment(global::CppSharp.Parser.AST.BlockContentComment.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.NativeLibrary.__Internal*) __Instance)->fileName)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.NativeLibrary.__Internal*)__Instance)->fileName), value); - } + protected BlockContentComment(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - public global::CppSharp.Parser.AST.ArchType ArchType + public BlockContentComment() + : this((void*) null) { - get - { - return ((global::CppSharp.Parser.AST.NativeLibrary.__Internal*) __Instance)->archType; - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - set - { - ((global::CppSharp.Parser.AST.NativeLibrary.__Internal*)__Instance)->archType = value; - } + public BlockContentComment(global::CppSharp.Parser.AST.CommentKind Kind) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), Kind); } - public uint SymbolsCount + public BlockContentComment(global::CppSharp.Parser.AST.BlockContentComment _0) + : this((void*) null) { - get - { - var __ret = __Internal.GetSymbolsCount((__Instance + __PointerAdjustment)); - return __ret; - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.BlockContentComment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.BlockContentComment.__Internal*) _0.__Instance); } - public uint DependenciesCount + public static implicit operator global::CppSharp.Parser.AST.BlockContentComment(global::CppSharp.Parser.AST.CommentKind Kind) { - get - { - var __ret = __Internal.GetDependenciesCount((__Instance + __PointerAdjustment)); - return __ret; - } + return new global::CppSharp.Parser.AST.BlockContentComment(Kind); } } - public unsafe partial class ASTContext : IDisposable + public unsafe partial class FullComment : global::CppSharp.Parser.AST.Comment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 12)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 16)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TranslationUnit___N_std_N___1_S_allocator__S0_ TranslationUnits; + internal global::CppSharp.Parser.AST.CommentKind kind; + + [FieldOffset(4)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BlockContentComment___N_std_N___1_S_allocator__S0_ Blocks; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContextC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11FullCommentC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContextC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST11FullCommentC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContextD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11FullCommentD2Ev")] internal static extern void dtor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext18FindOrCreateModuleENSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEE")] - internal static extern global::System.IntPtr FindOrCreateModule(global::System.IntPtr instance, global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C File); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext19getTranslationUnitsEj")] - internal static extern global::System.IntPtr GetTranslationUnits(global::System.IntPtr instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST11FullComment9getBlocksEj")] + internal static extern global::System.IntPtr GetBlocks(global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext19addTranslationUnitsERPNS1_15TranslationUnitE")] - internal static extern void AddTranslationUnits(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST11FullComment9addBlocksERPNS1_19BlockContentCommentE")] + internal static extern void AddBlocks(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext21clearTranslationUnitsEv")] - internal static extern void ClearTranslationUnits(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11FullComment11clearBlocksEv")] + internal static extern void ClearBlocks(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext24getTranslationUnitsCountEv")] - internal static extern uint GetTranslationUnitsCount(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11FullComment14getBlocksCountEv")] + internal static extern uint GetBlocksCount(global::System.IntPtr instance); } - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.ASTContext __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.FullComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ASTContext(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.FullComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.ASTContext __CreateInstance(global::CppSharp.Parser.AST.ASTContext.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.FullComment __CreateInstance(global::CppSharp.Parser.AST.FullComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ASTContext(native, skipVTables); + return new global::CppSharp.Parser.AST.FullComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.ASTContext.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.FullComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal)); - global::CppSharp.Parser.AST.ASTContext.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullComment.__Internal)); + global::CppSharp.Parser.AST.FullComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private ASTContext(global::CppSharp.Parser.AST.ASTContext.__Internal native, bool skipVTables = false) + private FullComment(global::CppSharp.Parser.AST.FullComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected ASTContext(void* native, bool skipVTables = false) + protected FullComment(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public ASTContext() + public FullComment() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public ASTContext(global::CppSharp.Parser.AST.ASTContext _0) + public FullComment(global::CppSharp.Parser.AST.FullComment _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -14767,16 +14614,11 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.ASTContext __dummy; + global::CppSharp.Parser.AST.Comment __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -14785,50 +14627,35 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.TranslationUnit FindOrCreateModule(string File) - { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, File); - var __arg0 = *(global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C*) __basicString0.__Instance; - var __ret = __Internal.FindOrCreateModule((__Instance + __PointerAdjustment), __arg0); - __basicString0.Dispose(false); - global::CppSharp.Parser.AST.TranslationUnit __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.TranslationUnit) global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.TranslationUnit.__CreateInstance(__ret); - return __result0; - } - - public global::CppSharp.Parser.AST.TranslationUnit GetTranslationUnits(uint i) + public global::CppSharp.Parser.AST.BlockContentComment GetBlocks(uint i) { - var __ret = __Internal.GetTranslationUnits((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.TranslationUnit __result0; + var __ret = __Internal.GetBlocks((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.BlockContentComment __result0; if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.TranslationUnit) global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.TranslationUnit.__CreateInstance(__ret); + else if (global::CppSharp.Parser.AST.BlockContentComment.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.BlockContentComment) global::CppSharp.Parser.AST.BlockContentComment.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.BlockContentComment.__CreateInstance(__ret); return __result0; } - public void AddTranslationUnits(global::CppSharp.Parser.AST.TranslationUnit s) + public void AddBlocks(global::CppSharp.Parser.AST.BlockContentComment s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddTranslationUnits((__Instance + __PointerAdjustment), __arg0); + __Internal.AddBlocks((__Instance + __PointerAdjustment), __arg0); } - public void ClearTranslationUnits() + public void ClearBlocks() { - __Internal.ClearTranslationUnits((__Instance + __PointerAdjustment)); + __Internal.ClearBlocks((__Instance + __PointerAdjustment)); } - public uint TranslationUnitsCount + public uint BlocksCount { get { - var __ret = __Internal.GetTranslationUnitsCount((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetBlocksCount((__Instance + __PointerAdjustment)); return __ret; } } @@ -16813,49 +16640,163 @@ namespace CppSharp internal byte hasTrailingNewline; [FieldOffset(8)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C tagName; + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C tagName; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17HTMLEndTagCommentC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17HTMLEndTagCommentC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17HTMLEndTagCommentD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); + } + + internal static new global::CppSharp.Parser.AST.HTMLEndTagComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.HTMLEndTagComment(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.HTMLEndTagComment __CreateInstance(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.HTMLEndTagComment(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal)); + global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private HTMLEndTagComment(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected HTMLEndTagComment(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public HTMLEndTagComment() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public HTMLEndTagComment(global::CppSharp.Parser.AST.HTMLEndTagComment _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Comment __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public string TagName + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal*) __Instance)->tagName)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal*)__Instance)->tagName), value); + } + } + } + + public unsafe partial class TextComment : global::CppSharp.Parser.AST.InlineContentComment, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 20)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.CommentKind kind; + + [FieldOffset(4)] + internal byte hasTrailingNewline; + + [FieldOffset(8)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C text; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17HTMLEndTagCommentC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11TextCommentC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17HTMLEndTagCommentC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST11TextCommentC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17HTMLEndTagCommentD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11TextCommentD2Ev")] internal static extern void dtor(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.HTMLEndTagComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TextComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.HTMLEndTagComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TextComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.HTMLEndTagComment __CreateInstance(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TextComment __CreateInstance(global::CppSharp.Parser.AST.TextComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.HTMLEndTagComment(native, skipVTables); + return new global::CppSharp.Parser.AST.TextComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TextComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal)); - global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TextComment.__Internal)); + global::CppSharp.Parser.AST.TextComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private HTMLEndTagComment(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal native, bool skipVTables = false) + private TextComment(global::CppSharp.Parser.AST.TextComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected HTMLEndTagComment(void* native, bool skipVTables = false) + protected TextComment(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -16864,19 +16805,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public HTMLEndTagComment() + public TextComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TextComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public HTMLEndTagComment(global::CppSharp.Parser.AST.HTMLEndTagComment _0) + public TextComment(global::CppSharp.Parser.AST.TextComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TextComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -16898,11 +16839,11 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public string TagName + public string Text { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal*) __Instance)->tagName)); + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TextComment.__Internal*) __Instance)->text)); var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); __basicStringRet0.Dispose(false); return __stringRet0; @@ -16910,87 +16851,94 @@ namespace CppSharp set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal*)__Instance)->tagName), value); + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TextComment.__Internal*)__Instance)->text), value); } } } - public unsafe partial class TextComment : global::CppSharp.Parser.AST.InlineContentComment, IDisposable + public unsafe partial class RawComment : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 20)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 32)] + public partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + internal global::CppSharp.Parser.AST.RawCommentKind kind; [FieldOffset(4)] - internal byte hasTrailingNewline; - - [FieldOffset(8)] internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C text; + [FieldOffset(16)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C briefText; + + [FieldOffset(28)] + internal global::System.IntPtr fullCommentBlock; + [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11TextCommentC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST10RawCommentC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11TextCommentC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST10RawCommentC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11TextCommentD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST10RawCommentD2Ev")] internal static extern void dtor(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.TextComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.RawComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TextComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.RawComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TextComment __CreateInstance(global::CppSharp.Parser.AST.TextComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.RawComment __CreateInstance(global::CppSharp.Parser.AST.RawComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TextComment(native, skipVTables); + return new global::CppSharp.Parser.AST.RawComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TextComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.RawComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TextComment.__Internal)); - global::CppSharp.Parser.AST.TextComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); + global::CppSharp.Parser.AST.RawComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TextComment(global::CppSharp.Parser.AST.TextComment.__Internal native, bool skipVTables = false) + private RawComment(global::CppSharp.Parser.AST.RawComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TextComment(void* native, bool skipVTables = false) - : base((void*) null) + protected RawComment(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public TextComment() - : this((void*) null) + public RawComment() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TextComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TextComment(global::CppSharp.Parser.AST.TextComment _0) - : this((void*) null) + public RawComment(global::CppSharp.Parser.AST.RawComment _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TextComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -16999,11 +16947,16 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Comment __dummy; + global::CppSharp.Parser.AST.RawComment __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -17012,11 +16965,24 @@ namespace CppSharp __Instance = IntPtr.Zero; } + public global::CppSharp.Parser.AST.RawCommentKind Kind + { + get + { + return ((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->kind; + } + + set + { + ((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->kind = value; + } + } + public string Text { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TextComment.__Internal*) __Instance)->text)); + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->text)); var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); __basicStringRet0.Dispose(false); return __stringRet0; @@ -17024,7 +16990,41 @@ namespace CppSharp set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TextComment.__Internal*)__Instance)->text), value); + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->text), value); + } + } + + public string BriefText + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->briefText)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->briefText), value); + } + } + + public global::CppSharp.Parser.AST.FullComment FullCommentBlock + { + get + { + global::CppSharp.Parser.AST.FullComment __result0; + if (((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.FullComment.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock)) + __result0 = (global::CppSharp.Parser.AST.FullComment) global::CppSharp.Parser.AST.FullComment.NativeToManagedMap[((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock]; + else __result0 = global::CppSharp.Parser.AST.FullComment.__CreateInstance(((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->fullCommentBlock = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } @@ -17932,6 +17932,53 @@ namespace CppSharp User = 4 } + public unsafe partial class Parser + { + [StructLayout(LayoutKind.Explicit, Size = 0)] + public partial struct __Internal + { + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.Parser __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.Parser(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.Parser __CreateInstance(global::CppSharp.Parser.Parser.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.Parser(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.Parser.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.Parser.__Internal)); + *(global::CppSharp.Parser.Parser.__Internal*) ret = native; + return ret.ToPointer(); + } + + private Parser(global::CppSharp.Parser.Parser.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Parser(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + } + public unsafe partial class CppParserOptions : IDisposable { [StructLayout(LayoutKind.Explicit, Size = 152)] @@ -18788,53 +18835,6 @@ namespace CppSharp } } - public unsafe partial class Parser - { - [StructLayout(LayoutKind.Explicit, Size = 0)] - public partial struct __Internal - { - } - - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.Parser __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.Parser(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.Parser __CreateInstance(global::CppSharp.Parser.Parser.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.Parser(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.Parser.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.Parser.__Internal)); - *(global::CppSharp.Parser.Parser.__Internal*) ret = native; - return ret.ToPointer(); - } - - private Parser(global::CppSharp.Parser.Parser.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected Parser(void* native, bool skipVTables = false) - { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - } - public unsafe partial class ParserResult : IDisposable { [StructLayout(LayoutKind.Explicit, Size = 28)] diff --git a/src/CppParser/Bindings/CSharp/i686-pc-win32-msvc/CppSharp.CppParser.cs b/src/CppParser/Bindings/CSharp/i686-pc-win32-msvc/CppSharp.CppParser.cs index 4e79f33f..5dde7102 100644 --- a/src/CppParser/Bindings/CSharp/i686-pc-win32-msvc/CppSharp.CppParser.cs +++ b/src/CppParser/Bindings/CSharp/i686-pc-win32-msvc/CppSharp.CppParser.cs @@ -681,177 +681,192 @@ namespace CppSharp } } - public unsafe partial class Declaration : IDisposable + public unsafe partial class TagType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 144)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 12)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + internal global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - internal int maxFieldAlignment; + internal byte isDependent; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; + internal global::System.IntPtr declaration; - [FieldOffset(12)] - internal global::System.IntPtr _namespace; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0TagType@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); - [FieldOffset(16)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0TagType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + } - [FieldOffset(20)] - internal int lineNumberStart; + internal static new global::CppSharp.Parser.AST.TagType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.TagType(native.ToPointer(), skipVTables); + } - [FieldOffset(24)] - internal int lineNumberEnd; + internal static global::CppSharp.Parser.AST.TagType __CreateInstance(global::CppSharp.Parser.AST.TagType.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.TagType(native, skipVTables); + } - [FieldOffset(28)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + private static void* __CopyValue(global::CppSharp.Parser.AST.TagType.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); + global::CppSharp.Parser.AST.TagType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(52)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + private TagType(global::CppSharp.Parser.AST.TagType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(76)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + protected TagType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(100)] - internal byte isIncomplete; + public TagType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - [FieldOffset(101)] - internal byte isDependent; + public TagType(global::CppSharp.Parser.AST.TagType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(102)] - internal byte isImplicit; + public global::CppSharp.Parser.AST.Declaration Declaration + { + get + { + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration); + return __result0; + } - [FieldOffset(103)] - internal byte isInvalid; + set + { + ((global::CppSharp.Parser.AST.TagType.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } - [FieldOffset(104)] - internal global::System.IntPtr completeDeclaration; + public unsafe partial class ArrayType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 28)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; - [FieldOffset(108)] - internal uint definitionOrder; + [FieldOffset(4)] + internal byte isDependent; - [FieldOffset(112)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - [FieldOffset(124)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.ArrayType.ArraySize sizeType; - [FieldOffset(136)] - internal global::System.IntPtr originalPtr; + [FieldOffset(20)] + internal int size; - [FieldOffset(140)] - internal global::System.IntPtr comment; + [FieldOffset(24)] + internal int elementSize; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0Declaration@AST@CppParser@CppSharp@@QAE@W4DeclarationKind@123@@Z")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); + EntryPoint="??0ArrayType@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0Declaration@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0ArrayType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1Declaration@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern void dtor(global::System.IntPtr instance, int delete); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getPreprocessedEntities@Declaration@AST@CppParser@CppSharp@@QAEPAVPreprocessedEntity@234@I@Z")] - internal static extern global::System.IntPtr GetPreprocessedEntities(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?addPreprocessedEntities@Declaration@AST@CppParser@CppSharp@@QAEXAAPAVPreprocessedEntity@234@@Z")] - internal static extern void AddPreprocessedEntities(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearPreprocessedEntities@Declaration@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearPreprocessedEntities(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getRedeclarations@Declaration@AST@CppParser@CppSharp@@QAEPAV1234@I@Z")] - internal static extern global::System.IntPtr GetRedeclarations(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?addRedeclarations@Declaration@AST@CppParser@CppSharp@@QAEXAAPAV1234@@Z")] - internal static extern void AddRedeclarations(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearRedeclarations@Declaration@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearRedeclarations(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getPreprocessedEntitiesCount@Declaration@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetPreprocessedEntitiesCount(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getRedeclarationsCount@Declaration@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetRedeclarationsCount(global::System.IntPtr instance); } - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; + public enum ArraySize + { + Constant = 0, + Variable = 1, + Dependent = 2, + Incomplete = 3 + } - internal static global::CppSharp.Parser.AST.Declaration __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.ArrayType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Declaration(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.ArrayType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Declaration __CreateInstance(global::CppSharp.Parser.AST.Declaration.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.ArrayType __CreateInstance(global::CppSharp.Parser.AST.ArrayType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Declaration(native, skipVTables); + return new global::CppSharp.Parser.AST.ArrayType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Declaration.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.ArrayType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); - global::CppSharp.Parser.AST.Declaration.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); + global::CppSharp.Parser.AST.ArrayType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Declaration(global::CppSharp.Parser.AST.Declaration.__Internal native, bool skipVTables = false) + private ArrayType(global::CppSharp.Parser.AST.ArrayType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Declaration(void* native, bool skipVTables = false) + protected ArrayType(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public Declaration(global::CppSharp.Parser.AST.DeclarationKind kind) + public ArrayType() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), kind); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public Declaration(global::CppSharp.Parser.AST.Declaration _0) + public ArrayType(global::CppSharp.Parser.AST.ArrayType _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -860,673 +875,731 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public void Dispose() + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { - Dispose(disposing: true); - } + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->qualifiedType)); + } - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; + set + { + ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } } - public global::CppSharp.Parser.AST.PreprocessedEntity GetPreprocessedEntities(uint i) + public global::CppSharp.Parser.AST.ArrayType.ArraySize SizeType { - var __ret = __Internal.GetPreprocessedEntities((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.PreprocessedEntity __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.PreprocessedEntity.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.PreprocessedEntity) global::CppSharp.Parser.AST.PreprocessedEntity.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.PreprocessedEntity.__CreateInstance(__ret); - return __result0; + get + { + return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->sizeType; + } + + set + { + ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->sizeType = value; + } } - public void AddPreprocessedEntities(global::CppSharp.Parser.AST.PreprocessedEntity s) + public int Size { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddPreprocessedEntities((__Instance + __PointerAdjustment), __arg0); + get + { + return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->size; + } + + set + { + ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->size = value; + } } - public void ClearPreprocessedEntities() + public int ElementSize { - __Internal.ClearPreprocessedEntities((__Instance + __PointerAdjustment)); + get + { + return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->elementSize; + } + + set + { + ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->elementSize = value; + } } + } - public global::CppSharp.Parser.AST.Declaration GetRedeclarations(uint i) + public unsafe partial class FunctionType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 36)] + public new partial struct __Internal { - var __ret = __Internal.GetRedeclarations((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Declaration __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(__ret); - return __result0; + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] + internal byte isDependent; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.CallingConvention callingConvention; + + [FieldOffset(20)] + internal global::CppSharp.Parser.AST.ExceptionSpecType exceptionSpecType; + + [FieldOffset(24)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_S_allocator__S0_ Parameters; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0FunctionType@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0FunctionType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??1FunctionType@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern void dtor(global::System.IntPtr instance, int delete); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getParameters@FunctionType@AST@CppParser@CppSharp@@QAEPAVParameter@234@I@Z")] + internal static extern global::System.IntPtr GetParameters(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?addParameters@FunctionType@AST@CppParser@CppSharp@@QAEXAAPAVParameter@234@@Z")] + internal static extern void AddParameters(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?clearParameters@FunctionType@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearParameters(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getParametersCount@FunctionType@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetParametersCount(global::System.IntPtr instance); } - public void AddRedeclarations(global::CppSharp.Parser.AST.Declaration s) + internal static new global::CppSharp.Parser.AST.FunctionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddRedeclarations((__Instance + __PointerAdjustment), __arg0); + return new global::CppSharp.Parser.AST.FunctionType(native.ToPointer(), skipVTables); } - public void ClearRedeclarations() + internal static global::CppSharp.Parser.AST.FunctionType __CreateInstance(global::CppSharp.Parser.AST.FunctionType.__Internal native, bool skipVTables = false) { - __Internal.ClearRedeclarations((__Instance + __PointerAdjustment)); + return new global::CppSharp.Parser.AST.FunctionType(native, skipVTables); } - public static implicit operator global::CppSharp.Parser.AST.Declaration(global::CppSharp.Parser.AST.DeclarationKind kind) + private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionType.__Internal native) { - return new global::CppSharp.Parser.AST.Declaration(kind); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); + global::CppSharp.Parser.AST.FunctionType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); } - public global::CppSharp.Parser.AST.DeclarationKind Kind + private FunctionType(global::CppSharp.Parser.AST.FunctionType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->kind; - } + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->kind = value; - } + protected FunctionType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - public int MaxFieldAlignment + public FunctionType() + : this((void*) null) { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->maxFieldAlignment; - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->maxFieldAlignment = value; - } + public FunctionType(global::CppSharp.Parser.AST.FunctionType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.AccessSpecifier Access + public override void Dispose(bool disposing) { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->access; - } + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Type __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->access = value; - } + public global::CppSharp.Parser.AST.Parameter GetParameters(uint i) + { + var __ret = __Internal.GetParameters((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Parameter __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Parameter.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Parameter) global::CppSharp.Parser.AST.Parameter.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Parameter.__CreateInstance(__ret); + return __result0; } - public global::CppSharp.Parser.AST.DeclarationContext Namespace + public void AddParameters(global::CppSharp.Parser.AST.Parameter s) { - get - { - global::CppSharp.Parser.AST.DeclarationContext __result0; - if (((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.DeclarationContext.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace)) - __result0 = (global::CppSharp.Parser.AST.DeclarationContext) global::CppSharp.Parser.AST.DeclarationContext.NativeToManagedMap[((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace]; - else __result0 = global::CppSharp.Parser.AST.DeclarationContext.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace); - return __result0; - } + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddParameters((__Instance + __PointerAdjustment), __arg0); + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->_namespace = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + public void ClearParameters() + { + __Internal.ClearParameters((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.SourceLocation Location + public global::CppSharp.Parser.AST.QualifiedType ReturnType { get { - return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->location); + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->returnType)); } set { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->location = value.__Instance; + ((global::CppSharp.Parser.AST.FunctionType.__Internal*)__Instance)->returnType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public int LineNumberStart + public global::CppSharp.Parser.AST.CallingConvention CallingConvention { get { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->lineNumberStart; + return ((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->callingConvention; } set { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->lineNumberStart = value; + ((global::CppSharp.Parser.AST.FunctionType.__Internal*)__Instance)->callingConvention = value; } } - public int LineNumberEnd + public global::CppSharp.Parser.AST.ExceptionSpecType ExceptionSpecType { get { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->lineNumberEnd; + return ((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->exceptionSpecType; } set { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->lineNumberEnd = value; + ((global::CppSharp.Parser.AST.FunctionType.__Internal*)__Instance)->exceptionSpecType = value; } } - public string Name + public uint ParametersCount { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->name)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + var __ret = __Internal.GetParametersCount((__Instance + __PointerAdjustment)); + return __ret; } + } + } - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->name), value); - } + public unsafe partial class PointerType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 20)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] + internal byte isDependent; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedPointee; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.PointerType.TypeModifier modifier; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0PointerType@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0PointerType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); } - public string USR + public enum TypeModifier { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->USR)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + Value = 0, + Pointer = 1, + LVReference = 2, + RVReference = 3 + } - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->USR), value); - } + internal static new global::CppSharp.Parser.AST.PointerType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.PointerType(native.ToPointer(), skipVTables); } - public string DebugText + internal static global::CppSharp.Parser.AST.PointerType __CreateInstance(global::CppSharp.Parser.AST.PointerType.__Internal native, bool skipVTables = false) { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->debugText)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + return new global::CppSharp.Parser.AST.PointerType(native, skipVTables); + } - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->debugText), value); - } + private static void* __CopyValue(global::CppSharp.Parser.AST.PointerType.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); + global::CppSharp.Parser.AST.PointerType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); } - public bool IsIncomplete + private PointerType(global::CppSharp.Parser.AST.PointerType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isIncomplete != 0; - } + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isIncomplete = (byte) (value ? 1 : 0); - } + protected PointerType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - public bool IsDependent + public PointerType() + : this((void*) null) { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isDependent != 0; - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isDependent = (byte) (value ? 1 : 0); - } + public PointerType(global::CppSharp.Parser.AST.PointerType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public bool IsImplicit + public global::CppSharp.Parser.AST.QualifiedType QualifiedPointee { get { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isImplicit != 0; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.PointerType.__Internal*) __Instance)->qualifiedPointee)); } set { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isImplicit = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.PointerType.__Internal*)__Instance)->qualifiedPointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public bool IsInvalid + public global::CppSharp.Parser.AST.PointerType.TypeModifier Modifier { get { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isInvalid != 0; + return ((global::CppSharp.Parser.AST.PointerType.__Internal*) __Instance)->modifier; } set { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isInvalid = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.PointerType.__Internal*)__Instance)->modifier = value; } } + } - public global::CppSharp.Parser.AST.Declaration CompleteDeclaration + public unsafe partial class MemberPointerType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 16)] + public new partial struct __Internal { - get - { - global::CppSharp.Parser.AST.Declaration __result0; - if (((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration); - return __result0; - } + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->completeDeclaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + [FieldOffset(4)] + internal byte isDependent; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal pointee; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0MemberPointerType@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0MemberPointerType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); } - public uint DefinitionOrder + internal static new global::CppSharp.Parser.AST.MemberPointerType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->definitionOrder; - } + return new global::CppSharp.Parser.AST.MemberPointerType(native.ToPointer(), skipVTables); + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->definitionOrder = value; - } + internal static global::CppSharp.Parser.AST.MemberPointerType __CreateInstance(global::CppSharp.Parser.AST.MemberPointerType.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MemberPointerType(native, skipVTables); } - public global::System.IntPtr OriginalPtr + private static void* __CopyValue(global::CppSharp.Parser.AST.MemberPointerType.__Internal native) { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->originalPtr; - } + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); + global::CppSharp.Parser.AST.MemberPointerType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->originalPtr = (global::System.IntPtr) value; - } + private MemberPointerType(global::CppSharp.Parser.AST.MemberPointerType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; } - public global::CppSharp.Parser.AST.RawComment Comment + protected MemberPointerType(void* native, bool skipVTables = false) + : base((void*) null) { - get - { - global::CppSharp.Parser.AST.RawComment __result0; - if (((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.RawComment.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment)) - __result0 = (global::CppSharp.Parser.AST.RawComment) global::CppSharp.Parser.AST.RawComment.NativeToManagedMap[((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment]; - else __result0 = global::CppSharp.Parser.AST.RawComment.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment); - return __result0; - } + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->comment = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + public MemberPointerType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); } - public uint PreprocessedEntitiesCount + public MemberPointerType(global::CppSharp.Parser.AST.MemberPointerType _0) + : this((void*) null) { - get - { - var __ret = __Internal.GetPreprocessedEntitiesCount((__Instance + __PointerAdjustment)); - return __ret; - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public uint RedeclarationsCount + public global::CppSharp.Parser.AST.QualifiedType Pointee { get { - var __ret = __Internal.GetRedeclarationsCount((__Instance + __PointerAdjustment)); - return __ret; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MemberPointerType.__Internal*) __Instance)->pointee)); + } + + set + { + ((global::CppSharp.Parser.AST.MemberPointerType.__Internal*)__Instance)->pointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } } - public unsafe partial class DeclarationContext : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class TypedefType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 264)] + [StructLayout(LayoutKind.Explicit, Size = 12)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + internal global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - internal int maxFieldAlignment; + internal byte isDependent; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; + internal global::System.IntPtr declaration; - [FieldOffset(12)] - internal global::System.IntPtr _namespace; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0TypedefType@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); - [FieldOffset(16)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0TypedefType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + } - [FieldOffset(20)] - internal int lineNumberStart; + internal static new global::CppSharp.Parser.AST.TypedefType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.TypedefType(native.ToPointer(), skipVTables); + } - [FieldOffset(24)] - internal int lineNumberEnd; + internal static global::CppSharp.Parser.AST.TypedefType __CreateInstance(global::CppSharp.Parser.AST.TypedefType.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.TypedefType(native, skipVTables); + } - [FieldOffset(28)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefType.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); + global::CppSharp.Parser.AST.TypedefType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(52)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + private TypedefType(global::CppSharp.Parser.AST.TypedefType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(76)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + protected TypedefType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(100)] - internal byte isIncomplete; + public TypedefType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - [FieldOffset(101)] + public TypedefType(global::CppSharp.Parser.AST.TypedefType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public global::CppSharp.Parser.AST.TypedefNameDecl Declaration + { + get + { + global::CppSharp.Parser.AST.TypedefNameDecl __result0; + if (((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TypedefNameDecl.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration)) + __result0 = (global::CppSharp.Parser.AST.TypedefNameDecl) global::CppSharp.Parser.AST.TypedefNameDecl.NativeToManagedMap[((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration]; + else __result0 = global::CppSharp.Parser.AST.TypedefNameDecl.__CreateInstance(((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.TypedefType.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class AttributedType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] internal byte isDependent; - [FieldOffset(102)] - internal byte isImplicit; + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal modified; - [FieldOffset(103)] - internal byte isInvalid; + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal equivalent; - [FieldOffset(104)] - internal global::System.IntPtr completeDeclaration; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0AttributedType@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); - [FieldOffset(108)] - internal uint definitionOrder; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0AttributedType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + } - [FieldOffset(112)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + internal static new global::CppSharp.Parser.AST.AttributedType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AttributedType(native.ToPointer(), skipVTables); + } - [FieldOffset(124)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + internal static global::CppSharp.Parser.AST.AttributedType __CreateInstance(global::CppSharp.Parser.AST.AttributedType.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AttributedType(native, skipVTables); + } - [FieldOffset(136)] - internal global::System.IntPtr originalPtr; + private static void* __CopyValue(global::CppSharp.Parser.AST.AttributedType.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); + global::CppSharp.Parser.AST.AttributedType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(140)] - internal global::System.IntPtr comment; + private AttributedType(global::CppSharp.Parser.AST.AttributedType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(144)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; + protected AttributedType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(156)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; + public AttributedType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - [FieldOffset(168)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; + public AttributedType(global::CppSharp.Parser.AST.AttributedType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(180)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; + public global::CppSharp.Parser.AST.QualifiedType Modified + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.AttributedType.__Internal*) __Instance)->modified)); + } - [FieldOffset(192)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; + set + { + ((global::CppSharp.Parser.AST.AttributedType.__Internal*)__Instance)->modified = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } - [FieldOffset(204)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; + public global::CppSharp.Parser.AST.QualifiedType Equivalent + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.AttributedType.__Internal*) __Instance)->equivalent)); + } - [FieldOffset(216)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; + set + { + ((global::CppSharp.Parser.AST.AttributedType.__Internal*)__Instance)->equivalent = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + } - [FieldOffset(228)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; + public unsafe partial class DecayedType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; - [FieldOffset(240)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; + [FieldOffset(4)] + internal byte isDependent; - [FieldOffset(252)] - internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal decayed; - [FieldOffset(260)] - internal byte isAnonymous; + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal original; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0DeclarationContext@AST@CppParser@CppSharp@@QAE@W4DeclarationKind@123@@Z")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal pointee; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0DeclarationContext@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="??0DecayedType@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1DeclarationContext@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern void dtor(global::System.IntPtr instance, int delete); + EntryPoint="??0DecayedType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getNamespaces@DeclarationContext@AST@CppParser@CppSharp@@QAEPAVNamespace@234@I@Z")] - internal static extern global::System.IntPtr GetNamespaces(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?addNamespaces@DeclarationContext@AST@CppParser@CppSharp@@QAEXAAPAVNamespace@234@@Z")] - internal static extern void AddNamespaces(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearNamespaces@DeclarationContext@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearNamespaces(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getEnums@DeclarationContext@AST@CppParser@CppSharp@@QAEPAVEnumeration@234@I@Z")] - internal static extern global::System.IntPtr GetEnums(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?addEnums@DeclarationContext@AST@CppParser@CppSharp@@QAEXAAPAVEnumeration@234@@Z")] - internal static extern void AddEnums(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearEnums@DeclarationContext@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearEnums(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getFunctions@DeclarationContext@AST@CppParser@CppSharp@@QAEPAVFunction@234@I@Z")] - internal static extern global::System.IntPtr GetFunctions(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?addFunctions@DeclarationContext@AST@CppParser@CppSharp@@QAEXAAPAVFunction@234@@Z")] - internal static extern void AddFunctions(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearFunctions@DeclarationContext@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearFunctions(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getClasses@DeclarationContext@AST@CppParser@CppSharp@@QAEPAVClass@234@I@Z")] - internal static extern global::System.IntPtr GetClasses(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?addClasses@DeclarationContext@AST@CppParser@CppSharp@@QAEXAAPAVClass@234@@Z")] - internal static extern void AddClasses(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearClasses@DeclarationContext@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearClasses(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getTemplates@DeclarationContext@AST@CppParser@CppSharp@@QAEPAVTemplate@234@I@Z")] - internal static extern global::System.IntPtr GetTemplates(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?addTemplates@DeclarationContext@AST@CppParser@CppSharp@@QAEXAAPAVTemplate@234@@Z")] - internal static extern void AddTemplates(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearTemplates@DeclarationContext@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearTemplates(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getTypedefs@DeclarationContext@AST@CppParser@CppSharp@@QAEPAVTypedefDecl@234@I@Z")] - internal static extern global::System.IntPtr GetTypedefs(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?addTypedefs@DeclarationContext@AST@CppParser@CppSharp@@QAEXAAPAVTypedefDecl@234@@Z")] - internal static extern void AddTypedefs(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearTypedefs@DeclarationContext@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearTypedefs(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getTypeAliases@DeclarationContext@AST@CppParser@CppSharp@@QAEPAVTypeAlias@234@I@Z")] - internal static extern global::System.IntPtr GetTypeAliases(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?addTypeAliases@DeclarationContext@AST@CppParser@CppSharp@@QAEXAAPAVTypeAlias@234@@Z")] - internal static extern void AddTypeAliases(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearTypeAliases@DeclarationContext@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearTypeAliases(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getVariables@DeclarationContext@AST@CppParser@CppSharp@@QAEPAVVariable@234@I@Z")] - internal static extern global::System.IntPtr GetVariables(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?addVariables@DeclarationContext@AST@CppParser@CppSharp@@QAEXAAPAVVariable@234@@Z")] - internal static extern void AddVariables(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearVariables@DeclarationContext@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearVariables(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getFriends@DeclarationContext@AST@CppParser@CppSharp@@QAEPAVFriend@234@I@Z")] - internal static extern global::System.IntPtr GetFriends(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?addFriends@DeclarationContext@AST@CppParser@CppSharp@@QAEXAAPAVFriend@234@@Z")] - internal static extern void AddFriends(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearFriends@DeclarationContext@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearFriends(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getNamespacesCount@DeclarationContext@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetNamespacesCount(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getEnumsCount@DeclarationContext@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetEnumsCount(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getFunctionsCount@DeclarationContext@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetFunctionsCount(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getClassesCount@DeclarationContext@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetClassesCount(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getTemplatesCount@DeclarationContext@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetTemplatesCount(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getTypedefsCount@DeclarationContext@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetTypedefsCount(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getTypeAliasesCount@DeclarationContext@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetTypeAliasesCount(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getVariablesCount@DeclarationContext@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetVariablesCount(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getFriendsCount@DeclarationContext@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetFriendsCount(global::System.IntPtr instance); - } - - internal static new global::CppSharp.Parser.AST.DeclarationContext __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.DecayedType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.DeclarationContext(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.DecayedType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.DeclarationContext __CreateInstance(global::CppSharp.Parser.AST.DeclarationContext.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.DecayedType __CreateInstance(global::CppSharp.Parser.AST.DecayedType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.DeclarationContext(native, skipVTables); + return new global::CppSharp.Parser.AST.DecayedType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.DeclarationContext.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.DecayedType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal)); - global::CppSharp.Parser.AST.DeclarationContext.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); + global::CppSharp.Parser.AST.DecayedType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private DeclarationContext(global::CppSharp.Parser.AST.DeclarationContext.__Internal native, bool skipVTables = false) + private DecayedType(global::CppSharp.Parser.AST.DecayedType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected DeclarationContext(void* native, bool skipVTables = false) + protected DecayedType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -1535,19 +1608,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public DeclarationContext(global::CppSharp.Parser.AST.DeclarationKind kind) + public DecayedType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), kind); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public DeclarationContext(global::CppSharp.Parser.AST.DeclarationContext _0) + public DecayedType(global::CppSharp.Parser.AST.DecayedType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -1556,554 +1629,498 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public global::CppSharp.Parser.AST.QualifiedType Decayed { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->decayed)); + } - public global::CppSharp.Parser.AST.Namespace GetNamespaces(uint i) - { - var __ret = __Internal.GetNamespaces((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Namespace __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Namespace.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Namespace) global::CppSharp.Parser.AST.Namespace.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Namespace.__CreateInstance(__ret); - return __result0; + set + { + ((global::CppSharp.Parser.AST.DecayedType.__Internal*)__Instance)->decayed = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } } - public void AddNamespaces(global::CppSharp.Parser.AST.Namespace s) + public global::CppSharp.Parser.AST.QualifiedType Original { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddNamespaces((__Instance + __PointerAdjustment), __arg0); - } + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->original)); + } - public void ClearNamespaces() - { - __Internal.ClearNamespaces((__Instance + __PointerAdjustment)); + set + { + ((global::CppSharp.Parser.AST.DecayedType.__Internal*)__Instance)->original = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } } - public global::CppSharp.Parser.AST.Enumeration GetEnums(uint i) - { - var __ret = __Internal.GetEnums((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Enumeration __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Enumeration.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Enumeration) global::CppSharp.Parser.AST.Enumeration.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Enumeration.__CreateInstance(__ret); - return __result0; - } - - public void AddEnums(global::CppSharp.Parser.AST.Enumeration s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddEnums((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearEnums() - { - __Internal.ClearEnums((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.Function GetFunctions(uint i) - { - var __ret = __Internal.GetFunctions((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Function __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(__ret); - return __result0; - } - - public void AddFunctions(global::CppSharp.Parser.AST.Function s) + public global::CppSharp.Parser.AST.QualifiedType Pointee { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddFunctions((__Instance + __PointerAdjustment), __arg0); - } + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->pointee)); + } - public void ClearFunctions() - { - __Internal.ClearFunctions((__Instance + __PointerAdjustment)); + set + { + ((global::CppSharp.Parser.AST.DecayedType.__Internal*)__Instance)->pointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } } + } - public global::CppSharp.Parser.AST.Class GetClasses(uint i) + public unsafe partial class TemplateArgument : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 20)] + public partial struct __Internal { - var __ret = __Internal.GetClasses((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Class __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(__ret); - return __result0; - } + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TemplateArgument.ArgumentKind kind; - public void AddClasses(global::CppSharp.Parser.AST.Class s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddClasses((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(4)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; - public void ClearClasses() - { - __Internal.ClearClasses((__Instance + __PointerAdjustment)); - } + [FieldOffset(12)] + internal global::System.IntPtr declaration; - public global::CppSharp.Parser.AST.Template GetTemplates(uint i) - { - var __ret = __Internal.GetTemplates((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Template __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Template.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Template) global::CppSharp.Parser.AST.Template.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Template.__CreateInstance(__ret); - return __result0; - } + [FieldOffset(16)] + internal int integral; - public void AddTemplates(global::CppSharp.Parser.AST.Template s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddTemplates((__Instance + __PointerAdjustment), __arg0); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0TemplateArgument@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); - public void ClearTemplates() - { - __Internal.ClearTemplates((__Instance + __PointerAdjustment)); + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0TemplateArgument@AST@CppParser@CppSharp@@QAE@ABU0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); } - public global::CppSharp.Parser.AST.TypedefDecl GetTypedefs(uint i) + public enum ArgumentKind { - var __ret = __Internal.GetTypedefs((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.TypedefDecl __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TypedefDecl.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.TypedefDecl) global::CppSharp.Parser.AST.TypedefDecl.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.TypedefDecl.__CreateInstance(__ret); - return __result0; + Type = 0, + Declaration = 1, + NullPtr = 2, + Integral = 3, + Template = 4, + TemplateExpansion = 5, + Expression = 6, + Pack = 7 } - public void AddTypedefs(global::CppSharp.Parser.AST.TypedefDecl s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddTypedefs((__Instance + __PointerAdjustment), __arg0); - } + public global::System.IntPtr __Instance { get; protected set; } - public void ClearTypedefs() - { - __Internal.ClearTypedefs((__Instance + __PointerAdjustment)); - } + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; - public global::CppSharp.Parser.AST.TypeAlias GetTypeAliases(uint i) - { - var __ret = __Internal.GetTypeAliases((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.TypeAlias __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TypeAlias.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.TypeAlias) global::CppSharp.Parser.AST.TypeAlias.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.TypeAlias.__CreateInstance(__ret); - return __result0; - } + protected bool __ownsNativeInstance; - public void AddTypeAliases(global::CppSharp.Parser.AST.TypeAlias s) + internal static global::CppSharp.Parser.AST.TemplateArgument __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddTypeAliases((__Instance + __PointerAdjustment), __arg0); + return new global::CppSharp.Parser.AST.TemplateArgument(native.ToPointer(), skipVTables); } - public void ClearTypeAliases() + internal static global::CppSharp.Parser.AST.TemplateArgument __CreateInstance(global::CppSharp.Parser.AST.TemplateArgument.__Internal native, bool skipVTables = false) { - __Internal.ClearTypeAliases((__Instance + __PointerAdjustment)); + return new global::CppSharp.Parser.AST.TemplateArgument(native, skipVTables); } - public global::CppSharp.Parser.AST.Variable GetVariables(uint i) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateArgument.__Internal native) { - var __ret = __Internal.GetVariables((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Variable __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Variable.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Variable) global::CppSharp.Parser.AST.Variable.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Variable.__CreateInstance(__ret); - return __result0; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); + *(global::CppSharp.Parser.AST.TemplateArgument.__Internal*) ret = native; + return ret.ToPointer(); } - public void AddVariables(global::CppSharp.Parser.AST.Variable s) + private TemplateArgument(global::CppSharp.Parser.AST.TemplateArgument.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddVariables((__Instance + __PointerAdjustment), __arg0); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; } - public void ClearVariables() + protected TemplateArgument(void* native, bool skipVTables = false) { - __Internal.ClearVariables((__Instance + __PointerAdjustment)); + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - public global::CppSharp.Parser.AST.Friend GetFriends(uint i) + public TemplateArgument() { - var __ret = __Internal.GetFriends((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Friend __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Friend.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Friend) global::CppSharp.Parser.AST.Friend.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Friend.__CreateInstance(__ret); - return __result0; + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); } - public void AddFriends(global::CppSharp.Parser.AST.Friend s) + public TemplateArgument(global::CppSharp.Parser.AST.TemplateArgument _0) { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddFriends((__Instance + __PointerAdjustment), __arg0); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) _0.__Instance); } - public void ClearFriends() + public void Dispose() { - __Internal.ClearFriends((__Instance + __PointerAdjustment)); + Dispose(disposing: true); } - public static implicit operator global::CppSharp.Parser.AST.DeclarationContext(global::CppSharp.Parser.AST.DeclarationKind kind) + public virtual void Dispose(bool disposing) { - return new global::CppSharp.Parser.AST.DeclarationContext(kind); + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.TemplateArgument __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; } - public bool IsAnonymous + public global::CppSharp.Parser.AST.TemplateArgument.ArgumentKind Kind { get { - return ((global::CppSharp.Parser.AST.DeclarationContext.__Internal*) __Instance)->isAnonymous != 0; + return ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->kind; } set { - ((global::CppSharp.Parser.AST.DeclarationContext.__Internal*)__Instance)->isAnonymous = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->kind = value; } } - public uint NamespacesCount + public global::CppSharp.Parser.AST.QualifiedType Type { get { - var __ret = __Internal.GetNamespacesCount((__Instance + __PointerAdjustment)); - return __ret; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->type)); } - } - public uint EnumsCount - { - get + set { - var __ret = __Internal.GetEnumsCount((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public uint FunctionsCount + public global::CppSharp.Parser.AST.Declaration Declaration { get { - var __ret = __Internal.GetFunctionsCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - - public uint ClassesCount - { - get - { - var __ret = __Internal.GetClassesCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - - public uint TemplatesCount - { - get - { - var __ret = __Internal.GetTemplatesCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - - public uint TypedefsCount - { - get - { - var __ret = __Internal.GetTypedefsCount((__Instance + __PointerAdjustment)); - return __ret; + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration); + return __result0; } - } - public uint TypeAliasesCount - { - get + set { - var __ret = __Internal.GetTypeAliasesCount((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public uint VariablesCount + public int Integral { get { - var __ret = __Internal.GetVariablesCount((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->integral; } - } - public uint FriendsCount - { - get + set { - var __ret = __Internal.GetFriendsCount((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->integral = value; } } } - public unsafe partial class PreprocessedEntity : IDisposable + public unsafe partial class TemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 12)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.MacroLocation macroLocation; + internal global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - internal global::System.IntPtr originalPtr; + internal byte isDependent; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; + + [FieldOffset(20)] + internal global::System.IntPtr _template; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0PreprocessedEntity@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0TemplateSpecializationType@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0PreprocessedEntity@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0TemplateSpecializationType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); - } - public global::System.IntPtr __Instance { get; protected set; } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??1TemplateSpecializationType@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern void dtor(global::System.IntPtr instance, int delete); - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getArguments@TemplateSpecializationType@AST@CppParser@CppSharp@@QAE?AUTemplateArgument@234@I@Z")] + internal static extern void GetArguments(global::System.IntPtr instance, global::System.IntPtr @return, uint i); - protected bool __ownsNativeInstance; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?addArguments@TemplateSpecializationType@AST@CppParser@CppSharp@@QAEXAAUTemplateArgument@234@@Z")] + internal static extern void AddArguments(global::System.IntPtr instance, global::System.IntPtr s); - internal static global::CppSharp.Parser.AST.PreprocessedEntity __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?clearArguments@TemplateSpecializationType@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearArguments(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getArgumentsCount@TemplateSpecializationType@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetArgumentsCount(global::System.IntPtr instance); + } + + internal static new global::CppSharp.Parser.AST.TemplateSpecializationType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.PreprocessedEntity(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TemplateSpecializationType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.PreprocessedEntity __CreateInstance(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TemplateSpecializationType __CreateInstance(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.PreprocessedEntity(native, skipVTables); + return new global::CppSharp.Parser.AST.TemplateSpecializationType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); - *(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) ret = native; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); + global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private PreprocessedEntity(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native, bool skipVTables = false) + private TemplateSpecializationType(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected PreprocessedEntity(void* native, bool skipVTables = false) + protected TemplateSpecializationType(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public PreprocessedEntity() + public TemplateSpecializationType() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public PreprocessedEntity(global::CppSharp.Parser.AST.PreprocessedEntity _0) + public TemplateSpecializationType(global::CppSharp.Parser.AST.TemplateSpecializationType _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) _0.__Instance); - } - - public void Dispose() - { - Dispose(disposing: true); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.PreprocessedEntity __dummy; + global::CppSharp.Parser.AST.Type __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.MacroLocation MacroLocation + public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) + { + var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); + __Internal.GetArguments((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); + return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); + } + + public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearArguments() + { + __Internal.ClearArguments((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.Template Template { get { - return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->macroLocation; + global::CppSharp.Parser.AST.Template __result0; + if (((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Template.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template)) + __result0 = (global::CppSharp.Parser.AST.Template) global::CppSharp.Parser.AST.Template.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template]; + else __result0 = global::CppSharp.Parser.AST.Template.__CreateInstance(((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template); + return __result0; } set { - ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*)__Instance)->macroLocation = value; + ((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*)__Instance)->_template = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public global::System.IntPtr OriginalPtr + public global::CppSharp.Parser.AST.QualifiedType Desugared { get { - return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->originalPtr; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->desugared)); } set { - ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*)__Instance)->originalPtr = (global::System.IntPtr) value; + ((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*)__Instance)->desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public global::CppSharp.Parser.AST.DeclarationKind Kind + public uint ArgumentsCount { get { - return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->kind; - } - - set - { - ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*)__Instance)->kind = value; + var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class RawComment : IDisposable + public unsafe partial class DependentTemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 56)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 28)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.RawCommentKind kind; + internal global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C text; + internal byte isDependent; - [FieldOffset(28)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C briefText; + [FieldOffset(8)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; - [FieldOffset(52)] - internal global::System.IntPtr fullCommentBlock; + [FieldOffset(20)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0RawComment@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0DependentTemplateSpecializationType@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0RawComment@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0DependentTemplateSpecializationType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1RawComment@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??1DependentTemplateSpecializationType@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern void dtor(global::System.IntPtr instance, int delete); - } - public global::System.IntPtr __Instance { get; protected set; } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getArguments@DependentTemplateSpecializationType@AST@CppParser@CppSharp@@QAE?AUTemplateArgument@234@I@Z")] + internal static extern void GetArguments(global::System.IntPtr instance, global::System.IntPtr @return, uint i); - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?addArguments@DependentTemplateSpecializationType@AST@CppParser@CppSharp@@QAEXAAUTemplateArgument@234@@Z")] + internal static extern void AddArguments(global::System.IntPtr instance, global::System.IntPtr s); - protected bool __ownsNativeInstance; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?clearArguments@DependentTemplateSpecializationType@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearArguments(global::System.IntPtr instance); - internal static global::CppSharp.Parser.AST.RawComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.RawComment(native.ToPointer(), skipVTables); + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getArgumentsCount@DependentTemplateSpecializationType@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetArgumentsCount(global::System.IntPtr instance); } - internal static global::CppSharp.Parser.AST.RawComment __CreateInstance(global::CppSharp.Parser.AST.RawComment.__Internal native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.DependentTemplateSpecializationType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.RawComment(native, skipVTables); + return new global::CppSharp.Parser.AST.DependentTemplateSpecializationType(native.ToPointer(), skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.RawComment.__Internal native) + internal static global::CppSharp.Parser.AST.DependentTemplateSpecializationType __CreateInstance(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native, bool skipVTables = false) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); - global::CppSharp.Parser.AST.RawComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); + return new global::CppSharp.Parser.AST.DependentTemplateSpecializationType(native, skipVTables); } - private RawComment(global::CppSharp.Parser.AST.RawComment.__Internal native, bool skipVTables = false) + private static void* __CopyValue(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); + global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private DependentTemplateSpecializationType(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected RawComment(void* native, bool skipVTables = false) + protected DependentTemplateSpecializationType(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public RawComment() + public DependentTemplateSpecializationType() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public RawComment(global::CppSharp.Parser.AST.RawComment _0) + public DependentTemplateSpecializationType(global::CppSharp.Parser.AST.DependentTemplateSpecializationType _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -2112,16 +2129,11 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.RawComment __dummy; + global::CppSharp.Parser.AST.Type __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -2130,142 +2142,113 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.RawCommentKind Kind + public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) { - get - { - return ((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->kind; - } - - set - { - ((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->kind = value; - } + var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); + __Internal.GetArguments((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); + return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); } - public string Text + public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->text)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); + } - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->text), value); - } + public void ClearArguments() + { + __Internal.ClearArguments((__Instance + __PointerAdjustment)); } - public string BriefText + public global::CppSharp.Parser.AST.QualifiedType Desugared { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->briefText)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal*) __Instance)->desugared)); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->briefText), value); + ((global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal*)__Instance)->desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public global::CppSharp.Parser.AST.FullComment FullCommentBlock + public uint ArgumentsCount { get { - global::CppSharp.Parser.AST.FullComment __result0; - if (((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.FullComment.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock)) - __result0 = (global::CppSharp.Parser.AST.FullComment) global::CppSharp.Parser.AST.FullComment.NativeToManagedMap[((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock]; - else __result0 = global::CppSharp.Parser.AST.FullComment.__CreateInstance(((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->fullCommentBlock = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class FullComment : global::CppSharp.Parser.AST.Comment, IDisposable + public unsafe partial class TemplateParameterType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 16)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + internal global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BlockContentComment___N_std_S_allocator__S0_ Blocks; + internal byte isDependent; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0FullComment@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); + [FieldOffset(8)] + internal global::System.IntPtr parameter; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0FullComment@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + [FieldOffset(12)] + internal uint depth; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1FullComment@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern void dtor(global::System.IntPtr instance, int delete); + [FieldOffset(16)] + internal uint index; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getBlocks@FullComment@AST@CppParser@CppSharp@@QAEPAVBlockContentComment@234@I@Z")] - internal static extern global::System.IntPtr GetBlocks(global::System.IntPtr instance, uint i); + [FieldOffset(20)] + internal byte isParameterPack; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?addBlocks@FullComment@AST@CppParser@CppSharp@@QAEXAAPAVBlockContentComment@234@@Z")] - internal static extern void AddBlocks(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="??0TemplateParameterType@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearBlocks@FullComment@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearBlocks(global::System.IntPtr instance); + EntryPoint="??0TemplateParameterType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getBlocksCount@FullComment@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetBlocksCount(global::System.IntPtr instance); + EntryPoint="??1TemplateParameterType@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern void dtor(global::System.IntPtr instance, int delete); } - internal static new global::CppSharp.Parser.AST.FullComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TemplateParameterType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.FullComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TemplateParameterType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.FullComment __CreateInstance(global::CppSharp.Parser.AST.FullComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TemplateParameterType __CreateInstance(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.FullComment(native, skipVTables); + return new global::CppSharp.Parser.AST.TemplateParameterType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.FullComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullComment.__Internal)); - global::CppSharp.Parser.AST.FullComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); + global::CppSharp.Parser.AST.TemplateParameterType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private FullComment(global::CppSharp.Parser.AST.FullComment.__Internal native, bool skipVTables = false) + private TemplateParameterType(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected FullComment(void* native, bool skipVTables = false) + protected TemplateParameterType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -2274,19 +2257,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public FullComment() + public TemplateParameterType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public FullComment(global::CppSharp.Parser.AST.FullComment _0) + public TemplateParameterType(global::CppSharp.Parser.AST.TemplateParameterType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -2299,7 +2282,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Comment __dummy; + global::CppSharp.Parser.AST.Type __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -2308,198 +2291,231 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.BlockContentComment GetBlocks(uint i) + public global::CppSharp.Parser.AST.TypeTemplateParameter Parameter { - var __ret = __Internal.GetBlocks((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.BlockContentComment __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.BlockContentComment.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.BlockContentComment) global::CppSharp.Parser.AST.BlockContentComment.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.BlockContentComment.__CreateInstance(__ret); - return __result0; + get + { + global::CppSharp.Parser.AST.TypeTemplateParameter __result0; + if (((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TypeTemplateParameter.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter)) + __result0 = (global::CppSharp.Parser.AST.TypeTemplateParameter) global::CppSharp.Parser.AST.TypeTemplateParameter.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter]; + else __result0 = global::CppSharp.Parser.AST.TypeTemplateParameter.__CreateInstance(((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->parameter = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } } - public void AddBlocks(global::CppSharp.Parser.AST.BlockContentComment s) + public uint Depth { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddBlocks((__Instance + __PointerAdjustment), __arg0); + get + { + return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->depth; + } + + set + { + ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->depth = value; + } } - public void ClearBlocks() + public uint Index { - __Internal.ClearBlocks((__Instance + __PointerAdjustment)); + get + { + return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->index; + } + + set + { + ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->index = value; + } } - public uint BlocksCount + public bool IsParameterPack { get { - var __ret = __Internal.GetBlocksCount((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->isParameterPack != 0; + } + + set + { + ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->isParameterPack = (byte) (value ? 1 : 0); } } } - public unsafe partial class Comment : IDisposable + public unsafe partial class TemplateParameterSubstitutionType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 4)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 20)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] + internal byte isDependent; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal replacement; + + [FieldOffset(16)] + internal global::System.IntPtr replacedParameter; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0Comment@AST@CppParser@CppSharp@@QAE@W4CommentKind@123@@Z")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr instance, global::CppSharp.Parser.AST.CommentKind kind); + EntryPoint="??0TemplateParameterSubstitutionType@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0Comment@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0TemplateParameterSubstitutionType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); } - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.Comment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TemplateParameterSubstitutionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Comment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TemplateParameterSubstitutionType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Comment __CreateInstance(global::CppSharp.Parser.AST.Comment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TemplateParameterSubstitutionType __CreateInstance(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Comment(native, skipVTables); + return new global::CppSharp.Parser.AST.TemplateParameterSubstitutionType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Comment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Comment.__Internal)); - *(global::CppSharp.Parser.AST.Comment.__Internal*) ret = native; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); + global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Comment(global::CppSharp.Parser.AST.Comment.__Internal native, bool skipVTables = false) + private TemplateParameterSubstitutionType(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Comment(void* native, bool skipVTables = false) + protected TemplateParameterSubstitutionType(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public Comment(global::CppSharp.Parser.AST.CommentKind kind) + public TemplateParameterSubstitutionType() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Comment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), kind); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public Comment(global::CppSharp.Parser.AST.Comment _0) + public TemplateParameterSubstitutionType(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Comment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.Comment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.Comment.__Internal*) _0.__Instance); - } - - public void Dispose() - { - Dispose(disposing: true); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public virtual void Dispose(bool disposing) + public global::CppSharp.Parser.AST.QualifiedType Replacement { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Comment __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacement)); + } - public static implicit operator global::CppSharp.Parser.AST.Comment(global::CppSharp.Parser.AST.CommentKind kind) - { - return new global::CppSharp.Parser.AST.Comment(kind); + set + { + ((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*)__Instance)->replacement = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } } - public global::CppSharp.Parser.AST.CommentKind Kind + public global::CppSharp.Parser.AST.TemplateParameterType ReplacedParameter { get { - return ((global::CppSharp.Parser.AST.Comment.__Internal*) __Instance)->kind; + global::CppSharp.Parser.AST.TemplateParameterType __result0; + if (((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TemplateParameterType.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter)) + __result0 = (global::CppSharp.Parser.AST.TemplateParameterType) global::CppSharp.Parser.AST.TemplateParameterType.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter]; + else __result0 = global::CppSharp.Parser.AST.TemplateParameterType.__CreateInstance(((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter); + return __result0; } set { - ((global::CppSharp.Parser.AST.Comment.__Internal*)__Instance)->kind = value; + ((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*)__Instance)->replacedParameter = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } - public unsafe partial class BlockContentComment : global::CppSharp.Parser.AST.Comment, IDisposable + public unsafe partial class InjectedClassNameType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 4)] + [StructLayout(LayoutKind.Explicit, Size = 20)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + internal global::CppSharp.Parser.AST.TypeKind kind; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0BlockContentComment@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); + [FieldOffset(4)] + internal byte isDependent; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal injectedSpecializationType; + + [FieldOffset(16)] + internal global::System.IntPtr _class; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0BlockContentComment@AST@CppParser@CppSharp@@QAE@W4CommentKind@123@@Z")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr instance, global::CppSharp.Parser.AST.CommentKind Kind); + EntryPoint="??0InjectedClassNameType@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0BlockContentComment@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0InjectedClassNameType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); } - internal static new global::CppSharp.Parser.AST.BlockContentComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.InjectedClassNameType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.BlockContentComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.InjectedClassNameType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.BlockContentComment __CreateInstance(global::CppSharp.Parser.AST.BlockContentComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.InjectedClassNameType __CreateInstance(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.BlockContentComment(native, skipVTables); + return new global::CppSharp.Parser.AST.InjectedClassNameType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.BlockContentComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); - *(global::CppSharp.Parser.AST.BlockContentComment.__Internal*) ret = native; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); + global::CppSharp.Parser.AST.InjectedClassNameType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private BlockContentComment(global::CppSharp.Parser.AST.BlockContentComment.__Internal native, bool skipVTables = false) + private InjectedClassNameType(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected BlockContentComment(void* native, bool skipVTables = false) + protected InjectedClassNameType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -2508,181 +2524,319 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public BlockContentComment() + public InjectedClassNameType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public BlockContentComment(global::CppSharp.Parser.AST.CommentKind Kind) + public InjectedClassNameType(global::CppSharp.Parser.AST.InjectedClassNameType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), Kind); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public BlockContentComment(global::CppSharp.Parser.AST.BlockContentComment _0) - : this((void*) null) + public global::CppSharp.Parser.AST.QualifiedType InjectedSpecializationType { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.BlockContentComment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.BlockContentComment.__Internal*) _0.__Instance); + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->injectedSpecializationType)); + } + + set + { + ((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*)__Instance)->injectedSpecializationType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } } - public static implicit operator global::CppSharp.Parser.AST.BlockContentComment(global::CppSharp.Parser.AST.CommentKind Kind) + public global::CppSharp.Parser.AST.Class Class { - return new global::CppSharp.Parser.AST.BlockContentComment(Kind); + get + { + global::CppSharp.Parser.AST.Class __result0; + if (((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class)) + __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class]; + else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*)__Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } } } - public unsafe partial class Namespace : global::CppSharp.Parser.AST.DeclarationContext, IDisposable + public unsafe partial class DependentNameType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 268)] + [StructLayout(LayoutKind.Explicit, Size = 40)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + internal global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - internal int maxFieldAlignment; + internal byte isDependent; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(12)] - internal global::System.IntPtr _namespace; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifier; [FieldOffset(16)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C identifier; - [FieldOffset(20)] - internal int lineNumberStart; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0DependentNameType@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); - [FieldOffset(24)] - internal int lineNumberEnd; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0DependentNameType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); - [FieldOffset(28)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??1DependentNameType@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern void dtor(global::System.IntPtr instance, int delete); + } - [FieldOffset(52)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + internal static new global::CppSharp.Parser.AST.DependentNameType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DependentNameType(native.ToPointer(), skipVTables); + } - [FieldOffset(76)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + internal static global::CppSharp.Parser.AST.DependentNameType __CreateInstance(global::CppSharp.Parser.AST.DependentNameType.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DependentNameType(native, skipVTables); + } - [FieldOffset(100)] - internal byte isIncomplete; + private static void* __CopyValue(global::CppSharp.Parser.AST.DependentNameType.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); + global::CppSharp.Parser.AST.DependentNameType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(101)] - internal byte isDependent; + private DependentNameType(global::CppSharp.Parser.AST.DependentNameType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(102)] - internal byte isImplicit; + protected DependentNameType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(103)] - internal byte isInvalid; + public DependentNameType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - [FieldOffset(104)] - internal global::System.IntPtr completeDeclaration; + public DependentNameType(global::CppSharp.Parser.AST.DependentNameType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(108)] - internal uint definitionOrder; + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Type __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } - [FieldOffset(112)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + public global::CppSharp.Parser.AST.QualifiedType Qualifier + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentNameType.__Internal*) __Instance)->qualifier)); + } - [FieldOffset(124)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + set + { + ((global::CppSharp.Parser.AST.DependentNameType.__Internal*)__Instance)->qualifier = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } - [FieldOffset(136)] - internal global::System.IntPtr originalPtr; + public string Identifier + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentNameType.__Internal*) __Instance)->identifier)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } - [FieldOffset(140)] - internal global::System.IntPtr comment; + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentNameType.__Internal*)__Instance)->identifier), value); + } + } + } - [FieldOffset(144)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; + public unsafe partial class PackExpansionType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 8)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; - [FieldOffset(156)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; + [FieldOffset(4)] + internal byte isDependent; - [FieldOffset(168)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0PackExpansionType@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); - [FieldOffset(180)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0PackExpansionType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + } - [FieldOffset(192)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; + internal static new global::CppSharp.Parser.AST.PackExpansionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.PackExpansionType(native.ToPointer(), skipVTables); + } - [FieldOffset(204)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; + internal static global::CppSharp.Parser.AST.PackExpansionType __CreateInstance(global::CppSharp.Parser.AST.PackExpansionType.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.PackExpansionType(native, skipVTables); + } - [FieldOffset(216)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; + private static void* __CopyValue(global::CppSharp.Parser.AST.PackExpansionType.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); + global::CppSharp.Parser.AST.PackExpansionType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(228)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; + private PackExpansionType(global::CppSharp.Parser.AST.PackExpansionType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(240)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; + protected PackExpansionType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(252)] - internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + public PackExpansionType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - [FieldOffset(260)] - internal byte isAnonymous; + public PackExpansionType(global::CppSharp.Parser.AST.PackExpansionType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + } - [FieldOffset(264)] - internal byte isInline; + public unsafe partial class UnaryTransformType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] + internal byte isDependent; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal baseType; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0Namespace@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0UnaryTransformType@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0Namespace@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0UnaryTransformType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1Namespace@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern void dtor(global::System.IntPtr instance, int delete); } - internal static new global::CppSharp.Parser.AST.Namespace __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.UnaryTransformType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Namespace(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.UnaryTransformType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Namespace __CreateInstance(global::CppSharp.Parser.AST.Namespace.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.UnaryTransformType __CreateInstance(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Namespace(native, skipVTables); + return new global::CppSharp.Parser.AST.UnaryTransformType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Namespace.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); - global::CppSharp.Parser.AST.Namespace.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); + global::CppSharp.Parser.AST.UnaryTransformType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Namespace(global::CppSharp.Parser.AST.Namespace.__Internal native, bool skipVTables = false) + private UnaryTransformType(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Namespace(void* native, bool skipVTables = false) + protected UnaryTransformType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -2691,19 +2845,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Namespace() + public UnaryTransformType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public Namespace(global::CppSharp.Parser.AST.Namespace _0) + public UnaryTransformType(global::CppSharp.Parser.AST.UnaryTransformType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -2712,2200 +2866,470 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public global::CppSharp.Parser.AST.QualifiedType Desugared { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*) __Instance)->desugared)); + } + + set + { + ((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*)__Instance)->desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } } - public bool IsInline + public global::CppSharp.Parser.AST.QualifiedType BaseType { get { - return ((global::CppSharp.Parser.AST.Namespace.__Internal*) __Instance)->isInline != 0; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*) __Instance)->baseType)); } set { - ((global::CppSharp.Parser.AST.Namespace.__Internal*)__Instance)->isInline = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*)__Instance)->baseType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } } - public unsafe partial class Enumeration : global::CppSharp.Parser.AST.DeclarationContext, IDisposable + public unsafe partial class VectorType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 288)] + [StructLayout(LayoutKind.Explicit, Size = 20)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + internal global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - internal int maxFieldAlignment; + internal byte isDependent; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(12)] - internal global::System.IntPtr _namespace; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal elementType; [FieldOffset(16)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; + internal uint numElements; - [FieldOffset(20)] - internal int lineNumberStart; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0VectorType@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); - [FieldOffset(24)] - internal int lineNumberEnd; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0VectorType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + } - [FieldOffset(28)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + internal static new global::CppSharp.Parser.AST.VectorType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.VectorType(native.ToPointer(), skipVTables); + } - [FieldOffset(52)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + internal static global::CppSharp.Parser.AST.VectorType __CreateInstance(global::CppSharp.Parser.AST.VectorType.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.VectorType(native, skipVTables); + } - [FieldOffset(76)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + private static void* __CopyValue(global::CppSharp.Parser.AST.VectorType.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); + global::CppSharp.Parser.AST.VectorType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(100)] - internal byte isIncomplete; + private VectorType(global::CppSharp.Parser.AST.VectorType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(101)] - internal byte isDependent; + protected VectorType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(102)] - internal byte isImplicit; + public VectorType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - [FieldOffset(103)] - internal byte isInvalid; + public VectorType(global::CppSharp.Parser.AST.VectorType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(104)] - internal global::System.IntPtr completeDeclaration; + public global::CppSharp.Parser.AST.QualifiedType ElementType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VectorType.__Internal*) __Instance)->elementType)); + } - [FieldOffset(108)] - internal uint definitionOrder; + set + { + ((global::CppSharp.Parser.AST.VectorType.__Internal*)__Instance)->elementType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } - [FieldOffset(112)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + public uint NumElements + { + get + { + return ((global::CppSharp.Parser.AST.VectorType.__Internal*) __Instance)->numElements; + } - [FieldOffset(124)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + set + { + ((global::CppSharp.Parser.AST.VectorType.__Internal*)__Instance)->numElements = value; + } + } + } - [FieldOffset(136)] - internal global::System.IntPtr originalPtr; + public unsafe partial class BuiltinType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 12)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; - [FieldOffset(140)] - internal global::System.IntPtr comment; + [FieldOffset(4)] + internal byte isDependent; - [FieldOffset(144)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.PrimitiveType type; - [FieldOffset(156)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0BuiltinType@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); - [FieldOffset(168)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0BuiltinType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + } - [FieldOffset(180)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; + internal static new global::CppSharp.Parser.AST.BuiltinType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.BuiltinType(native.ToPointer(), skipVTables); + } - [FieldOffset(192)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; + internal static global::CppSharp.Parser.AST.BuiltinType __CreateInstance(global::CppSharp.Parser.AST.BuiltinType.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.BuiltinType(native, skipVTables); + } - [FieldOffset(204)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; + private static void* __CopyValue(global::CppSharp.Parser.AST.BuiltinType.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); + global::CppSharp.Parser.AST.BuiltinType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(216)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; + private BuiltinType(global::CppSharp.Parser.AST.BuiltinType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(228)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; + protected BuiltinType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(240)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; + public BuiltinType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - [FieldOffset(252)] - internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + public BuiltinType(global::CppSharp.Parser.AST.BuiltinType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(260)] - internal byte isAnonymous; + public global::CppSharp.Parser.AST.PrimitiveType Type + { + get + { + return ((global::CppSharp.Parser.AST.BuiltinType.__Internal*) __Instance)->type; + } - [FieldOffset(264)] - internal global::CppSharp.Parser.AST.Enumeration.EnumModifiers modifiers; + set + { + ((global::CppSharp.Parser.AST.BuiltinType.__Internal*)__Instance)->type = value; + } + } + } - [FieldOffset(268)] - internal global::System.IntPtr type; + public unsafe partial class VTableComponent : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 12)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.VTableComponentKind kind; - [FieldOffset(272)] - internal global::System.IntPtr builtinType; + [FieldOffset(4)] + internal uint offset; - [FieldOffset(276)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration_S_Item___N_std_S_allocator__S0_ Items; + [FieldOffset(8)] + internal global::System.IntPtr declaration; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0Enumeration@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0VTableComponent@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0Enumeration@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0VTableComponent@AST@CppParser@CppSharp@@QAE@ABU0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1Enumeration@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern void dtor(global::System.IntPtr instance, int delete); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getItems@Enumeration@AST@CppParser@CppSharp@@QAEPAVItem@1234@I@Z")] - internal static extern global::System.IntPtr GetItems(global::System.IntPtr instance, uint i); + public global::System.IntPtr __Instance { get; protected set; } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?addItems@Enumeration@AST@CppParser@CppSharp@@QAEXAAPAVItem@1234@@Z")] - internal static extern void AddItems(global::System.IntPtr instance, global::System.IntPtr s); + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearItems@Enumeration@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearItems(global::System.IntPtr instance); + protected bool __ownsNativeInstance; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?FindItemByName@Enumeration@AST@CppParser@CppSharp@@QAEPAVItem@1234@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z")] - internal static extern global::System.IntPtr FindItemByName(global::System.IntPtr instance, global::System.IntPtr Name); + internal static global::CppSharp.Parser.AST.VTableComponent __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.VTableComponent(native.ToPointer(), skipVTables); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getItemsCount@Enumeration@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetItemsCount(global::System.IntPtr instance); + internal static global::CppSharp.Parser.AST.VTableComponent __CreateInstance(global::CppSharp.Parser.AST.VTableComponent.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.VTableComponent(native, skipVTables); } - [Flags] - public enum EnumModifiers + private static void* __CopyValue(global::CppSharp.Parser.AST.VTableComponent.__Internal native) { - Anonymous = 1, - Scoped = 2, - Flags = 4 + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); + *(global::CppSharp.Parser.AST.VTableComponent.__Internal*) ret = native; + return ret.ToPointer(); } - public unsafe partial class Item : global::CppSharp.Parser.AST.Declaration, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 176)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(12)] - internal global::System.IntPtr _namespace; - - [FieldOffset(16)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(20)] - internal int lineNumberStart; - - [FieldOffset(24)] - internal int lineNumberEnd; - - [FieldOffset(28)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - - [FieldOffset(52)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - - [FieldOffset(76)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - - [FieldOffset(100)] - internal byte isIncomplete; - - [FieldOffset(101)] - internal byte isDependent; - - [FieldOffset(102)] - internal byte isImplicit; - - [FieldOffset(103)] - internal byte isInvalid; - - [FieldOffset(104)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(108)] - internal uint definitionOrder; - - [FieldOffset(112)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(124)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - - [FieldOffset(136)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(140)] - internal global::System.IntPtr comment; - - [FieldOffset(144)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C expression; - - [FieldOffset(168)] - internal ulong value; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0Item@Enumeration@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0Item@Enumeration@AST@CppParser@CppSharp@@QAE@ABV01234@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1Item@Enumeration@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern void dtor(global::System.IntPtr instance, int delete); - } - - internal static new global::CppSharp.Parser.AST.Enumeration.Item __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Enumeration.Item(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.Enumeration.Item __CreateInstance(global::CppSharp.Parser.AST.Enumeration.Item.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Enumeration.Item(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.Enumeration.Item.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); - global::CppSharp.Parser.AST.Enumeration.Item.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private Item(global::CppSharp.Parser.AST.Enumeration.Item.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected Item(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public Item() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } - - public Item(global::CppSharp.Parser.AST.Enumeration.Item _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } - - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - - public string Expression - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*) __Instance)->expression)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*)__Instance)->expression), value); - } - } - - public ulong Value - { - get - { - return ((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*) __Instance)->value; - } - - set - { - ((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*)__Instance)->value = value; - } - } - } - - internal static new global::CppSharp.Parser.AST.Enumeration __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Enumeration(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.Enumeration __CreateInstance(global::CppSharp.Parser.AST.Enumeration.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Enumeration(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.Enumeration.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); - global::CppSharp.Parser.AST.Enumeration.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private Enumeration(global::CppSharp.Parser.AST.Enumeration.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected Enumeration(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public Enumeration() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } - - public Enumeration(global::CppSharp.Parser.AST.Enumeration _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } - - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - - public global::CppSharp.Parser.AST.Enumeration.Item GetItems(uint i) - { - var __ret = __Internal.GetItems((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Enumeration.Item __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Enumeration.Item) global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Enumeration.Item.__CreateInstance(__ret); - return __result0; - } - - public void AddItems(global::CppSharp.Parser.AST.Enumeration.Item s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddItems((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearItems() - { - __Internal.ClearItems((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.Enumeration.Item FindItemByName(string Name) - { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, Name); - var __arg0 = __basicString0.__Instance; - var __ret = __Internal.FindItemByName((__Instance + __PointerAdjustment), __arg0); - __basicString0.Dispose(false); - global::CppSharp.Parser.AST.Enumeration.Item __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Enumeration.Item) global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Enumeration.Item.__CreateInstance(__ret); - return __result0; - } - - public global::CppSharp.Parser.AST.Enumeration.EnumModifiers Modifiers - { - get - { - return ((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->modifiers; - } - - set - { - ((global::CppSharp.Parser.AST.Enumeration.__Internal*)__Instance)->modifiers = value; - } - } - - public global::CppSharp.Parser.AST.Type Type - { - get - { - global::CppSharp.Parser.AST.Type __result0; - if (((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type)) - __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type]; - else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.Enumeration.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } - - public global::CppSharp.Parser.AST.BuiltinType BuiltinType - { - get - { - global::CppSharp.Parser.AST.BuiltinType __result0; - if (((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.BuiltinType.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType)) - __result0 = (global::CppSharp.Parser.AST.BuiltinType) global::CppSharp.Parser.AST.BuiltinType.NativeToManagedMap[((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType]; - else __result0 = global::CppSharp.Parser.AST.BuiltinType.__CreateInstance(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.Enumeration.__Internal*)__Instance)->builtinType = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } - - public uint ItemsCount - { - get - { - var __ret = __Internal.GetItemsCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - } - - public unsafe partial class Function : global::CppSharp.Parser.AST.DeclarationContext, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 392)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(12)] - internal global::System.IntPtr _namespace; - - [FieldOffset(16)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(20)] - internal int lineNumberStart; - - [FieldOffset(24)] - internal int lineNumberEnd; - - [FieldOffset(28)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - - [FieldOffset(52)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - - [FieldOffset(76)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - - [FieldOffset(100)] - internal byte isIncomplete; - - [FieldOffset(101)] - internal byte isDependent; - - [FieldOffset(102)] - internal byte isImplicit; - - [FieldOffset(103)] - internal byte isInvalid; - - [FieldOffset(104)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(108)] - internal uint definitionOrder; - - [FieldOffset(112)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(124)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - - [FieldOffset(136)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(140)] - internal global::System.IntPtr comment; - - [FieldOffset(144)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; - - [FieldOffset(156)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; - - [FieldOffset(168)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; - - [FieldOffset(180)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; - - [FieldOffset(192)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; - - [FieldOffset(204)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; - - [FieldOffset(216)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; - - [FieldOffset(228)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; - - [FieldOffset(240)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; - - [FieldOffset(252)] - internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; - - [FieldOffset(260)] - internal byte isAnonymous; - - [FieldOffset(264)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; - - [FieldOffset(272)] - internal byte isReturnIndirect; - - [FieldOffset(273)] - internal byte hasThisReturn; - - [FieldOffset(274)] - internal byte isConstExpr; - - [FieldOffset(275)] - internal byte isVariadic; - - [FieldOffset(276)] - internal byte isInline; - - [FieldOffset(277)] - internal byte isPure; - - [FieldOffset(278)] - internal byte isDeleted; - - [FieldOffset(279)] - internal byte isDefaulted; - - [FieldOffset(280)] - internal global::CppSharp.Parser.AST.FriendKind friendKind; - - [FieldOffset(284)] - internal global::CppSharp.Parser.AST.CXXOperatorKind operatorKind; - - [FieldOffset(288)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C mangled; - - [FieldOffset(312)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C signature; - - [FieldOffset(336)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C body; - - [FieldOffset(360)] - internal global::CppSharp.Parser.AST.CallingConvention callingConvention; - - [FieldOffset(364)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_S_allocator__S0_ Parameters; - - [FieldOffset(376)] - internal global::System.IntPtr specializationInfo; - - [FieldOffset(380)] - internal global::System.IntPtr instantiatedFrom; - - [FieldOffset(384)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0Function@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0Function@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1Function@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern void dtor(global::System.IntPtr instance, int delete); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getParameters@Function@AST@CppParser@CppSharp@@QAEPAVParameter@234@I@Z")] - internal static extern global::System.IntPtr GetParameters(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?addParameters@Function@AST@CppParser@CppSharp@@QAEXAAPAVParameter@234@@Z")] - internal static extern void AddParameters(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearParameters@Function@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearParameters(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getParametersCount@Function@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetParametersCount(global::System.IntPtr instance); - } - - internal static new global::CppSharp.Parser.AST.Function __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Function(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.Function __CreateInstance(global::CppSharp.Parser.AST.Function.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Function(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.Function.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); - global::CppSharp.Parser.AST.Function.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private Function(global::CppSharp.Parser.AST.Function.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected Function(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public Function() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } - - public Function(global::CppSharp.Parser.AST.Function _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } - - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - - public global::CppSharp.Parser.AST.Parameter GetParameters(uint i) - { - var __ret = __Internal.GetParameters((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Parameter __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Parameter.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Parameter) global::CppSharp.Parser.AST.Parameter.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Parameter.__CreateInstance(__ret); - return __result0; - } - - public void AddParameters(global::CppSharp.Parser.AST.Parameter s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddParameters((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearParameters() - { - __Internal.ClearParameters((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.QualifiedType ReturnType - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->returnType)); - } - - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->returnType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } - } - - public bool IsReturnIndirect - { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isReturnIndirect != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isReturnIndirect = (byte) (value ? 1 : 0); - } - } - - public bool HasThisReturn - { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->hasThisReturn != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->hasThisReturn = (byte) (value ? 1 : 0); - } - } - - public bool IsConstExpr - { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isConstExpr != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isConstExpr = (byte) (value ? 1 : 0); - } - } - - public bool IsVariadic - { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isVariadic != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isVariadic = (byte) (value ? 1 : 0); - } - } - - public bool IsInline - { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isInline != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isInline = (byte) (value ? 1 : 0); - } - } - - public bool IsPure - { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isPure != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isPure = (byte) (value ? 1 : 0); - } - } - - public bool IsDeleted - { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isDeleted != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isDeleted = (byte) (value ? 1 : 0); - } - } - - public bool IsDefaulted - { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isDefaulted != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isDefaulted = (byte) (value ? 1 : 0); - } - } - - public global::CppSharp.Parser.AST.FriendKind FriendKind - { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->friendKind; - } - - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->friendKind = value; - } - } - - public global::CppSharp.Parser.AST.CXXOperatorKind OperatorKind - { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->operatorKind; - } - - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->operatorKind = value; - } - } - - public string Mangled - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->mangled)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->mangled), value); - } - } - - public string Signature - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->signature)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->signature), value); - } - } - - public string Body - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->body)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->body), value); - } - } - - public global::CppSharp.Parser.AST.CallingConvention CallingConvention - { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->callingConvention; - } - - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->callingConvention = value; - } - } - - public global::CppSharp.Parser.AST.FunctionTemplateSpecialization SpecializationInfo - { - get - { - global::CppSharp.Parser.AST.FunctionTemplateSpecialization __result0; - if (((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo)) - __result0 = (global::CppSharp.Parser.AST.FunctionTemplateSpecialization) global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap[((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo]; - else __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__CreateInstance(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->specializationInfo = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } - - public global::CppSharp.Parser.AST.Function InstantiatedFrom - { - get - { - global::CppSharp.Parser.AST.Function __result0; - if (((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom)) - __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom]; - else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->instantiatedFrom = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } - - public global::CppSharp.Parser.AST.QualifiedType QualifiedType - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->qualifiedType)); - } - - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } - } - - public uint ParametersCount - { - get - { - var __ret = __Internal.GetParametersCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - } - - public unsafe partial class Class : global::CppSharp.Parser.AST.DeclarationContext, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 328)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(12)] - internal global::System.IntPtr _namespace; - - [FieldOffset(16)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(20)] - internal int lineNumberStart; - - [FieldOffset(24)] - internal int lineNumberEnd; - - [FieldOffset(28)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - - [FieldOffset(52)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - - [FieldOffset(76)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - - [FieldOffset(100)] - internal byte isIncomplete; - - [FieldOffset(101)] - internal byte isDependent; - - [FieldOffset(102)] - internal byte isImplicit; - - [FieldOffset(103)] - internal byte isInvalid; - - [FieldOffset(104)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(108)] - internal uint definitionOrder; - - [FieldOffset(112)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(124)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - - [FieldOffset(136)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(140)] - internal global::System.IntPtr comment; - - [FieldOffset(144)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; - - [FieldOffset(156)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; - - [FieldOffset(168)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; - - [FieldOffset(180)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; - - [FieldOffset(192)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; - - [FieldOffset(204)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; - - [FieldOffset(216)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; - - [FieldOffset(228)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; - - [FieldOffset(240)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; - - [FieldOffset(252)] - internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; - - [FieldOffset(260)] - internal byte isAnonymous; - - [FieldOffset(264)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BaseClassSpecifier___N_std_S_allocator__S0_ Bases; - - [FieldOffset(276)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Field___N_std_S_allocator__S0_ Fields; - - [FieldOffset(288)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_S_allocator__S0_ Methods; - - [FieldOffset(300)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_AccessSpecifierDecl___N_std_S_allocator__S0_ Specifiers; - - [FieldOffset(312)] - internal byte isPOD; - - [FieldOffset(313)] - internal byte isAbstract; - - [FieldOffset(314)] - internal byte isUnion; - - [FieldOffset(315)] - internal byte isDynamic; - - [FieldOffset(316)] - internal byte isPolymorphic; - - [FieldOffset(317)] - internal byte hasNonTrivialDefaultConstructor; - - [FieldOffset(318)] - internal byte hasNonTrivialCopyConstructor; - - [FieldOffset(319)] - internal byte hasNonTrivialDestructor; - - [FieldOffset(320)] - internal byte isExternCContext; - - [FieldOffset(321)] - internal byte isInjected; - - [FieldOffset(324)] - internal global::System.IntPtr layout; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0Class@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0Class@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1Class@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern void dtor(global::System.IntPtr instance, int delete); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getBases@Class@AST@CppParser@CppSharp@@QAEPAUBaseClassSpecifier@234@I@Z")] - internal static extern global::System.IntPtr GetBases(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?addBases@Class@AST@CppParser@CppSharp@@QAEXAAPAUBaseClassSpecifier@234@@Z")] - internal static extern void AddBases(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearBases@Class@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearBases(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getFields@Class@AST@CppParser@CppSharp@@QAEPAVField@234@I@Z")] - internal static extern global::System.IntPtr GetFields(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?addFields@Class@AST@CppParser@CppSharp@@QAEXAAPAVField@234@@Z")] - internal static extern void AddFields(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearFields@Class@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearFields(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getMethods@Class@AST@CppParser@CppSharp@@QAEPAVMethod@234@I@Z")] - internal static extern global::System.IntPtr GetMethods(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?addMethods@Class@AST@CppParser@CppSharp@@QAEXAAPAVMethod@234@@Z")] - internal static extern void AddMethods(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearMethods@Class@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearMethods(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getSpecifiers@Class@AST@CppParser@CppSharp@@QAEPAVAccessSpecifierDecl@234@I@Z")] - internal static extern global::System.IntPtr GetSpecifiers(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?addSpecifiers@Class@AST@CppParser@CppSharp@@QAEXAAPAVAccessSpecifierDecl@234@@Z")] - internal static extern void AddSpecifiers(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearSpecifiers@Class@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearSpecifiers(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getBasesCount@Class@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetBasesCount(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getFieldsCount@Class@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetFieldsCount(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getMethodsCount@Class@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetMethodsCount(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getSpecifiersCount@Class@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetSpecifiersCount(global::System.IntPtr instance); - } - - internal static new global::CppSharp.Parser.AST.Class __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Class(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.Class __CreateInstance(global::CppSharp.Parser.AST.Class.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Class(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.Class.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); - global::CppSharp.Parser.AST.Class.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private Class(global::CppSharp.Parser.AST.Class.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected Class(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public Class() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } - - public Class(global::CppSharp.Parser.AST.Class _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } - - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - - public global::CppSharp.Parser.AST.BaseClassSpecifier GetBases(uint i) - { - var __ret = __Internal.GetBases((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.BaseClassSpecifier __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.BaseClassSpecifier.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.BaseClassSpecifier) global::CppSharp.Parser.AST.BaseClassSpecifier.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.BaseClassSpecifier.__CreateInstance(__ret); - return __result0; - } - - public void AddBases(global::CppSharp.Parser.AST.BaseClassSpecifier s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddBases((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearBases() - { - __Internal.ClearBases((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.Field GetFields(uint i) - { - var __ret = __Internal.GetFields((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Field __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Field.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Field) global::CppSharp.Parser.AST.Field.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Field.__CreateInstance(__ret); - return __result0; - } - - public void AddFields(global::CppSharp.Parser.AST.Field s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddFields((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearFields() - { - __Internal.ClearFields((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.Method GetMethods(uint i) - { - var __ret = __Internal.GetMethods((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Method __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Method.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Method) global::CppSharp.Parser.AST.Method.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Method.__CreateInstance(__ret); - return __result0; - } - - public void AddMethods(global::CppSharp.Parser.AST.Method s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddMethods((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearMethods() - { - __Internal.ClearMethods((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.AccessSpecifierDecl GetSpecifiers(uint i) - { - var __ret = __Internal.GetSpecifiers((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.AccessSpecifierDecl __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.AccessSpecifierDecl.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.AccessSpecifierDecl) global::CppSharp.Parser.AST.AccessSpecifierDecl.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.AccessSpecifierDecl.__CreateInstance(__ret); - return __result0; - } - - public void AddSpecifiers(global::CppSharp.Parser.AST.AccessSpecifierDecl s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddSpecifiers((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearSpecifiers() - { - __Internal.ClearSpecifiers((__Instance + __PointerAdjustment)); - } - - public bool IsPOD - { - get - { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isPOD != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isPOD = (byte) (value ? 1 : 0); - } - } - - public bool IsAbstract - { - get - { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isAbstract != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isAbstract = (byte) (value ? 1 : 0); - } - } - - public bool IsUnion - { - get - { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isUnion != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isUnion = (byte) (value ? 1 : 0); - } - } - - public bool IsDynamic - { - get - { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isDynamic != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isDynamic = (byte) (value ? 1 : 0); - } - } - - public bool IsPolymorphic - { - get - { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isPolymorphic != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isPolymorphic = (byte) (value ? 1 : 0); - } - } - - public bool HasNonTrivialDefaultConstructor - { - get - { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->hasNonTrivialDefaultConstructor != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->hasNonTrivialDefaultConstructor = (byte) (value ? 1 : 0); - } - } - - public bool HasNonTrivialCopyConstructor - { - get - { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->hasNonTrivialCopyConstructor != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->hasNonTrivialCopyConstructor = (byte) (value ? 1 : 0); - } - } - - public bool HasNonTrivialDestructor - { - get - { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->hasNonTrivialDestructor != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->hasNonTrivialDestructor = (byte) (value ? 1 : 0); - } - } - - public bool IsExternCContext - { - get - { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isExternCContext != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isExternCContext = (byte) (value ? 1 : 0); - } - } - - public bool IsInjected - { - get - { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isInjected != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isInjected = (byte) (value ? 1 : 0); - } - } - - public global::CppSharp.Parser.AST.ClassLayout Layout - { - get - { - global::CppSharp.Parser.AST.ClassLayout __result0; - if (((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.ClassLayout.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout)) - __result0 = (global::CppSharp.Parser.AST.ClassLayout) global::CppSharp.Parser.AST.ClassLayout.NativeToManagedMap[((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout]; - else __result0 = global::CppSharp.Parser.AST.ClassLayout.__CreateInstance(((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->layout = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } - - public uint BasesCount - { - get - { - var __ret = __Internal.GetBasesCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - - public uint FieldsCount - { - get - { - var __ret = __Internal.GetFieldsCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - - public uint MethodsCount - { - get - { - var __ret = __Internal.GetMethodsCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - - public uint SpecifiersCount - { - get - { - var __ret = __Internal.GetSpecifiersCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - } - - public unsafe partial class Template : global::CppSharp.Parser.AST.Declaration, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 160)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(12)] - internal global::System.IntPtr _namespace; - - [FieldOffset(16)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(20)] - internal int lineNumberStart; - - [FieldOffset(24)] - internal int lineNumberEnd; - - [FieldOffset(28)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - - [FieldOffset(52)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - - [FieldOffset(76)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - - [FieldOffset(100)] - internal byte isIncomplete; - - [FieldOffset(101)] - internal byte isDependent; - - [FieldOffset(102)] - internal byte isImplicit; - - [FieldOffset(103)] - internal byte isInvalid; - - [FieldOffset(104)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(108)] - internal uint definitionOrder; - - [FieldOffset(112)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(124)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - - [FieldOffset(136)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(140)] - internal global::System.IntPtr comment; - - [FieldOffset(144)] - internal global::System.IntPtr TemplatedDecl; - - [FieldOffset(148)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0Template@AST@CppParser@CppSharp@@QAE@W4DeclarationKind@123@@Z")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0Template@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0Template@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1Template@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern void dtor(global::System.IntPtr instance, int delete); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getParameters@Template@AST@CppParser@CppSharp@@QAEPAVDeclaration@234@I@Z")] - internal static extern global::System.IntPtr GetParameters(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?addParameters@Template@AST@CppParser@CppSharp@@QAEXAAPAVDeclaration@234@@Z")] - internal static extern void AddParameters(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearParameters@Template@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearParameters(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getParametersCount@Template@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetParametersCount(global::System.IntPtr instance); - } - - internal static new global::CppSharp.Parser.AST.Template __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Template(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.Template __CreateInstance(global::CppSharp.Parser.AST.Template.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Template(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.Template.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); - global::CppSharp.Parser.AST.Template.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private Template(global::CppSharp.Parser.AST.Template.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected Template(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public Template(global::CppSharp.Parser.AST.DeclarationKind kind) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), kind); - } - - public Template() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } - - public Template(global::CppSharp.Parser.AST.Template _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } - - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - - public global::CppSharp.Parser.AST.Declaration GetParameters(uint i) - { - var __ret = __Internal.GetParameters((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Declaration __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(__ret); - return __result0; - } - - public void AddParameters(global::CppSharp.Parser.AST.Declaration s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddParameters((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearParameters() - { - __Internal.ClearParameters((__Instance + __PointerAdjustment)); - } - - public static implicit operator global::CppSharp.Parser.AST.Template(global::CppSharp.Parser.AST.DeclarationKind kind) - { - return new global::CppSharp.Parser.AST.Template(kind); - } - - public global::CppSharp.Parser.AST.Declaration TemplatedDecl - { - get - { - global::CppSharp.Parser.AST.Declaration __result0; - if (((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.Template.__Internal*)__Instance)->TemplatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } - - public uint ParametersCount - { - get - { - var __ret = __Internal.GetParametersCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - } - - public unsafe partial class TypedefDecl : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 152)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(12)] - internal global::System.IntPtr _namespace; - - [FieldOffset(16)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(20)] - internal int lineNumberStart; - - [FieldOffset(24)] - internal int lineNumberEnd; - - [FieldOffset(28)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - - [FieldOffset(52)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - - [FieldOffset(76)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - - [FieldOffset(100)] - internal byte isIncomplete; - - [FieldOffset(101)] - internal byte isDependent; - - [FieldOffset(102)] - internal byte isImplicit; - - [FieldOffset(103)] - internal byte isInvalid; - - [FieldOffset(104)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(108)] - internal uint definitionOrder; - - [FieldOffset(112)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(124)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - - [FieldOffset(136)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(140)] - internal global::System.IntPtr comment; - - [FieldOffset(144)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0TypedefDecl@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0TypedefDecl@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1TypedefDecl@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern void dtor(global::System.IntPtr instance, int delete); - } - - internal static new global::CppSharp.Parser.AST.TypedefDecl __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.TypedefDecl(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.TypedefDecl __CreateInstance(global::CppSharp.Parser.AST.TypedefDecl.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.TypedefDecl(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefDecl.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); - global::CppSharp.Parser.AST.TypedefDecl.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private TypedefDecl(global::CppSharp.Parser.AST.TypedefDecl.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) + private VTableComponent(global::CppSharp.Parser.AST.VTableComponent.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TypedefDecl(void* native, bool skipVTables = false) - : base((void*) null) + protected VTableComponent(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public TypedefDecl() - : this((void*) null) + public VTableComponent() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TypedefDecl(global::CppSharp.Parser.AST.TypedefDecl _0) - : this((void*) null) + public VTableComponent(global::CppSharp.Parser.AST.VTableComponent _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + *((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.VTableComponent.__Internal*) _0.__Instance); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.VTableComponent __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - } - public unsafe partial class TypedefNameDecl : global::CppSharp.Parser.AST.Declaration, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 152)] - public new partial struct __Internal + public global::CppSharp.Parser.AST.VTableComponentKind Kind { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(12)] - internal global::System.IntPtr _namespace; - - [FieldOffset(16)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(20)] - internal int lineNumberStart; - - [FieldOffset(24)] - internal int lineNumberEnd; - - [FieldOffset(28)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - - [FieldOffset(52)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - - [FieldOffset(76)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - - [FieldOffset(100)] - internal byte isIncomplete; + get + { + return ((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->kind; + } - [FieldOffset(101)] - internal byte isDependent; + set + { + ((global::CppSharp.Parser.AST.VTableComponent.__Internal*)__Instance)->kind = value; + } + } - [FieldOffset(102)] - internal byte isImplicit; + public uint Offset + { + get + { + return ((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->offset; + } - [FieldOffset(103)] - internal byte isInvalid; + set + { + ((global::CppSharp.Parser.AST.VTableComponent.__Internal*)__Instance)->offset = value; + } + } - [FieldOffset(104)] - internal global::System.IntPtr completeDeclaration; + public global::CppSharp.Parser.AST.Declaration Declaration + { + get + { + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration); + return __result0; + } - [FieldOffset(108)] - internal uint definitionOrder; + set + { + ((global::CppSharp.Parser.AST.VTableComponent.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } - [FieldOffset(112)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + public unsafe partial class VTableLayout : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 12)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_VTableComponent___N_std_S_allocator__S0_ Components; - [FieldOffset(124)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0VTableLayout@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); - [FieldOffset(136)] - internal global::System.IntPtr originalPtr; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0VTableLayout@AST@CppParser@CppSharp@@QAE@ABU0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); - [FieldOffset(140)] - internal global::System.IntPtr comment; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??1VTableLayout@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern void dtor(global::System.IntPtr instance, int delete); - [FieldOffset(144)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getComponents@VTableLayout@AST@CppParser@CppSharp@@QAE?AUVTableComponent@234@I@Z")] + internal static extern void GetComponents(global::System.IntPtr instance, global::System.IntPtr @return, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0TypedefNameDecl@AST@CppParser@CppSharp@@QAE@W4DeclarationKind@123@@Z")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); + EntryPoint="?addComponents@VTableLayout@AST@CppParser@CppSharp@@QAEXAAUVTableComponent@234@@Z")] + internal static extern void AddComponents(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0TypedefNameDecl@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="?clearComponents@VTableLayout@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearComponents(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1TypedefNameDecl@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern void dtor(global::System.IntPtr instance, int delete); + EntryPoint="?getComponentsCount@VTableLayout@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetComponentsCount(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.TypedefNameDecl __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.VTableLayout __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypedefNameDecl(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.VTableLayout(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TypedefNameDecl __CreateInstance(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.VTableLayout __CreateInstance(global::CppSharp.Parser.AST.VTableLayout.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypedefNameDecl(native, skipVTables); + return new global::CppSharp.Parser.AST.VTableLayout(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VTableLayout.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); - global::CppSharp.Parser.AST.TypedefNameDecl.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); + global::CppSharp.Parser.AST.VTableLayout.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TypedefNameDecl(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal native, bool skipVTables = false) + private VTableLayout(global::CppSharp.Parser.AST.VTableLayout.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TypedefNameDecl(void* native, bool skipVTables = false) - : base((void*) null) + protected VTableLayout(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public TypedefNameDecl(global::CppSharp.Parser.AST.DeclarationKind kind) - : this((void*) null) + public VTableLayout() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), kind); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public TypedefNameDecl(global::CppSharp.Parser.AST.TypedefNameDecl _0) - : this((void*) null) + public VTableLayout(global::CppSharp.Parser.AST.VTableLayout _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -4914,11 +3338,16 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.VTableLayout __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -4927,158 +3356,119 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public static implicit operator global::CppSharp.Parser.AST.TypedefNameDecl(global::CppSharp.Parser.AST.DeclarationKind kind) + public global::CppSharp.Parser.AST.VTableComponent GetComponents(uint i) { - return new global::CppSharp.Parser.AST.TypedefNameDecl(kind); + var __ret = new global::CppSharp.Parser.AST.VTableComponent.__Internal(); + __Internal.GetComponents((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); + return global::CppSharp.Parser.AST.VTableComponent.__CreateInstance(__ret); } - public global::CppSharp.Parser.AST.QualifiedType QualifiedType + public void AddComponents(global::CppSharp.Parser.AST.VTableComponent s) { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TypedefNameDecl.__Internal*) __Instance)->qualifiedType)); - } + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddComponents((__Instance + __PointerAdjustment), __arg0); + } - set + public void ClearComponents() + { + __Internal.ClearComponents((__Instance + __PointerAdjustment)); + } + + public uint ComponentsCount + { + get { - ((global::CppSharp.Parser.AST.TypedefNameDecl.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + var __ret = __Internal.GetComponentsCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class TypeAlias : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable + public unsafe partial class VFTableInfo : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 156)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 32)] + public partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; + internal ulong VBTableIndex; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; + internal uint VFPtrOffset; [FieldOffset(12)] - internal global::System.IntPtr _namespace; + internal uint VFPtrFullOffset; [FieldOffset(16)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(20)] - internal int lineNumberStart; - - [FieldOffset(24)] - internal int lineNumberEnd; - - [FieldOffset(28)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - - [FieldOffset(52)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - - [FieldOffset(76)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - - [FieldOffset(100)] - internal byte isIncomplete; - - [FieldOffset(101)] - internal byte isDependent; - - [FieldOffset(102)] - internal byte isImplicit; - - [FieldOffset(103)] - internal byte isInvalid; - - [FieldOffset(104)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(108)] - internal uint definitionOrder; - - [FieldOffset(112)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(124)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - - [FieldOffset(136)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(140)] - internal global::System.IntPtr comment; - - [FieldOffset(144)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - - [FieldOffset(152)] - internal global::System.IntPtr describedAliasTemplate; + internal global::CppSharp.Parser.AST.VTableLayout.__Internal layout; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0TypeAlias@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0VFTableInfo@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0TypeAlias@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0VFTableInfo@AST@CppParser@CppSharp@@QAE@ABU0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1TypeAlias@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??1VFTableInfo@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern void dtor(global::System.IntPtr instance, int delete); } - internal static new global::CppSharp.Parser.AST.TypeAlias __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.VFTableInfo __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypeAlias(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.VFTableInfo(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TypeAlias __CreateInstance(global::CppSharp.Parser.AST.TypeAlias.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.VFTableInfo __CreateInstance(global::CppSharp.Parser.AST.VFTableInfo.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypeAlias(native, skipVTables); + return new global::CppSharp.Parser.AST.VFTableInfo(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypeAlias.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VFTableInfo.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); - global::CppSharp.Parser.AST.TypeAlias.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); + global::CppSharp.Parser.AST.VFTableInfo.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TypeAlias(global::CppSharp.Parser.AST.TypeAlias.__Internal native, bool skipVTables = false) + private VFTableInfo(global::CppSharp.Parser.AST.VFTableInfo.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TypeAlias(void* native, bool skipVTables = false) - : base((void*) null) + protected VFTableInfo(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public TypeAlias() - : this((void*) null) + public VFTableInfo() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TypeAlias(global::CppSharp.Parser.AST.TypeAlias _0) - : this((void*) null) + public VFTableInfo(global::CppSharp.Parser.AST.VFTableInfo _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -5087,11 +3477,16 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.VFTableInfo __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -5100,171 +3495,160 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.TypeAliasTemplate DescribedAliasTemplate + public ulong VBTableIndex + { + get + { + return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VBTableIndex; + } + + set + { + ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->VBTableIndex = value; + } + } + + public uint VFPtrOffset + { + get + { + return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VFPtrOffset; + } + + set + { + ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->VFPtrOffset = value; + } + } + + public uint VFPtrFullOffset + { + get + { + return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VFPtrFullOffset; + } + + set + { + ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->VFPtrFullOffset = value; + } + } + + public global::CppSharp.Parser.AST.VTableLayout Layout { get { - global::CppSharp.Parser.AST.TypeAliasTemplate __result0; - if (((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TypeAliasTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate)) - __result0 = (global::CppSharp.Parser.AST.TypeAliasTemplate) global::CppSharp.Parser.AST.TypeAliasTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate]; - else __result0 = global::CppSharp.Parser.AST.TypeAliasTemplate.__CreateInstance(((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate); - return __result0; + return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->layout)); } set { - ((global::CppSharp.Parser.AST.TypeAlias.__Internal*)__Instance)->describedAliasTemplate = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->layout = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.VTableLayout.__Internal() : *(global::CppSharp.Parser.AST.VTableLayout.__Internal*) value.__Instance; } } } - public unsafe partial class TypeAliasTemplate : global::CppSharp.Parser.AST.Template, IDisposable + public unsafe partial class LayoutField : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 160)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 40)] + public partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + internal uint offset; [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(12)] - internal global::System.IntPtr _namespace; - - [FieldOffset(16)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(20)] - internal int lineNumberStart; - - [FieldOffset(24)] - internal int lineNumberEnd; - - [FieldOffset(28)] internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - [FieldOffset(52)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - - [FieldOffset(76)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - - [FieldOffset(100)] - internal byte isIncomplete; - - [FieldOffset(101)] - internal byte isDependent; - - [FieldOffset(102)] - internal byte isImplicit; - - [FieldOffset(103)] - internal byte isInvalid; - - [FieldOffset(104)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(108)] - internal uint definitionOrder; - - [FieldOffset(112)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(124)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - - [FieldOffset(136)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(140)] - internal global::System.IntPtr comment; - - [FieldOffset(144)] - internal global::System.IntPtr TemplatedDecl; + [FieldOffset(28)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - [FieldOffset(148)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; + [FieldOffset(36)] + internal global::System.IntPtr fieldPtr; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0TypeAliasTemplate@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0LayoutField@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0TypeAliasTemplate@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="??0LayoutField@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr other); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1TypeAliasTemplate@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??1LayoutField@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern void dtor(global::System.IntPtr instance, int delete); } - internal static new global::CppSharp.Parser.AST.TypeAliasTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.LayoutField __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypeAliasTemplate(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.LayoutField(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TypeAliasTemplate __CreateInstance(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.LayoutField __CreateInstance(global::CppSharp.Parser.AST.LayoutField.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypeAliasTemplate(native, skipVTables); + return new global::CppSharp.Parser.AST.LayoutField(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.LayoutField.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); - global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); + global::CppSharp.Parser.AST.LayoutField.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TypeAliasTemplate(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native, bool skipVTables = false) + private LayoutField(global::CppSharp.Parser.AST.LayoutField.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TypeAliasTemplate(void* native, bool skipVTables = false) - : base((void*) null) + protected LayoutField(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public TypeAliasTemplate() - : this((void*) null) + public LayoutField() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TypeAliasTemplate(global::CppSharp.Parser.AST.TypeAliasTemplate _0) - : this((void*) null) + public LayoutField(global::CppSharp.Parser.AST.LayoutField other) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; + if (ReferenceEquals(other, null)) + throw new global::System.ArgumentNullException("other", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = other.__Instance; __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.LayoutField __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -5272,154 +3656,158 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - } - public unsafe partial class Variable : global::CppSharp.Parser.AST.Declaration, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 176)] - public new partial struct __Internal + public uint Offset { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(12)] - internal global::System.IntPtr _namespace; - - [FieldOffset(16)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(20)] - internal int lineNumberStart; - - [FieldOffset(24)] - internal int lineNumberEnd; - - [FieldOffset(28)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - - [FieldOffset(52)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - - [FieldOffset(76)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - - [FieldOffset(100)] - internal byte isIncomplete; - - [FieldOffset(101)] - internal byte isDependent; - - [FieldOffset(102)] - internal byte isImplicit; - - [FieldOffset(103)] - internal byte isInvalid; + get + { + return ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->offset; + } - [FieldOffset(104)] - internal global::System.IntPtr completeDeclaration; + set + { + ((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->offset = value; + } + } - [FieldOffset(108)] - internal uint definitionOrder; + public string Name + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->name)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } - [FieldOffset(112)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->name), value); + } + } - [FieldOffset(124)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + public global::CppSharp.Parser.AST.QualifiedType QualifiedType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->qualifiedType)); + } - [FieldOffset(136)] - internal global::System.IntPtr originalPtr; + set + { + ((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } - [FieldOffset(140)] - internal global::System.IntPtr comment; + public global::System.IntPtr FieldPtr + { + get + { + return ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->fieldPtr; + } - [FieldOffset(144)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C mangled; + set + { + ((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->fieldPtr = (global::System.IntPtr) value; + } + } + } - [FieldOffset(168)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + public unsafe partial class LayoutBase : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 8)] + public partial struct __Internal + { + [FieldOffset(0)] + internal uint offset; + + [FieldOffset(4)] + internal global::System.IntPtr _class; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0Variable@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0LayoutBase@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0Variable@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="??0LayoutBase@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr other); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1Variable@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??1LayoutBase@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern void dtor(global::System.IntPtr instance, int delete); } - internal static new global::CppSharp.Parser.AST.Variable __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.LayoutBase __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Variable(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.LayoutBase(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Variable __CreateInstance(global::CppSharp.Parser.AST.Variable.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.LayoutBase __CreateInstance(global::CppSharp.Parser.AST.LayoutBase.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Variable(native, skipVTables); + return new global::CppSharp.Parser.AST.LayoutBase(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Variable.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.LayoutBase.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); - global::CppSharp.Parser.AST.Variable.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); + global::CppSharp.Parser.AST.LayoutBase.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Variable(global::CppSharp.Parser.AST.Variable.__Internal native, bool skipVTables = false) + private LayoutBase(global::CppSharp.Parser.AST.LayoutBase.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Variable(void* native, bool skipVTables = false) - : base((void*) null) + protected LayoutBase(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public Variable() - : this((void*) null) + public LayoutBase() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public Variable(global::CppSharp.Parser.AST.Variable _0) - : this((void*) null) + public LayoutBase(global::CppSharp.Parser.AST.LayoutBase other) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; + if (ReferenceEquals(other, null)) + throw new global::System.ArgumentNullException("other", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = other.__Instance; __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.LayoutBase __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -5428,287 +3816,205 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public string Mangled + public uint Offset { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Variable.__Internal*) __Instance)->mangled)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + return ((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->offset; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Variable.__Internal*)__Instance)->mangled), value); + ((global::CppSharp.Parser.AST.LayoutBase.__Internal*)__Instance)->offset = value; } } - public global::CppSharp.Parser.AST.QualifiedType QualifiedType + public global::CppSharp.Parser.AST.Class Class { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Variable.__Internal*) __Instance)->qualifiedType)); + global::CppSharp.Parser.AST.Class __result0; + if (((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class)) + __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class]; + else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class); + return __result0; } set { - ((global::CppSharp.Parser.AST.Variable.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.LayoutBase.__Internal*)__Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } - public unsafe partial class Friend : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class ClassLayout : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 148)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 72)] + public partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + internal global::CppSharp.Parser.AST.CppAbi ABI; [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(12)] - internal global::System.IntPtr _namespace; + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_VFTableInfo___N_std_S_allocator__S0_ VFTables; [FieldOffset(16)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(20)] - internal int lineNumberStart; - - [FieldOffset(24)] - internal int lineNumberEnd; + internal global::CppSharp.Parser.AST.VTableLayout.__Internal layout; [FieldOffset(28)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - - [FieldOffset(52)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - - [FieldOffset(76)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - - [FieldOffset(100)] - internal byte isIncomplete; - - [FieldOffset(101)] - internal byte isDependent; - - [FieldOffset(102)] - internal byte isImplicit; - - [FieldOffset(103)] - internal byte isInvalid; - - [FieldOffset(104)] - internal global::System.IntPtr completeDeclaration; + internal byte hasOwnVFPtr; - [FieldOffset(108)] - internal uint definitionOrder; + [FieldOffset(32)] + internal int VBPtrOffset; - [FieldOffset(112)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + [FieldOffset(36)] + internal int alignment; - [FieldOffset(124)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + [FieldOffset(40)] + internal int size; - [FieldOffset(136)] - internal global::System.IntPtr originalPtr; + [FieldOffset(44)] + internal int dataSize; - [FieldOffset(140)] - internal global::System.IntPtr comment; + [FieldOffset(48)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_LayoutField___N_std_S_allocator__S0_ Fields; - [FieldOffset(144)] - internal global::System.IntPtr declaration; + [FieldOffset(60)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_LayoutBase___N_std_S_allocator__S0_ Bases; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0Friend@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0ClassLayout@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0Friend@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0ClassLayout@AST@CppParser@CppSharp@@QAE@ABU0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1Friend@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??1ClassLayout@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern void dtor(global::System.IntPtr instance, int delete); - } - - internal static new global::CppSharp.Parser.AST.Friend __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Friend(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.Friend __CreateInstance(global::CppSharp.Parser.AST.Friend.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Friend(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.Friend.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); - global::CppSharp.Parser.AST.Friend.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private Friend(global::CppSharp.Parser.AST.Friend.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - protected Friend(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getVFTables@ClassLayout@AST@CppParser@CppSharp@@QAE?AUVFTableInfo@234@I@Z")] + internal static extern void GetVFTables(global::System.IntPtr instance, global::System.IntPtr @return, uint i); - public Friend() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?addVFTables@ClassLayout@AST@CppParser@CppSharp@@QAEXAAUVFTableInfo@234@@Z")] + internal static extern void AddVFTables(global::System.IntPtr instance, global::System.IntPtr s); - public Friend(global::CppSharp.Parser.AST.Friend _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?clearVFTables@ClassLayout@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearVFTables(global::System.IntPtr instance); - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getFields@ClassLayout@AST@CppParser@CppSharp@@QAE?AVLayoutField@234@I@Z")] + internal static extern void GetFields(global::System.IntPtr instance, global::System.IntPtr @return, uint i); - public global::CppSharp.Parser.AST.Declaration Declaration - { - get - { - global::CppSharp.Parser.AST.Declaration __result0; - if (((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration); - return __result0; - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?addFields@ClassLayout@AST@CppParser@CppSharp@@QAEXAAVLayoutField@234@@Z")] + internal static extern void AddFields(global::System.IntPtr instance, global::System.IntPtr s); - set - { - ((global::CppSharp.Parser.AST.Friend.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?clearFields@ClassLayout@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearFields(global::System.IntPtr instance); - public unsafe partial class BaseClassSpecifier : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 16)] - public partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getBases@ClassLayout@AST@CppParser@CppSharp@@QAE?AVLayoutBase@234@I@Z")] + internal static extern void GetBases(global::System.IntPtr instance, global::System.IntPtr @return, uint i); - [FieldOffset(4)] - internal byte isVirtual; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?addBases@ClassLayout@AST@CppParser@CppSharp@@QAEXAAVLayoutBase@234@@Z")] + internal static extern void AddBases(global::System.IntPtr instance, global::System.IntPtr s); - [FieldOffset(8)] - internal global::System.IntPtr type; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?clearBases@ClassLayout@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearBases(global::System.IntPtr instance); - [FieldOffset(12)] - internal int offset; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getVFTablesCount@ClassLayout@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetVFTablesCount(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0BaseClassSpecifier@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); + EntryPoint="?getFieldsCount@ClassLayout@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetFieldsCount(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0BaseClassSpecifier@AST@CppParser@CppSharp@@QAE@ABU0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="?getBasesCount@ClassLayout@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetBasesCount(global::System.IntPtr instance); } public global::System.IntPtr __Instance { get; protected set; } protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); protected void*[] __OriginalVTables; protected bool __ownsNativeInstance; - internal static global::CppSharp.Parser.AST.BaseClassSpecifier __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.ClassLayout __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.BaseClassSpecifier(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.ClassLayout(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.BaseClassSpecifier __CreateInstance(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.ClassLayout __CreateInstance(global::CppSharp.Parser.AST.ClassLayout.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.BaseClassSpecifier(native, skipVTables); + return new global::CppSharp.Parser.AST.ClassLayout(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.ClassLayout.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); - *(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) ret = native; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); + global::CppSharp.Parser.AST.ClassLayout.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private BaseClassSpecifier(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native, bool skipVTables = false) + private ClassLayout(global::CppSharp.Parser.AST.ClassLayout.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected BaseClassSpecifier(void* native, bool skipVTables = false) + protected ClassLayout(void* native, bool skipVTables = false) { if (native == null) return; __Instance = new global::System.IntPtr(native); } - public BaseClassSpecifier() + public ClassLayout() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public BaseClassSpecifier(global::CppSharp.Parser.AST.BaseClassSpecifier _0) + public ClassLayout(global::CppSharp.Parser.AST.ClassLayout _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) _0.__Instance); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } public void Dispose() @@ -5720,293 +4026,198 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.BaseClassSpecifier __dummy; + global::CppSharp.Parser.AST.ClassLayout __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.AccessSpecifier Access + public global::CppSharp.Parser.AST.VFTableInfo GetVFTables(uint i) { - get - { - return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->access; - } - - set - { - ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->access = value; - } + var __ret = new global::CppSharp.Parser.AST.VFTableInfo.__Internal(); + __Internal.GetVFTables((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); + return global::CppSharp.Parser.AST.VFTableInfo.__CreateInstance(__ret); } - public bool IsVirtual + public void AddVFTables(global::CppSharp.Parser.AST.VFTableInfo s) { - get - { - return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->isVirtual != 0; - } - - set - { - ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->isVirtual = (byte) (value ? 1 : 0); - } + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddVFTables((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.Type Type + public void ClearVFTables() { - get - { - global::CppSharp.Parser.AST.Type __result0; - if (((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type)) - __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type]; - else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + __Internal.ClearVFTables((__Instance + __PointerAdjustment)); } - public int Offset + public global::CppSharp.Parser.AST.LayoutField GetFields(uint i) { - get - { - return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->offset; - } - - set - { - ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->offset = value; - } + var __ret = new global::CppSharp.Parser.AST.LayoutField.__Internal(); + __Internal.GetFields((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); + return global::CppSharp.Parser.AST.LayoutField.__CreateInstance(__ret); } - } - public unsafe partial class Field : global::CppSharp.Parser.AST.Declaration, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 164)] - public new partial struct __Internal + public void AddFields(global::CppSharp.Parser.AST.LayoutField s) { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(12)] - internal global::System.IntPtr _namespace; - - [FieldOffset(16)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(20)] - internal int lineNumberStart; - - [FieldOffset(24)] - internal int lineNumberEnd; - - [FieldOffset(28)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - - [FieldOffset(52)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - - [FieldOffset(76)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - - [FieldOffset(100)] - internal byte isIncomplete; - - [FieldOffset(101)] - internal byte isDependent; - - [FieldOffset(102)] - internal byte isImplicit; - - [FieldOffset(103)] - internal byte isInvalid; - - [FieldOffset(104)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(108)] - internal uint definitionOrder; - - [FieldOffset(112)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(124)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - - [FieldOffset(136)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(140)] - internal global::System.IntPtr comment; - - [FieldOffset(144)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - - [FieldOffset(152)] - internal global::System.IntPtr _class; - - [FieldOffset(156)] - internal byte isBitField; - - [FieldOffset(160)] - internal uint bitWidth; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0Field@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0Field@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1Field@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern void dtor(global::System.IntPtr instance, int delete); + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddFields((__Instance + __PointerAdjustment), __arg0); } - internal static new global::CppSharp.Parser.AST.Field __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public void ClearFields() { - return new global::CppSharp.Parser.AST.Field(native.ToPointer(), skipVTables); + __Internal.ClearFields((__Instance + __PointerAdjustment)); } - internal static global::CppSharp.Parser.AST.Field __CreateInstance(global::CppSharp.Parser.AST.Field.__Internal native, bool skipVTables = false) + public global::CppSharp.Parser.AST.LayoutBase GetBases(uint i) { - return new global::CppSharp.Parser.AST.Field(native, skipVTables); + var __ret = new global::CppSharp.Parser.AST.LayoutBase.__Internal(); + __Internal.GetBases((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); + return global::CppSharp.Parser.AST.LayoutBase.__CreateInstance(__ret); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Field.__Internal native) + public void AddBases(global::CppSharp.Parser.AST.LayoutBase s) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); - global::CppSharp.Parser.AST.Field.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddBases((__Instance + __PointerAdjustment), __arg0); } - private Field(global::CppSharp.Parser.AST.Field.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) + public void ClearBases() { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + __Internal.ClearBases((__Instance + __PointerAdjustment)); } - protected Field(void* native, bool skipVTables = false) - : base((void*) null) + public global::CppSharp.Parser.AST.CppAbi ABI { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); + get + { + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->ABI; + } + + set + { + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->ABI = value; + } } - public Field() - : this((void*) null) + public global::CppSharp.Parser.AST.VTableLayout Layout { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + get + { + return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->layout)); + } + + set + { + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->layout = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.VTableLayout.__Internal() : *(global::CppSharp.Parser.AST.VTableLayout.__Internal*) value.__Instance; + } } - public Field(global::CppSharp.Parser.AST.Field _0) - : this((void*) null) + public bool HasOwnVFPtr { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + get + { + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->hasOwnVFPtr != 0; + } + + set + { + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->hasOwnVFPtr = (byte) (value ? 1 : 0); + } } - public override void Dispose(bool disposing) + public int VBPtrOffset { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; + get + { + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->VBPtrOffset; + } + + set + { + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->VBPtrOffset = value; + } } - public global::CppSharp.Parser.AST.QualifiedType QualifiedType + public int Alignment { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->qualifiedType)); + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->alignment; } set { - ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->alignment = value; } } - public global::CppSharp.Parser.AST.Class Class + public int Size { get { - global::CppSharp.Parser.AST.Class __result0; - if (((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class)) - __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class]; - else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class); - return __result0; + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->size; } set { - ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->size = value; } } - public bool IsBitField + public int DataSize { get { - return ((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->isBitField != 0; + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->dataSize; } set { - ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->isBitField = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->dataSize = value; } } - public uint BitWidth + public uint VFTablesCount { get { - return ((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->bitWidth; + var __ret = __Internal.GetVFTablesCount((__Instance + __PointerAdjustment)); + return __ret; } + } - set + public uint FieldsCount + { + get { - ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->bitWidth = value; + var __ret = __Internal.GetFieldsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + + public uint BasesCount + { + get + { + var __ret = __Internal.GetBasesCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class Method : global::CppSharp.Parser.AST.Function, IDisposable + public unsafe partial class Declaration : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 428)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 144)] + public partial struct __Internal { [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; @@ -6062,217 +4273,118 @@ namespace CppSharp [FieldOffset(124)] internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - [FieldOffset(136)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(140)] - internal global::System.IntPtr comment; - - [FieldOffset(144)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; - - [FieldOffset(156)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; - - [FieldOffset(168)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; - - [FieldOffset(180)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; - - [FieldOffset(192)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; - - [FieldOffset(204)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; - - [FieldOffset(216)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; - - [FieldOffset(228)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; - - [FieldOffset(240)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; - - [FieldOffset(252)] - internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; - - [FieldOffset(260)] - internal byte isAnonymous; - - [FieldOffset(264)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; - - [FieldOffset(272)] - internal byte isReturnIndirect; - - [FieldOffset(273)] - internal byte hasThisReturn; - - [FieldOffset(274)] - internal byte isConstExpr; - - [FieldOffset(275)] - internal byte isVariadic; - - [FieldOffset(276)] - internal byte isInline; - - [FieldOffset(277)] - internal byte isPure; - - [FieldOffset(278)] - internal byte isDeleted; - - [FieldOffset(279)] - internal byte isDefaulted; - - [FieldOffset(280)] - internal global::CppSharp.Parser.AST.FriendKind friendKind; - - [FieldOffset(284)] - internal global::CppSharp.Parser.AST.CXXOperatorKind operatorKind; - - [FieldOffset(288)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C mangled; - - [FieldOffset(312)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C signature; - - [FieldOffset(336)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C body; - - [FieldOffset(360)] - internal global::CppSharp.Parser.AST.CallingConvention callingConvention; - - [FieldOffset(364)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_S_allocator__S0_ Parameters; - - [FieldOffset(376)] - internal global::System.IntPtr specializationInfo; - - [FieldOffset(380)] - internal global::System.IntPtr instantiatedFrom; - - [FieldOffset(384)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - - [FieldOffset(392)] - internal byte isVirtual; - - [FieldOffset(393)] - internal byte isStatic; - - [FieldOffset(394)] - internal byte isConst; - - [FieldOffset(395)] - internal byte isExplicit; - - [FieldOffset(396)] - internal global::CppSharp.Parser.AST.CXXMethodKind methodKind; - - [FieldOffset(400)] - internal byte isDefaultConstructor; - - [FieldOffset(401)] - internal byte isCopyConstructor; - - [FieldOffset(402)] - internal byte isMoveConstructor; - - [FieldOffset(404)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal conversionType; - - [FieldOffset(412)] - internal global::CppSharp.Parser.AST.RefQualifierKind refQualifier; + [FieldOffset(136)] + internal global::System.IntPtr originalPtr; - [FieldOffset(416)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_S_allocator__S0_ OverriddenMethods; + [FieldOffset(140)] + internal global::System.IntPtr comment; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0Method@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); + EntryPoint="??0Declaration@AST@CppParser@CppSharp@@QAE@W4DeclarationKind@123@@Z")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0Method@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0Declaration@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1Method@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??1Declaration@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern void dtor(global::System.IntPtr instance, int delete); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getOverriddenMethods@Method@AST@CppParser@CppSharp@@QAEPAV1234@I@Z")] - internal static extern global::System.IntPtr GetOverriddenMethods(global::System.IntPtr instance, uint i); + EntryPoint="?getPreprocessedEntities@Declaration@AST@CppParser@CppSharp@@QAEPAVPreprocessedEntity@234@I@Z")] + internal static extern global::System.IntPtr GetPreprocessedEntities(global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?addOverriddenMethods@Method@AST@CppParser@CppSharp@@QAEXAAPAV1234@@Z")] - internal static extern void AddOverriddenMethods(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="?addPreprocessedEntities@Declaration@AST@CppParser@CppSharp@@QAEXAAPAVPreprocessedEntity@234@@Z")] + internal static extern void AddPreprocessedEntities(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearOverriddenMethods@Method@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearOverriddenMethods(global::System.IntPtr instance); + EntryPoint="?clearPreprocessedEntities@Declaration@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearPreprocessedEntities(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getOverriddenMethodsCount@Method@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetOverriddenMethodsCount(global::System.IntPtr instance); + EntryPoint="?getRedeclarations@Declaration@AST@CppParser@CppSharp@@QAEPAV1234@I@Z")] + internal static extern global::System.IntPtr GetRedeclarations(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?addRedeclarations@Declaration@AST@CppParser@CppSharp@@QAEXAAPAV1234@@Z")] + internal static extern void AddRedeclarations(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?clearRedeclarations@Declaration@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearRedeclarations(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getPreprocessedEntitiesCount@Declaration@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetPreprocessedEntitiesCount(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getRedeclarationsCount@Declaration@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetRedeclarationsCount(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.Method __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.Declaration __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Method(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Declaration(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Method __CreateInstance(global::CppSharp.Parser.AST.Method.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Declaration __CreateInstance(global::CppSharp.Parser.AST.Declaration.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Method(native, skipVTables); + return new global::CppSharp.Parser.AST.Declaration(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Method.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Declaration.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); - global::CppSharp.Parser.AST.Method.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); + global::CppSharp.Parser.AST.Declaration.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Method(global::CppSharp.Parser.AST.Method.__Internal native, bool skipVTables = false) + private Declaration(global::CppSharp.Parser.AST.Declaration.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Method(void* native, bool skipVTables = false) - : base((void*) null) + protected Declaration(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public Method() - : this((void*) null) + public Declaration(global::CppSharp.Parser.AST.DeclarationKind kind) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + __Internal.ctor((__Instance + __PointerAdjustment), kind); } - public Method(global::CppSharp.Parser.AST.Method _0) - : this((void*) null) + public Declaration(global::CppSharp.Parser.AST.Declaration _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -6281,7 +4393,12 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; @@ -6294,173 +4411,339 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.Method GetOverriddenMethods(uint i) + public global::CppSharp.Parser.AST.PreprocessedEntity GetPreprocessedEntities(uint i) { - var __ret = __Internal.GetOverriddenMethods((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Method __result0; + var __ret = __Internal.GetPreprocessedEntities((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.PreprocessedEntity __result0; if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Method.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Method) global::CppSharp.Parser.AST.Method.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Method.__CreateInstance(__ret); + else if (global::CppSharp.Parser.AST.PreprocessedEntity.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.PreprocessedEntity) global::CppSharp.Parser.AST.PreprocessedEntity.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.PreprocessedEntity.__CreateInstance(__ret); return __result0; } - public void AddOverriddenMethods(global::CppSharp.Parser.AST.Method s) + public void AddPreprocessedEntities(global::CppSharp.Parser.AST.PreprocessedEntity s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddOverriddenMethods((__Instance + __PointerAdjustment), __arg0); + __Internal.AddPreprocessedEntities((__Instance + __PointerAdjustment), __arg0); } - public void ClearOverriddenMethods() + public void ClearPreprocessedEntities() { - __Internal.ClearOverriddenMethods((__Instance + __PointerAdjustment)); + __Internal.ClearPreprocessedEntities((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.Declaration GetRedeclarations(uint i) + { + var __ret = __Internal.GetRedeclarations((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Declaration __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(__ret); + return __result0; + } + + public void AddRedeclarations(global::CppSharp.Parser.AST.Declaration s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddRedeclarations((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearRedeclarations() + { + __Internal.ClearRedeclarations((__Instance + __PointerAdjustment)); + } + + public static implicit operator global::CppSharp.Parser.AST.Declaration(global::CppSharp.Parser.AST.DeclarationKind kind) + { + return new global::CppSharp.Parser.AST.Declaration(kind); + } + + public global::CppSharp.Parser.AST.DeclarationKind Kind + { + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->kind; + } + + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->kind = value; + } + } + + public int MaxFieldAlignment + { + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->maxFieldAlignment; + } + + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->maxFieldAlignment = value; + } + } + + public global::CppSharp.Parser.AST.AccessSpecifier Access + { + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->access; + } + + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->access = value; + } + } + + public global::CppSharp.Parser.AST.DeclarationContext Namespace + { + get + { + global::CppSharp.Parser.AST.DeclarationContext __result0; + if (((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.DeclarationContext.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace)) + __result0 = (global::CppSharp.Parser.AST.DeclarationContext) global::CppSharp.Parser.AST.DeclarationContext.NativeToManagedMap[((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace]; + else __result0 = global::CppSharp.Parser.AST.DeclarationContext.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->_namespace = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation Location + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->location); + } + + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->location = value.__Instance; + } + } + + public int LineNumberStart + { + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->lineNumberStart; + } + + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->lineNumberStart = value; + } + } + + public int LineNumberEnd + { + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->lineNumberEnd; + } + + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->lineNumberEnd = value; + } + } + + public string Name + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->name)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->name), value); + } } - public bool IsVirtual + public string USR { get { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isVirtual != 0; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->USR)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isVirtual = (byte) (value ? 1 : 0); + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->USR), value); } } - public bool IsStatic + public string DebugText { get { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isStatic != 0; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->debugText)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isStatic = (byte) (value ? 1 : 0); + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->debugText), value); } } - public bool IsConst + public bool IsIncomplete { get { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isConst != 0; + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isIncomplete != 0; } set { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isConst = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isIncomplete = (byte) (value ? 1 : 0); } } - public bool IsExplicit + public bool IsDependent { get { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isExplicit != 0; + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isDependent != 0; } set { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isExplicit = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isDependent = (byte) (value ? 1 : 0); } } - public global::CppSharp.Parser.AST.CXXMethodKind MethodKind + public bool IsImplicit { get { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->methodKind; + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isImplicit != 0; } set { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->methodKind = value; + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isImplicit = (byte) (value ? 1 : 0); } } - public bool IsDefaultConstructor + public bool IsInvalid { get { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isDefaultConstructor != 0; + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isInvalid != 0; } set { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isDefaultConstructor = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isInvalid = (byte) (value ? 1 : 0); } } - public bool IsCopyConstructor + public global::CppSharp.Parser.AST.Declaration CompleteDeclaration { get { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isCopyConstructor != 0; + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration); + return __result0; } set { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isCopyConstructor = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->completeDeclaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public bool IsMoveConstructor + public uint DefinitionOrder { get { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isMoveConstructor != 0; + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->definitionOrder; } set { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isMoveConstructor = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->definitionOrder = value; } } - public global::CppSharp.Parser.AST.QualifiedType ConversionType + public global::System.IntPtr OriginalPtr { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->conversionType)); + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->originalPtr; } set { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->conversionType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->originalPtr = (global::System.IntPtr) value; } } - public global::CppSharp.Parser.AST.RefQualifierKind RefQualifier + public global::CppSharp.Parser.AST.RawComment Comment { get { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->refQualifier; + global::CppSharp.Parser.AST.RawComment __result0; + if (((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.RawComment.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment)) + __result0 = (global::CppSharp.Parser.AST.RawComment) global::CppSharp.Parser.AST.RawComment.NativeToManagedMap[((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment]; + else __result0 = global::CppSharp.Parser.AST.RawComment.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment); + return __result0; } set { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->refQualifier = value; + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->comment = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public uint OverriddenMethodsCount + public uint PreprocessedEntitiesCount { get { - var __ret = __Internal.GetOverriddenMethodsCount((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetPreprocessedEntitiesCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + + public uint RedeclarationsCount + { + get + { + var __ret = __Internal.GetRedeclarationsCount((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class Parameter : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class DeclarationContext : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 164)] + [StructLayout(LayoutKind.Explicit, Size = 264)] public new partial struct __Internal { [FieldOffset(0)] @@ -6484,101 +4767,299 @@ namespace CppSharp [FieldOffset(24)] internal int lineNumberEnd; - [FieldOffset(28)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + [FieldOffset(28)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(52)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(76)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(100)] + internal byte isIncomplete; + + [FieldOffset(101)] + internal byte isDependent; + + [FieldOffset(102)] + internal byte isImplicit; + + [FieldOffset(103)] + internal byte isInvalid; + + [FieldOffset(104)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(108)] + internal uint definitionOrder; + + [FieldOffset(112)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(124)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(136)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(140)] + internal global::System.IntPtr comment; + + [FieldOffset(144)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; + + [FieldOffset(156)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; + + [FieldOffset(168)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; + + [FieldOffset(180)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; + + [FieldOffset(192)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; + + [FieldOffset(204)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; + + [FieldOffset(216)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; + + [FieldOffset(228)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; + + [FieldOffset(240)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; + + [FieldOffset(252)] + internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + + [FieldOffset(260)] + internal byte isAnonymous; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0DeclarationContext@AST@CppParser@CppSharp@@QAE@W4DeclarationKind@123@@Z")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0DeclarationContext@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??1DeclarationContext@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern void dtor(global::System.IntPtr instance, int delete); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getNamespaces@DeclarationContext@AST@CppParser@CppSharp@@QAEPAVNamespace@234@I@Z")] + internal static extern global::System.IntPtr GetNamespaces(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?addNamespaces@DeclarationContext@AST@CppParser@CppSharp@@QAEXAAPAVNamespace@234@@Z")] + internal static extern void AddNamespaces(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?clearNamespaces@DeclarationContext@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearNamespaces(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getEnums@DeclarationContext@AST@CppParser@CppSharp@@QAEPAVEnumeration@234@I@Z")] + internal static extern global::System.IntPtr GetEnums(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?addEnums@DeclarationContext@AST@CppParser@CppSharp@@QAEXAAPAVEnumeration@234@@Z")] + internal static extern void AddEnums(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?clearEnums@DeclarationContext@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearEnums(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getFunctions@DeclarationContext@AST@CppParser@CppSharp@@QAEPAVFunction@234@I@Z")] + internal static extern global::System.IntPtr GetFunctions(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?addFunctions@DeclarationContext@AST@CppParser@CppSharp@@QAEXAAPAVFunction@234@@Z")] + internal static extern void AddFunctions(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?clearFunctions@DeclarationContext@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearFunctions(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getClasses@DeclarationContext@AST@CppParser@CppSharp@@QAEPAVClass@234@I@Z")] + internal static extern global::System.IntPtr GetClasses(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?addClasses@DeclarationContext@AST@CppParser@CppSharp@@QAEXAAPAVClass@234@@Z")] + internal static extern void AddClasses(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?clearClasses@DeclarationContext@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearClasses(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getTemplates@DeclarationContext@AST@CppParser@CppSharp@@QAEPAVTemplate@234@I@Z")] + internal static extern global::System.IntPtr GetTemplates(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?addTemplates@DeclarationContext@AST@CppParser@CppSharp@@QAEXAAPAVTemplate@234@@Z")] + internal static extern void AddTemplates(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?clearTemplates@DeclarationContext@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearTemplates(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getTypedefs@DeclarationContext@AST@CppParser@CppSharp@@QAEPAVTypedefDecl@234@I@Z")] + internal static extern global::System.IntPtr GetTypedefs(global::System.IntPtr instance, uint i); - [FieldOffset(52)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?addTypedefs@DeclarationContext@AST@CppParser@CppSharp@@QAEXAAPAVTypedefDecl@234@@Z")] + internal static extern void AddTypedefs(global::System.IntPtr instance, global::System.IntPtr s); - [FieldOffset(76)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?clearTypedefs@DeclarationContext@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearTypedefs(global::System.IntPtr instance); - [FieldOffset(100)] - internal byte isIncomplete; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getTypeAliases@DeclarationContext@AST@CppParser@CppSharp@@QAEPAVTypeAlias@234@I@Z")] + internal static extern global::System.IntPtr GetTypeAliases(global::System.IntPtr instance, uint i); - [FieldOffset(101)] - internal byte isDependent; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?addTypeAliases@DeclarationContext@AST@CppParser@CppSharp@@QAEXAAPAVTypeAlias@234@@Z")] + internal static extern void AddTypeAliases(global::System.IntPtr instance, global::System.IntPtr s); - [FieldOffset(102)] - internal byte isImplicit; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?clearTypeAliases@DeclarationContext@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearTypeAliases(global::System.IntPtr instance); - [FieldOffset(103)] - internal byte isInvalid; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getVariables@DeclarationContext@AST@CppParser@CppSharp@@QAEPAVVariable@234@I@Z")] + internal static extern global::System.IntPtr GetVariables(global::System.IntPtr instance, uint i); - [FieldOffset(104)] - internal global::System.IntPtr completeDeclaration; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?addVariables@DeclarationContext@AST@CppParser@CppSharp@@QAEXAAPAVVariable@234@@Z")] + internal static extern void AddVariables(global::System.IntPtr instance, global::System.IntPtr s); - [FieldOffset(108)] - internal uint definitionOrder; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?clearVariables@DeclarationContext@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearVariables(global::System.IntPtr instance); - [FieldOffset(112)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getFriends@DeclarationContext@AST@CppParser@CppSharp@@QAEPAVFriend@234@I@Z")] + internal static extern global::System.IntPtr GetFriends(global::System.IntPtr instance, uint i); - [FieldOffset(124)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?addFriends@DeclarationContext@AST@CppParser@CppSharp@@QAEXAAPAVFriend@234@@Z")] + internal static extern void AddFriends(global::System.IntPtr instance, global::System.IntPtr s); - [FieldOffset(136)] - internal global::System.IntPtr originalPtr; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?clearFriends@DeclarationContext@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearFriends(global::System.IntPtr instance); - [FieldOffset(140)] - internal global::System.IntPtr comment; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getNamespacesCount@DeclarationContext@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetNamespacesCount(global::System.IntPtr instance); - [FieldOffset(144)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getEnumsCount@DeclarationContext@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetEnumsCount(global::System.IntPtr instance); - [FieldOffset(152)] - internal byte isIndirect; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getFunctionsCount@DeclarationContext@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetFunctionsCount(global::System.IntPtr instance); - [FieldOffset(153)] - internal byte hasDefaultValue; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getClassesCount@DeclarationContext@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetClassesCount(global::System.IntPtr instance); - [FieldOffset(156)] - internal uint index; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getTemplatesCount@DeclarationContext@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetTemplatesCount(global::System.IntPtr instance); - [FieldOffset(160)] - internal global::System.IntPtr defaultArgument; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getTypedefsCount@DeclarationContext@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetTypedefsCount(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0Parameter@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); + EntryPoint="?getTypeAliasesCount@DeclarationContext@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetTypeAliasesCount(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0Parameter@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="?getVariablesCount@DeclarationContext@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetVariablesCount(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1Parameter@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern void dtor(global::System.IntPtr instance, int delete); + EntryPoint="?getFriendsCount@DeclarationContext@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetFriendsCount(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.Parameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.DeclarationContext __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Parameter(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.DeclarationContext(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Parameter __CreateInstance(global::CppSharp.Parser.AST.Parameter.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.DeclarationContext __CreateInstance(global::CppSharp.Parser.AST.DeclarationContext.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Parameter(native, skipVTables); + return new global::CppSharp.Parser.AST.DeclarationContext(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Parameter.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.DeclarationContext.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); - global::CppSharp.Parser.AST.Parameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal)); + global::CppSharp.Parser.AST.DeclarationContext.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Parameter(global::CppSharp.Parser.AST.Parameter.__Internal native, bool skipVTables = false) + private DeclarationContext(global::CppSharp.Parser.AST.DeclarationContext.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Parameter(void* native, bool skipVTables = false) + protected DeclarationContext(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -6587,19 +5068,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Parameter() + public DeclarationContext(global::CppSharp.Parser.AST.DeclarationKind kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + __Internal.ctor((__Instance + __PointerAdjustment), kind); } - public Parameter(global::CppSharp.Parser.AST.Parameter _0) + public DeclarationContext(global::CppSharp.Parser.AST.DeclarationContext _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -6621,442 +5102,452 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.QualifiedType QualifiedType - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->qualifiedType)); - } - - set - { - ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } - } - - public bool IsIndirect + public global::CppSharp.Parser.AST.Namespace GetNamespaces(uint i) { - get - { - return ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->isIndirect != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->isIndirect = (byte) (value ? 1 : 0); - } + var __ret = __Internal.GetNamespaces((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Namespace __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Namespace.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Namespace) global::CppSharp.Parser.AST.Namespace.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Namespace.__CreateInstance(__ret); + return __result0; } - public bool HasDefaultValue + public void AddNamespaces(global::CppSharp.Parser.AST.Namespace s) { - get - { - return ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->hasDefaultValue != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->hasDefaultValue = (byte) (value ? 1 : 0); - } + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddNamespaces((__Instance + __PointerAdjustment), __arg0); } - public uint Index + public void ClearNamespaces() { - get - { - return ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->index; - } - - set - { - ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->index = value; - } + __Internal.ClearNamespaces((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.Expression DefaultArgument + public global::CppSharp.Parser.AST.Enumeration GetEnums(uint i) { - get - { - global::CppSharp.Parser.AST.Expression __result0; - if (((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgument == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgument)) - __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgument]; - else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgument); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->defaultArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + var __ret = __Internal.GetEnums((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Enumeration __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Enumeration.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Enumeration) global::CppSharp.Parser.AST.Enumeration.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Enumeration.__CreateInstance(__ret); + return __result0; } - } - public unsafe partial class Expression : global::CppSharp.Parser.AST.Statement, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 32)] - public new partial struct __Internal + public void AddEnums(global::CppSharp.Parser.AST.Enumeration s) { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.StatementClass _class; - - [FieldOffset(4)] - internal global::System.IntPtr decl; - - [FieldOffset(8)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0Expression@AST@CppParser@CppSharp@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@W4StatementClass@123@PAVDeclaration@123@@Z")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr instance, global::System.IntPtr str, global::CppSharp.Parser.AST.StatementClass Class, global::System.IntPtr decl); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0Expression@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddEnums((__Instance + __PointerAdjustment), __arg0); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1Expression@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern void dtor(global::System.IntPtr instance, int delete); + public void ClearEnums() + { + __Internal.ClearEnums((__Instance + __PointerAdjustment)); } - internal static new global::CppSharp.Parser.AST.Expression __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::CppSharp.Parser.AST.Function GetFunctions(uint i) { - return new global::CppSharp.Parser.AST.Expression(native.ToPointer(), skipVTables); + var __ret = __Internal.GetFunctions((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Function __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(__ret); + return __result0; } - internal static global::CppSharp.Parser.AST.Expression __CreateInstance(global::CppSharp.Parser.AST.Expression.__Internal native, bool skipVTables = false) + public void AddFunctions(global::CppSharp.Parser.AST.Function s) { - return new global::CppSharp.Parser.AST.Expression(native, skipVTables); + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddFunctions((__Instance + __PointerAdjustment), __arg0); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Expression.__Internal native) + public void ClearFunctions() { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expression.__Internal)); - global::CppSharp.Parser.AST.Expression.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); + __Internal.ClearFunctions((__Instance + __PointerAdjustment)); } - private Expression(global::CppSharp.Parser.AST.Expression.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) + public global::CppSharp.Parser.AST.Class GetClasses(uint i) { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + var __ret = __Internal.GetClasses((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Class __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(__ret); + return __result0; } - protected Expression(void* native, bool skipVTables = false) - : base((void*) null) + public void AddClasses(global::CppSharp.Parser.AST.Class s) { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddClasses((__Instance + __PointerAdjustment), __arg0); } - public Expression(string str, global::CppSharp.Parser.AST.StatementClass Class, global::CppSharp.Parser.AST.Declaration decl) - : this((void*) null) + public void ClearClasses() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expression.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, str); - var __arg0 = __basicString0.__Instance; - var __arg2 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; - __Internal.ctor((__Instance + __PointerAdjustment), __arg0, Class, __arg2); - __basicString0.Dispose(false); + __Internal.ClearClasses((__Instance + __PointerAdjustment)); } - public Expression(global::CppSharp.Parser.AST.Expression _0) - : this((void*) null) + public global::CppSharp.Parser.AST.Template GetTemplates(uint i) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expression.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + var __ret = __Internal.GetTemplates((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Template __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Template.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Template) global::CppSharp.Parser.AST.Template.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Template.__CreateInstance(__ret); + return __result0; } - public override void Dispose(bool disposing) + public void AddTemplates(global::CppSharp.Parser.AST.Template s) { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Statement __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddTemplates((__Instance + __PointerAdjustment), __arg0); } - } - public unsafe partial class Statement : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 32)] - public partial struct __Internal + public void ClearTemplates() { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.StatementClass _class; + __Internal.ClearTemplates((__Instance + __PointerAdjustment)); + } - [FieldOffset(4)] - internal global::System.IntPtr decl; + public global::CppSharp.Parser.AST.TypedefDecl GetTypedefs(uint i) + { + var __ret = __Internal.GetTypedefs((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.TypedefDecl __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TypedefDecl.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.TypedefDecl) global::CppSharp.Parser.AST.TypedefDecl.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.TypedefDecl.__CreateInstance(__ret); + return __result0; + } - [FieldOffset(8)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; + public void AddTypedefs(global::CppSharp.Parser.AST.TypedefDecl s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddTypedefs((__Instance + __PointerAdjustment), __arg0); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0Statement@AST@CppParser@CppSharp@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@W4StatementClass@123@PAVDeclaration@123@@Z")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr instance, global::System.IntPtr str, global::CppSharp.Parser.AST.StatementClass Class, global::System.IntPtr decl); + public void ClearTypedefs() + { + __Internal.ClearTypedefs((__Instance + __PointerAdjustment)); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0Statement@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + public global::CppSharp.Parser.AST.TypeAlias GetTypeAliases(uint i) + { + var __ret = __Internal.GetTypeAliases((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.TypeAlias __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TypeAlias.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.TypeAlias) global::CppSharp.Parser.AST.TypeAlias.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.TypeAlias.__CreateInstance(__ret); + return __result0; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1Statement@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern void dtor(global::System.IntPtr instance, int delete); + public void AddTypeAliases(global::CppSharp.Parser.AST.TypeAlias s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddTypeAliases((__Instance + __PointerAdjustment), __arg0); } - public global::System.IntPtr __Instance { get; protected set; } + public void ClearTypeAliases() + { + __Internal.ClearTypeAliases((__Instance + __PointerAdjustment)); + } - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; + public global::CppSharp.Parser.AST.Variable GetVariables(uint i) + { + var __ret = __Internal.GetVariables((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Variable __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Variable.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Variable) global::CppSharp.Parser.AST.Variable.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Variable.__CreateInstance(__ret); + return __result0; + } - protected bool __ownsNativeInstance; + public void AddVariables(global::CppSharp.Parser.AST.Variable s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddVariables((__Instance + __PointerAdjustment), __arg0); + } - internal static global::CppSharp.Parser.AST.Statement __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public void ClearVariables() { - return new global::CppSharp.Parser.AST.Statement(native.ToPointer(), skipVTables); + __Internal.ClearVariables((__Instance + __PointerAdjustment)); } - internal static global::CppSharp.Parser.AST.Statement __CreateInstance(global::CppSharp.Parser.AST.Statement.__Internal native, bool skipVTables = false) + public global::CppSharp.Parser.AST.Friend GetFriends(uint i) { - return new global::CppSharp.Parser.AST.Statement(native, skipVTables); + var __ret = __Internal.GetFriends((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Friend __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Friend.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Friend) global::CppSharp.Parser.AST.Friend.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Friend.__CreateInstance(__ret); + return __result0; } - private static void* __CopyValue(global::CppSharp.Parser.AST.Statement.__Internal native) + public void AddFriends(global::CppSharp.Parser.AST.Friend s) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Statement.__Internal)); - global::CppSharp.Parser.AST.Statement.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddFriends((__Instance + __PointerAdjustment), __arg0); } - private Statement(global::CppSharp.Parser.AST.Statement.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) + public void ClearFriends() { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + __Internal.ClearFriends((__Instance + __PointerAdjustment)); } - protected Statement(void* native, bool skipVTables = false) + public static implicit operator global::CppSharp.Parser.AST.DeclarationContext(global::CppSharp.Parser.AST.DeclarationKind kind) { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); + return new global::CppSharp.Parser.AST.DeclarationContext(kind); } - public Statement(string str, global::CppSharp.Parser.AST.StatementClass Class, global::CppSharp.Parser.AST.Declaration decl) + public bool IsAnonymous { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Statement.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, str); - var __arg0 = __basicString0.__Instance; - var __arg2 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; - __Internal.ctor((__Instance + __PointerAdjustment), __arg0, Class, __arg2); - __basicString0.Dispose(false); + get + { + return ((global::CppSharp.Parser.AST.DeclarationContext.__Internal*) __Instance)->isAnonymous != 0; + } + + set + { + ((global::CppSharp.Parser.AST.DeclarationContext.__Internal*)__Instance)->isAnonymous = (byte) (value ? 1 : 0); + } } - public Statement(global::CppSharp.Parser.AST.Statement _0) + public uint NamespacesCount { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Statement.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + get + { + var __ret = __Internal.GetNamespacesCount((__Instance + __PointerAdjustment)); + return __ret; + } } - public void Dispose() + public uint EnumsCount { - Dispose(disposing: true); + get + { + var __ret = __Internal.GetEnumsCount((__Instance + __PointerAdjustment)); + return __ret; + } } - public virtual void Dispose(bool disposing) + public uint FunctionsCount { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Statement __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; + get + { + var __ret = __Internal.GetFunctionsCount((__Instance + __PointerAdjustment)); + return __ret; + } } - public global::CppSharp.Parser.AST.StatementClass Class + public uint ClassesCount { get { - return ((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->_class; + var __ret = __Internal.GetClassesCount((__Instance + __PointerAdjustment)); + return __ret; } + } - set + public uint TemplatesCount + { + get { - ((global::CppSharp.Parser.AST.Statement.__Internal*)__Instance)->_class = value; + var __ret = __Internal.GetTemplatesCount((__Instance + __PointerAdjustment)); + return __ret; } } - public global::CppSharp.Parser.AST.Declaration Decl + public uint TypedefsCount { get { - global::CppSharp.Parser.AST.Declaration __result0; - if (((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->decl == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->decl)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->decl]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->decl); - return __result0; + var __ret = __Internal.GetTypedefsCount((__Instance + __PointerAdjustment)); + return __ret; } + } - set + public uint TypeAliasesCount + { + get { - ((global::CppSharp.Parser.AST.Statement.__Internal*)__Instance)->decl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + var __ret = __Internal.GetTypeAliasesCount((__Instance + __PointerAdjustment)); + return __ret; } } - public string String + public uint VariablesCount { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->@string)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + var __ret = __Internal.GetVariablesCount((__Instance + __PointerAdjustment)); + return __ret; } + } - set + public uint FriendsCount + { + get { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Statement.__Internal*)__Instance)->@string), value); + var __ret = __Internal.GetFriendsCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class FunctionTemplateSpecialization : IDisposable + public unsafe partial class TypedefNameDecl : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 24)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 152)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::System.IntPtr _template; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; + internal int maxFieldAlignment; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(12)] + internal global::System.IntPtr _namespace; [FieldOffset(16)] - internal global::System.IntPtr specializedFunction; + internal global::CppSharp.Parser.SourceLocation.__Internal location; [FieldOffset(20)] - internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; + internal int lineNumberStart; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0FunctionTemplateSpecialization@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); + [FieldOffset(24)] + internal int lineNumberEnd; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0FunctionTemplateSpecialization@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + [FieldOffset(28)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1FunctionTemplateSpecialization@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern void dtor(global::System.IntPtr instance, int delete); + [FieldOffset(52)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getArguments@FunctionTemplateSpecialization@AST@CppParser@CppSharp@@QAE?AUTemplateArgument@234@I@Z")] - internal static extern void GetArguments(global::System.IntPtr instance, global::System.IntPtr @return, uint i); + [FieldOffset(76)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(100)] + internal byte isIncomplete; + + [FieldOffset(101)] + internal byte isDependent; + + [FieldOffset(102)] + internal byte isImplicit; + + [FieldOffset(103)] + internal byte isInvalid; + + [FieldOffset(104)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(108)] + internal uint definitionOrder; + + [FieldOffset(112)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(124)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(136)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(140)] + internal global::System.IntPtr comment; + + [FieldOffset(144)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?addArguments@FunctionTemplateSpecialization@AST@CppParser@CppSharp@@QAEXAAUTemplateArgument@234@@Z")] - internal static extern void AddArguments(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="??0TypedefNameDecl@AST@CppParser@CppSharp@@QAE@W4DeclarationKind@123@@Z")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearArguments@FunctionTemplateSpecialization@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearArguments(global::System.IntPtr instance); + EntryPoint="??0TypedefNameDecl@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getArgumentsCount@FunctionTemplateSpecialization@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetArgumentsCount(global::System.IntPtr instance); + EntryPoint="??1TypedefNameDecl@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern void dtor(global::System.IntPtr instance, int delete); } - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.FunctionTemplateSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TypedefNameDecl __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.FunctionTemplateSpecialization(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TypedefNameDecl(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.FunctionTemplateSpecialization __CreateInstance(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TypedefNameDecl __CreateInstance(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.FunctionTemplateSpecialization(native, skipVTables); + return new global::CppSharp.Parser.AST.TypedefNameDecl(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); - global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); + global::CppSharp.Parser.AST.TypedefNameDecl.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private FunctionTemplateSpecialization(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal native, bool skipVTables = false) + private TypedefNameDecl(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected FunctionTemplateSpecialization(void* native, bool skipVTables = false) + protected TypedefNameDecl(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public FunctionTemplateSpecialization() + public TypedefNameDecl(global::CppSharp.Parser.AST.DeclarationKind kind) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + __Internal.ctor((__Instance + __PointerAdjustment), kind); } - public FunctionTemplateSpecialization(global::CppSharp.Parser.AST.FunctionTemplateSpecialization _0) + public TypedefNameDecl(global::CppSharp.Parser.AST.TypedefNameDecl _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -7065,106 +5556,41 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.FunctionTemplateSpecialization __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - - public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) - { - var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); - __Internal.GetArguments((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); - return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); - } - - public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearArguments() - { - __Internal.ClearArguments((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.FunctionTemplate Template - { - get - { - global::CppSharp.Parser.AST.FunctionTemplate __result0; - if (((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.FunctionTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template)) - __result0 = (global::CppSharp.Parser.AST.FunctionTemplate) global::CppSharp.Parser.AST.FunctionTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template]; - else __result0 = global::CppSharp.Parser.AST.FunctionTemplate.__CreateInstance(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*)__Instance)->_template = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.Function SpecializedFunction + public static implicit operator global::CppSharp.Parser.AST.TypedefNameDecl(global::CppSharp.Parser.AST.DeclarationKind kind) { - get - { - global::CppSharp.Parser.AST.Function __result0; - if (((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction)) - __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction]; - else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*)__Instance)->specializedFunction = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + return new global::CppSharp.Parser.AST.TypedefNameDecl(kind); } - public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { get { - return ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializationKind; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TypedefNameDecl.__Internal*) __Instance)->qualifiedType)); } set { - ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*)__Instance)->specializationKind = value; - } - } - - public uint ArgumentsCount - { - get - { - var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.TypedefNameDecl.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } } - public unsafe partial class FunctionTemplate : global::CppSharp.Parser.AST.Template, IDisposable + public unsafe partial class TypedefDecl : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 172)] + [StructLayout(LayoutKind.Explicit, Size = 152)] public new partial struct __Internal { [FieldOffset(0)] @@ -7228,80 +5654,49 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(144)] - internal global::System.IntPtr TemplatedDecl; - - [FieldOffset(148)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; - - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_FunctionTemplateSpecialization___N_std_S_allocator__S0_ Specializations; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0FunctionTemplate@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0TypedefDecl@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0FunctionTemplate@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0TypedefDecl@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1FunctionTemplate@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??1TypedefDecl@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern void dtor(global::System.IntPtr instance, int delete); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getSpecializations@FunctionTemplate@AST@CppParser@CppSharp@@QAEPAVFunctionTemplateSpecialization@234@I@Z")] - internal static extern global::System.IntPtr GetSpecializations(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?addSpecializations@FunctionTemplate@AST@CppParser@CppSharp@@QAEXAAPAVFunctionTemplateSpecialization@234@@Z")] - internal static extern void AddSpecializations(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearSpecializations@FunctionTemplate@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearSpecializations(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?FindSpecialization@FunctionTemplate@AST@CppParser@CppSharp@@QAEPAVFunctionTemplateSpecialization@234@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z")] - internal static extern global::System.IntPtr FindSpecialization(global::System.IntPtr instance, global::System.IntPtr usr); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getSpecializationsCount@FunctionTemplate@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetSpecializationsCount(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.FunctionTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TypedefDecl __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.FunctionTemplate(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TypedefDecl(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.FunctionTemplate __CreateInstance(global::CppSharp.Parser.AST.FunctionTemplate.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TypedefDecl __CreateInstance(global::CppSharp.Parser.AST.TypedefDecl.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.FunctionTemplate(native, skipVTables); + return new global::CppSharp.Parser.AST.TypedefDecl(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionTemplate.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefDecl.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); - global::CppSharp.Parser.AST.FunctionTemplate.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); + global::CppSharp.Parser.AST.TypedefDecl.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private FunctionTemplate(global::CppSharp.Parser.AST.FunctionTemplate.__Internal native, bool skipVTables = false) + private TypedefDecl(global::CppSharp.Parser.AST.TypedefDecl.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected FunctionTemplate(void* native, bool skipVTables = false) + protected TypedefDecl(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -7310,19 +5705,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public FunctionTemplate() + public TypedefDecl() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public FunctionTemplate(global::CppSharp.Parser.AST.FunctionTemplate _0) + public TypedefDecl(global::CppSharp.Parser.AST.TypedefDecl _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -7343,228 +5738,184 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - - public global::CppSharp.Parser.AST.FunctionTemplateSpecialization GetSpecializations(uint i) - { - var __ret = __Internal.GetSpecializations((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.FunctionTemplateSpecialization __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.FunctionTemplateSpecialization) global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__CreateInstance(__ret); - return __result0; - } - - public void AddSpecializations(global::CppSharp.Parser.AST.FunctionTemplateSpecialization s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddSpecializations((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearSpecializations() - { - __Internal.ClearSpecializations((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.FunctionTemplateSpecialization FindSpecialization(string usr) - { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, usr); - var __arg0 = __basicString0.__Instance; - var __ret = __Internal.FindSpecialization((__Instance + __PointerAdjustment), __arg0); - __basicString0.Dispose(false); - global::CppSharp.Parser.AST.FunctionTemplateSpecialization __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.FunctionTemplateSpecialization) global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__CreateInstance(__ret); - return __result0; - } - - public uint SpecializationsCount - { - get - { - var __ret = __Internal.GetSpecializationsCount((__Instance + __PointerAdjustment)); - return __ret; - } - } } - public unsafe partial class TemplateArgument : IDisposable + public unsafe partial class TypeAlias : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 20)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 156)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TemplateArgument.ArgumentKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal int maxFieldAlignment; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(12)] - internal global::System.IntPtr declaration; + internal global::System.IntPtr _namespace; [FieldOffset(16)] - internal int integral; + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(20)] + internal int lineNumberStart; + + [FieldOffset(24)] + internal int lineNumberEnd; + + [FieldOffset(28)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(52)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(76)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(100)] + internal byte isIncomplete; + + [FieldOffset(101)] + internal byte isDependent; + + [FieldOffset(102)] + internal byte isImplicit; + + [FieldOffset(103)] + internal byte isInvalid; + + [FieldOffset(104)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(108)] + internal uint definitionOrder; + + [FieldOffset(112)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(124)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(136)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(140)] + internal global::System.IntPtr comment; + + [FieldOffset(144)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(152)] + internal global::System.IntPtr describedAliasTemplate; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0TemplateArgument@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0TypeAlias@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0TemplateArgument@AST@CppParser@CppSharp@@QAE@ABU0123@@Z")] + EntryPoint="??0TypeAlias@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); - } - public enum ArgumentKind - { - Type = 0, - Declaration = 1, - NullPtr = 2, - Integral = 3, - Template = 4, - TemplateExpansion = 5, - Expression = 6, - Pack = 7 + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??1TypeAlias@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern void dtor(global::System.IntPtr instance, int delete); } - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.TemplateArgument __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TypeAlias __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateArgument(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TypeAlias(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TemplateArgument __CreateInstance(global::CppSharp.Parser.AST.TemplateArgument.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TypeAlias __CreateInstance(global::CppSharp.Parser.AST.TypeAlias.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateArgument(native, skipVTables); + return new global::CppSharp.Parser.AST.TypeAlias(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateArgument.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TypeAlias.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); - *(global::CppSharp.Parser.AST.TemplateArgument.__Internal*) ret = native; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); + global::CppSharp.Parser.AST.TypeAlias.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateArgument(global::CppSharp.Parser.AST.TemplateArgument.__Internal native, bool skipVTables = false) + private TypeAlias(global::CppSharp.Parser.AST.TypeAlias.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TemplateArgument(void* native, bool skipVTables = false) + protected TypeAlias(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public TemplateArgument() + public TypeAlias() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TemplateArgument(global::CppSharp.Parser.AST.TemplateArgument _0) + public TypeAlias(global::CppSharp.Parser.AST.TypeAlias _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) _0.__Instance); - } - - public void Dispose() - { - Dispose(disposing: true); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.TemplateArgument __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.TemplateArgument.ArgumentKind Kind - { - get - { - return ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->kind; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->kind = value; - } - } - - public global::CppSharp.Parser.AST.QualifiedType Type - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->type)); - } - - set - { - ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } - } - - public global::CppSharp.Parser.AST.Declaration Declaration + public global::CppSharp.Parser.AST.TypeAliasTemplate DescribedAliasTemplate { get { - global::CppSharp.Parser.AST.Declaration __result0; - if (((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration); + global::CppSharp.Parser.AST.TypeAliasTemplate __result0; + if (((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TypeAliasTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate)) + __result0 = (global::CppSharp.Parser.AST.TypeAliasTemplate) global::CppSharp.Parser.AST.TypeAliasTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate]; + else __result0 = global::CppSharp.Parser.AST.TypeAliasTemplate.__CreateInstance(((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate); return __result0; } set { - ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } - - public int Integral - { - get - { - return ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->integral; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->integral = value; + ((global::CppSharp.Parser.AST.TypeAlias.__Internal*)__Instance)->describedAliasTemplate = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } - public unsafe partial class AccessSpecifierDecl : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class Friend : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 144)] + [StructLayout(LayoutKind.Explicit, Size = 148)] public new partial struct __Internal { [FieldOffset(0)] @@ -7627,47 +5978,50 @@ namespace CppSharp [FieldOffset(140)] internal global::System.IntPtr comment; + [FieldOffset(144)] + internal global::System.IntPtr declaration; + [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0AccessSpecifierDecl@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0Friend@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0AccessSpecifierDecl@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0Friend@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1AccessSpecifierDecl@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??1Friend@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern void dtor(global::System.IntPtr instance, int delete); } - internal static new global::CppSharp.Parser.AST.AccessSpecifierDecl __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Friend __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.AccessSpecifierDecl(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Friend(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.AccessSpecifierDecl __CreateInstance(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Friend __CreateInstance(global::CppSharp.Parser.AST.Friend.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.AccessSpecifierDecl(native, skipVTables); + return new global::CppSharp.Parser.AST.Friend(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Friend.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); - global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); + global::CppSharp.Parser.AST.Friend.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private AccessSpecifierDecl(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native, bool skipVTables = false) + private Friend(global::CppSharp.Parser.AST.Friend.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected AccessSpecifierDecl(void* native, bool skipVTables = false) + protected Friend(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -7676,19 +6030,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public AccessSpecifierDecl() + public Friend() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public AccessSpecifierDecl(global::CppSharp.Parser.AST.AccessSpecifierDecl _0) + public Friend(global::CppSharp.Parser.AST.Friend _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -7709,169 +6063,111 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } + + public global::CppSharp.Parser.AST.Declaration Declaration + { + get + { + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.Friend.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } } - public unsafe partial class ClassLayout : IDisposable + public unsafe partial class Statement : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 72)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CppAbi ABI; + internal global::CppSharp.Parser.AST.StatementClass _class; [FieldOffset(4)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_VFTableInfo___N_std_S_allocator__S0_ VFTables; - - [FieldOffset(16)] - internal global::CppSharp.Parser.AST.VTableLayout.__Internal layout; - - [FieldOffset(28)] - internal byte hasOwnVFPtr; - - [FieldOffset(32)] - internal int VBPtrOffset; - - [FieldOffset(36)] - internal int alignment; - - [FieldOffset(40)] - internal int size; - - [FieldOffset(44)] - internal int dataSize; - - [FieldOffset(48)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_LayoutField___N_std_S_allocator__S0_ Fields; + internal global::System.IntPtr decl; - [FieldOffset(60)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_LayoutBase___N_std_S_allocator__S0_ Bases; + [FieldOffset(8)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0ClassLayout@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); + EntryPoint="??0Statement@AST@CppParser@CppSharp@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@W4StatementClass@123@PAVDeclaration@123@@Z")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr instance, global::System.IntPtr str, global::CppSharp.Parser.AST.StatementClass Class, global::System.IntPtr decl); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0ClassLayout@AST@CppParser@CppSharp@@QAE@ABU0123@@Z")] + EntryPoint="??0Statement@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1ClassLayout@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??1Statement@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern void dtor(global::System.IntPtr instance, int delete); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getVFTables@ClassLayout@AST@CppParser@CppSharp@@QAE?AUVFTableInfo@234@I@Z")] - internal static extern void GetVFTables(global::System.IntPtr instance, global::System.IntPtr @return, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?addVFTables@ClassLayout@AST@CppParser@CppSharp@@QAEXAAUVFTableInfo@234@@Z")] - internal static extern void AddVFTables(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearVFTables@ClassLayout@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearVFTables(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getFields@ClassLayout@AST@CppParser@CppSharp@@QAE?AVLayoutField@234@I@Z")] - internal static extern void GetFields(global::System.IntPtr instance, global::System.IntPtr @return, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?addFields@ClassLayout@AST@CppParser@CppSharp@@QAEXAAVLayoutField@234@@Z")] - internal static extern void AddFields(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearFields@ClassLayout@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearFields(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getBases@ClassLayout@AST@CppParser@CppSharp@@QAE?AVLayoutBase@234@I@Z")] - internal static extern void GetBases(global::System.IntPtr instance, global::System.IntPtr @return, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?addBases@ClassLayout@AST@CppParser@CppSharp@@QAEXAAVLayoutBase@234@@Z")] - internal static extern void AddBases(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearBases@ClassLayout@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearBases(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getVFTablesCount@ClassLayout@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetVFTablesCount(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getFieldsCount@ClassLayout@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetFieldsCount(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getBasesCount@ClassLayout@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetBasesCount(global::System.IntPtr instance); } public global::System.IntPtr __Instance { get; protected set; } protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); protected void*[] __OriginalVTables; protected bool __ownsNativeInstance; - internal static global::CppSharp.Parser.AST.ClassLayout __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Statement __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ClassLayout(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Statement(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.ClassLayout __CreateInstance(global::CppSharp.Parser.AST.ClassLayout.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Statement __CreateInstance(global::CppSharp.Parser.AST.Statement.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ClassLayout(native, skipVTables); + return new global::CppSharp.Parser.AST.Statement(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.ClassLayout.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Statement.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); - global::CppSharp.Parser.AST.ClassLayout.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Statement.__Internal)); + global::CppSharp.Parser.AST.Statement.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private ClassLayout(global::CppSharp.Parser.AST.ClassLayout.__Internal native, bool skipVTables = false) + private Statement(global::CppSharp.Parser.AST.Statement.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected ClassLayout(void* native, bool skipVTables = false) + protected Statement(void* native, bool skipVTables = false) { if (native == null) return; __Instance = new global::System.IntPtr(native); } - public ClassLayout() + public Statement(string str, global::CppSharp.Parser.AST.StatementClass Class, global::CppSharp.Parser.AST.Declaration decl) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Statement.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, str); + var __arg0 = __basicString0.__Instance; + var __arg2 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; + __Internal.ctor((__Instance + __PointerAdjustment), __arg0, Class, __arg2); + __basicString0.Dispose(false); } - public ClassLayout(global::CppSharp.Parser.AST.ClassLayout _0) + public Statement(global::CppSharp.Parser.AST.Statement _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Statement.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -7889,7 +6185,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.ClassLayout __dummy; + global::CppSharp.Parser.AST.Statement __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -7898,268 +6194,135 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.VFTableInfo GetVFTables(uint i) - { - var __ret = new global::CppSharp.Parser.AST.VFTableInfo.__Internal(); - __Internal.GetVFTables((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); - return global::CppSharp.Parser.AST.VFTableInfo.__CreateInstance(__ret); - } - - public void AddVFTables(global::CppSharp.Parser.AST.VFTableInfo s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddVFTables((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearVFTables() - { - __Internal.ClearVFTables((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.LayoutField GetFields(uint i) - { - var __ret = new global::CppSharp.Parser.AST.LayoutField.__Internal(); - __Internal.GetFields((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); - return global::CppSharp.Parser.AST.LayoutField.__CreateInstance(__ret); - } - - public void AddFields(global::CppSharp.Parser.AST.LayoutField s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddFields((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearFields() - { - __Internal.ClearFields((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.LayoutBase GetBases(uint i) - { - var __ret = new global::CppSharp.Parser.AST.LayoutBase.__Internal(); - __Internal.GetBases((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); - return global::CppSharp.Parser.AST.LayoutBase.__CreateInstance(__ret); - } - - public void AddBases(global::CppSharp.Parser.AST.LayoutBase s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddBases((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearBases() - { - __Internal.ClearBases((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.CppAbi ABI - { - get - { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->ABI; - } - - set - { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->ABI = value; - } - } - - public global::CppSharp.Parser.AST.VTableLayout Layout - { - get - { - return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->layout)); - } - - set - { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->layout = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.VTableLayout.__Internal() : *(global::CppSharp.Parser.AST.VTableLayout.__Internal*) value.__Instance; - } - } - - public bool HasOwnVFPtr - { - get - { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->hasOwnVFPtr != 0; - } - - set - { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->hasOwnVFPtr = (byte) (value ? 1 : 0); - } - } - - public int VBPtrOffset - { - get - { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->VBPtrOffset; - } - - set - { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->VBPtrOffset = value; - } - } - - public int Alignment + public global::CppSharp.Parser.AST.StatementClass Class { get { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->alignment; + return ((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->_class; } set { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->alignment = value; + ((global::CppSharp.Parser.AST.Statement.__Internal*)__Instance)->_class = value; } } - public int Size + public global::CppSharp.Parser.AST.Declaration Decl { get { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->size; + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->decl == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->decl)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->decl]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->decl); + return __result0; } set { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->size = value; + ((global::CppSharp.Parser.AST.Statement.__Internal*)__Instance)->decl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public int DataSize + public string String { get { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->dataSize; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->@string)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->dataSize = value; - } - } - - public uint VFTablesCount - { - get - { - var __ret = __Internal.GetVFTablesCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - - public uint FieldsCount - { - get - { - var __ret = __Internal.GetFieldsCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - - public uint BasesCount - { - get - { - var __ret = __Internal.GetBasesCount((__Instance + __PointerAdjustment)); - return __ret; + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Statement.__Internal*)__Instance)->@string), value); } } } - public unsafe partial class VFTableInfo : IDisposable + public unsafe partial class Expression : global::CppSharp.Parser.AST.Statement, IDisposable { [StructLayout(LayoutKind.Explicit, Size = 32)] - public partial struct __Internal + public new partial struct __Internal { [FieldOffset(0)] - internal ulong VBTableIndex; - - [FieldOffset(8)] - internal uint VFPtrOffset; + internal global::CppSharp.Parser.AST.StatementClass _class; - [FieldOffset(12)] - internal uint VFPtrFullOffset; + [FieldOffset(4)] + internal global::System.IntPtr decl; - [FieldOffset(16)] - internal global::CppSharp.Parser.AST.VTableLayout.__Internal layout; + [FieldOffset(8)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0VFTableInfo@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); + EntryPoint="??0Expression@AST@CppParser@CppSharp@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@W4StatementClass@123@PAVDeclaration@123@@Z")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr instance, global::System.IntPtr str, global::CppSharp.Parser.AST.StatementClass Class, global::System.IntPtr decl); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0VFTableInfo@AST@CppParser@CppSharp@@QAE@ABU0123@@Z")] + EntryPoint="??0Expression@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1VFTableInfo@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??1Expression@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern void dtor(global::System.IntPtr instance, int delete); } - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.VFTableInfo __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Expression __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VFTableInfo(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Expression(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.VFTableInfo __CreateInstance(global::CppSharp.Parser.AST.VFTableInfo.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Expression __CreateInstance(global::CppSharp.Parser.AST.Expression.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VFTableInfo(native, skipVTables); + return new global::CppSharp.Parser.AST.Expression(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.VFTableInfo.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Expression.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); - global::CppSharp.Parser.AST.VFTableInfo.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expression.__Internal)); + global::CppSharp.Parser.AST.Expression.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private VFTableInfo(global::CppSharp.Parser.AST.VFTableInfo.__Internal native, bool skipVTables = false) + private Expression(global::CppSharp.Parser.AST.Expression.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected VFTableInfo(void* native, bool skipVTables = false) + protected Expression(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public VFTableInfo() + public Expression(string str, global::CppSharp.Parser.AST.StatementClass Class, global::CppSharp.Parser.AST.Declaration decl) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expression.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, str); + var __arg0 = __basicString0.__Instance; + var __arg2 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; + __Internal.ctor((__Instance + __PointerAdjustment), __arg0, Class, __arg2); + __basicString0.Dispose(false); } - public VFTableInfo(global::CppSharp.Parser.AST.VFTableInfo _0) + public Expression(global::CppSharp.Parser.AST.Expression _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expression.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -8168,16 +6331,11 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.VFTableInfo __dummy; + global::CppSharp.Parser.AST.Statement __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -8185,154 +6343,103 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - - public ulong VBTableIndex - { - get - { - return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VBTableIndex; - } - - set - { - ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->VBTableIndex = value; - } - } - - public uint VFPtrOffset - { - get - { - return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VFPtrOffset; - } - - set - { - ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->VFPtrOffset = value; - } - } - - public uint VFPtrFullOffset - { - get - { - return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VFPtrFullOffset; - } - - set - { - ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->VFPtrFullOffset = value; - } - } - - public global::CppSharp.Parser.AST.VTableLayout Layout - { - get - { - return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->layout)); - } - - set - { - ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->layout = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.VTableLayout.__Internal() : *(global::CppSharp.Parser.AST.VTableLayout.__Internal*) value.__Instance; - } - } } - public unsafe partial class VTableLayout : IDisposable + public unsafe partial class BinaryOperator : global::CppSharp.Parser.AST.Expression, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 12)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_VTableComponent___N_std_S_allocator__S0_ Components; + internal global::CppSharp.Parser.AST.StatementClass _class; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0VTableLayout@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); + [FieldOffset(4)] + internal global::System.IntPtr decl; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0VTableLayout@AST@CppParser@CppSharp@@QAE@ABU0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + [FieldOffset(8)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1VTableLayout@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern void dtor(global::System.IntPtr instance, int delete); + [FieldOffset(32)] + internal global::System.IntPtr LHS; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getComponents@VTableLayout@AST@CppParser@CppSharp@@QAE?AUVTableComponent@234@I@Z")] - internal static extern void GetComponents(global::System.IntPtr instance, global::System.IntPtr @return, uint i); + [FieldOffset(36)] + internal global::System.IntPtr RHS; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C opcodeStr; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?addComponents@VTableLayout@AST@CppParser@CppSharp@@QAEXAAUVTableComponent@234@@Z")] - internal static extern void AddComponents(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="??0BinaryOperator@AST@CppParser@CppSharp@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVExpression@123@10@Z")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr instance, global::System.IntPtr str, global::System.IntPtr lhs, global::System.IntPtr rhs, global::System.IntPtr opcodeStr); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearComponents@VTableLayout@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearComponents(global::System.IntPtr instance); + EntryPoint="??0BinaryOperator@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getComponentsCount@VTableLayout@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetComponentsCount(global::System.IntPtr instance); + EntryPoint="??1BinaryOperator@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern void dtor(global::System.IntPtr instance, int delete); } - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.VTableLayout __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.BinaryOperator __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VTableLayout(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.BinaryOperator(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.VTableLayout __CreateInstance(global::CppSharp.Parser.AST.VTableLayout.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.BinaryOperator __CreateInstance(global::CppSharp.Parser.AST.BinaryOperator.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VTableLayout(native, skipVTables); + return new global::CppSharp.Parser.AST.BinaryOperator(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.VTableLayout.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.BinaryOperator.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); - global::CppSharp.Parser.AST.VTableLayout.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); + global::CppSharp.Parser.AST.BinaryOperator.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private VTableLayout(global::CppSharp.Parser.AST.VTableLayout.__Internal native, bool skipVTables = false) + private BinaryOperator(global::CppSharp.Parser.AST.BinaryOperator.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected VTableLayout(void* native, bool skipVTables = false) + protected BinaryOperator(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public VTableLayout() + public BinaryOperator(string str, global::CppSharp.Parser.AST.Expression lhs, global::CppSharp.Parser.AST.Expression rhs, string opcodeStr) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, str); + var __arg0 = __basicString0.__Instance; + var __arg1 = ReferenceEquals(lhs, null) ? global::System.IntPtr.Zero : lhs.__Instance; + var __arg2 = ReferenceEquals(rhs, null) ? global::System.IntPtr.Zero : rhs.__Instance; + var __basicString3 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString3, opcodeStr); + var __arg3 = __basicString3.__Instance; + __Internal.ctor((__Instance + __PointerAdjustment), __arg0, __arg1, __arg2, __arg3); + __basicString0.Dispose(false); + __basicString3.Dispose(false); } - public VTableLayout(global::CppSharp.Parser.AST.VTableLayout _0) + public BinaryOperator(global::CppSharp.Parser.AST.BinaryOperator _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -8341,16 +6448,11 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.VTableLayout __dummy; + global::CppSharp.Parser.AST.Statement __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -8359,437 +6461,532 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.VTableComponent GetComponents(uint i) + public global::CppSharp.Parser.AST.Expression LHS { - var __ret = new global::CppSharp.Parser.AST.VTableComponent.__Internal(); - __Internal.GetComponents((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); - return global::CppSharp.Parser.AST.VTableComponent.__CreateInstance(__ret); - } + get + { + global::CppSharp.Parser.AST.Expression __result0; + if (((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->LHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->LHS)) + __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->LHS]; + else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->LHS); + return __result0; + } - public void AddComponents(global::CppSharp.Parser.AST.VTableComponent s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddComponents((__Instance + __PointerAdjustment), __arg0); + set + { + ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->LHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } } - public void ClearComponents() + public global::CppSharp.Parser.AST.Expression RHS { - __Internal.ClearComponents((__Instance + __PointerAdjustment)); + get + { + global::CppSharp.Parser.AST.Expression __result0; + if (((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->RHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->RHS)) + __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->RHS]; + else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->RHS); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->RHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } } - public uint ComponentsCount + public string OpcodeStr { get { - var __ret = __Internal.GetComponentsCount((__Instance + __PointerAdjustment)); - return __ret; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->opcodeStr)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->opcodeStr), value); } } } - public unsafe partial class VTableComponent : IDisposable + public unsafe partial class CallExpr : global::CppSharp.Parser.AST.Expression, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 12)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 44)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.VTableComponentKind kind; + internal global::CppSharp.Parser.AST.StatementClass _class; [FieldOffset(4)] - internal uint offset; + internal global::System.IntPtr decl; [FieldOffset(8)] - internal global::System.IntPtr declaration; + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; + + [FieldOffset(32)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expression___N_std_S_allocator__S0_ Arguments; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CallExpr@AST@CppParser@CppSharp@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVDeclaration@123@@Z")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr instance, global::System.IntPtr str, global::System.IntPtr decl); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CallExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0VTableComponent@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); + EntryPoint="??1CallExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern void dtor(global::System.IntPtr instance, int delete); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0VTableComponent@AST@CppParser@CppSharp@@QAE@ABU0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); - } + EntryPoint="?getArguments@CallExpr@AST@CppParser@CppSharp@@QAEPAVExpression@234@I@Z")] + internal static extern global::System.IntPtr GetArguments(global::System.IntPtr instance, uint i); - public global::System.IntPtr __Instance { get; protected set; } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?addArguments@CallExpr@AST@CppParser@CppSharp@@QAEXAAPAVExpression@234@@Z")] + internal static extern void AddArguments(global::System.IntPtr instance, global::System.IntPtr s); - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?clearArguments@CallExpr@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearArguments(global::System.IntPtr instance); - protected bool __ownsNativeInstance; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getArgumentsCount@CallExpr@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetArgumentsCount(global::System.IntPtr instance); + } - internal static global::CppSharp.Parser.AST.VTableComponent __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.CallExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VTableComponent(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.CallExpr(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.VTableComponent __CreateInstance(global::CppSharp.Parser.AST.VTableComponent.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.CallExpr __CreateInstance(global::CppSharp.Parser.AST.CallExpr.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VTableComponent(native, skipVTables); + return new global::CppSharp.Parser.AST.CallExpr(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.VTableComponent.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.CallExpr.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); - *(global::CppSharp.Parser.AST.VTableComponent.__Internal*) ret = native; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); + global::CppSharp.Parser.AST.CallExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private VTableComponent(global::CppSharp.Parser.AST.VTableComponent.__Internal native, bool skipVTables = false) + private CallExpr(global::CppSharp.Parser.AST.CallExpr.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected VTableComponent(void* native, bool skipVTables = false) + protected CallExpr(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public VTableComponent() + public CallExpr(string str, global::CppSharp.Parser.AST.Declaration decl) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, str); + var __arg0 = __basicString0.__Instance; + var __arg1 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; + __Internal.ctor((__Instance + __PointerAdjustment), __arg0, __arg1); + __basicString0.Dispose(false); } - public VTableComponent(global::CppSharp.Parser.AST.VTableComponent _0) + public CallExpr(global::CppSharp.Parser.AST.CallExpr _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.VTableComponent.__Internal*) _0.__Instance); - } - - public void Dispose() - { - Dispose(disposing: true); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.VTableComponent __dummy; + global::CppSharp.Parser.AST.Statement __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.VTableComponentKind Kind + public global::CppSharp.Parser.AST.Expression GetArguments(uint i) { - get - { - return ((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->kind; - } - - set - { - ((global::CppSharp.Parser.AST.VTableComponent.__Internal*)__Instance)->kind = value; - } + var __ret = __Internal.GetArguments((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Expression __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(__ret); + return __result0; } - public uint Offset + public void AddArguments(global::CppSharp.Parser.AST.Expression s) { - get - { - return ((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->offset; - } + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); + } - set - { - ((global::CppSharp.Parser.AST.VTableComponent.__Internal*)__Instance)->offset = value; - } + public void ClearArguments() + { + __Internal.ClearArguments((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.Declaration Declaration + public uint ArgumentsCount { get { - global::CppSharp.Parser.AST.Declaration __result0; - if (((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.VTableComponent.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class LayoutField : IDisposable + public unsafe partial class CXXConstructExpr : global::CppSharp.Parser.AST.Expression, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 40)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 44)] + public new partial struct __Internal { [FieldOffset(0)] - internal uint offset; + internal global::CppSharp.Parser.AST.StatementClass _class; [FieldOffset(4)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + internal global::System.IntPtr decl; - [FieldOffset(28)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + [FieldOffset(8)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; - [FieldOffset(36)] - internal global::System.IntPtr fieldPtr; + [FieldOffset(32)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expression___N_std_S_allocator__S0_ Arguments; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0LayoutField@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); + EntryPoint="??0CXXConstructExpr@AST@CppParser@CppSharp@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVDeclaration@123@@Z")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr instance, global::System.IntPtr str, global::System.IntPtr decl); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0LayoutField@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr other); + EntryPoint="??0CXXConstructExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1LayoutField@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??1CXXConstructExpr@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern void dtor(global::System.IntPtr instance, int delete); - } - public global::System.IntPtr __Instance { get; protected set; } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getArguments@CXXConstructExpr@AST@CppParser@CppSharp@@QAEPAVExpression@234@I@Z")] + internal static extern global::System.IntPtr GetArguments(global::System.IntPtr instance, uint i); - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?addArguments@CXXConstructExpr@AST@CppParser@CppSharp@@QAEXAAPAVExpression@234@@Z")] + internal static extern void AddArguments(global::System.IntPtr instance, global::System.IntPtr s); - protected bool __ownsNativeInstance; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?clearArguments@CXXConstructExpr@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearArguments(global::System.IntPtr instance); - internal static global::CppSharp.Parser.AST.LayoutField __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getArgumentsCount@CXXConstructExpr@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetArgumentsCount(global::System.IntPtr instance); + } + + internal static new global::CppSharp.Parser.AST.CXXConstructExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.LayoutField(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.CXXConstructExpr(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.LayoutField __CreateInstance(global::CppSharp.Parser.AST.LayoutField.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.CXXConstructExpr __CreateInstance(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.LayoutField(native, skipVTables); + return new global::CppSharp.Parser.AST.CXXConstructExpr(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.LayoutField.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); - global::CppSharp.Parser.AST.LayoutField.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); + global::CppSharp.Parser.AST.CXXConstructExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private LayoutField(global::CppSharp.Parser.AST.LayoutField.__Internal native, bool skipVTables = false) + private CXXConstructExpr(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected LayoutField(void* native, bool skipVTables = false) + protected CXXConstructExpr(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public LayoutField() + public CXXConstructExpr(string str, global::CppSharp.Parser.AST.Declaration decl) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, str); + var __arg0 = __basicString0.__Instance; + var __arg1 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; + __Internal.ctor((__Instance + __PointerAdjustment), __arg0, __arg1); + __basicString0.Dispose(false); } - public LayoutField(global::CppSharp.Parser.AST.LayoutField other) + public CXXConstructExpr(global::CppSharp.Parser.AST.CXXConstructExpr _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(other, null)) - throw new global::System.ArgumentNullException("other", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = other.__Instance; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.LayoutField __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - - public uint Offset - { - get - { - return ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->offset; - } - - set - { - ((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->offset = value; - } + global::CppSharp.Parser.AST.Statement __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; } - public string Name + public global::CppSharp.Parser.AST.Expression GetArguments(uint i) { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->name)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->name), value); - } + var __ret = __Internal.GetArguments((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Expression __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(__ret); + return __result0; } - public global::CppSharp.Parser.AST.QualifiedType QualifiedType + public void AddArguments(global::CppSharp.Parser.AST.Expression s) { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->qualifiedType)); - } + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); + } - set - { - ((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } + public void ClearArguments() + { + __Internal.ClearArguments((__Instance + __PointerAdjustment)); } - public global::System.IntPtr FieldPtr + public uint ArgumentsCount { get { - return ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->fieldPtr; - } - - set - { - ((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->fieldPtr = (global::System.IntPtr) value; + var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class LayoutBase : IDisposable + public unsafe partial class Parameter : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 8)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 164)] + public new partial struct __Internal { [FieldOffset(0)] - internal uint offset; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal global::System.IntPtr _class; + internal int maxFieldAlignment; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(12)] + internal global::System.IntPtr _namespace; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(20)] + internal int lineNumberStart; + + [FieldOffset(24)] + internal int lineNumberEnd; + + [FieldOffset(28)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(52)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(76)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(100)] + internal byte isIncomplete; + + [FieldOffset(101)] + internal byte isDependent; + + [FieldOffset(102)] + internal byte isImplicit; + + [FieldOffset(103)] + internal byte isInvalid; + + [FieldOffset(104)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(108)] + internal uint definitionOrder; + + [FieldOffset(112)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(124)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(136)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(140)] + internal global::System.IntPtr comment; + + [FieldOffset(144)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(152)] + internal byte isIndirect; + + [FieldOffset(153)] + internal byte hasDefaultValue; + + [FieldOffset(156)] + internal uint index; + + [FieldOffset(160)] + internal global::System.IntPtr defaultArgument; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0LayoutBase@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0Parameter@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0LayoutBase@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr other); + EntryPoint="??0Parameter@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1LayoutBase@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??1Parameter@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern void dtor(global::System.IntPtr instance, int delete); } - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.LayoutBase __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Parameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.LayoutBase(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Parameter(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.LayoutBase __CreateInstance(global::CppSharp.Parser.AST.LayoutBase.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Parameter __CreateInstance(global::CppSharp.Parser.AST.Parameter.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.LayoutBase(native, skipVTables); + return new global::CppSharp.Parser.AST.Parameter(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.LayoutBase.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Parameter.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); - global::CppSharp.Parser.AST.LayoutBase.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); + global::CppSharp.Parser.AST.Parameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private LayoutBase(global::CppSharp.Parser.AST.LayoutBase.__Internal native, bool skipVTables = false) + private Parameter(global::CppSharp.Parser.AST.Parameter.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected LayoutBase(void* native, bool skipVTables = false) + protected Parameter(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public LayoutBase() + public Parameter() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public LayoutBase(global::CppSharp.Parser.AST.LayoutBase other) + public Parameter(global::CppSharp.Parser.AST.Parameter _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(other, null)) - throw new global::System.ArgumentNullException("other", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = other.__Instance; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.LayoutBase __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -8798,181 +6995,293 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public uint Offset + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { get { - return ((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->offset; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->qualifiedType)); } set { - ((global::CppSharp.Parser.AST.LayoutBase.__Internal*)__Instance)->offset = value; + ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public global::CppSharp.Parser.AST.Class Class + public bool IsIndirect { get { - global::CppSharp.Parser.AST.Class __result0; - if (((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class)) - __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class]; - else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class); - return __result0; + return ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->isIndirect != 0; } set { - ((global::CppSharp.Parser.AST.LayoutBase.__Internal*)__Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } - } - - public unsafe partial class BuiltinType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 12)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - internal byte isDependent; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.PrimitiveType type; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0BuiltinType@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0BuiltinType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); - } - - internal static new global::CppSharp.Parser.AST.BuiltinType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.BuiltinType(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.BuiltinType __CreateInstance(global::CppSharp.Parser.AST.BuiltinType.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.BuiltinType(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.BuiltinType.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); - global::CppSharp.Parser.AST.BuiltinType.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); + ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->isIndirect = (byte) (value ? 1 : 0); + } } - private BuiltinType(global::CppSharp.Parser.AST.BuiltinType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) + public bool HasDefaultValue { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + get + { + return ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->hasDefaultValue != 0; + } - protected BuiltinType(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); + set + { + ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->hasDefaultValue = (byte) (value ? 1 : 0); + } } - public BuiltinType() - : this((void*) null) + public uint Index { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } + get + { + return ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->index; + } - public BuiltinType(global::CppSharp.Parser.AST.BuiltinType _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + set + { + ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->index = value; + } } - public global::CppSharp.Parser.AST.PrimitiveType Type + public global::CppSharp.Parser.AST.Expression DefaultArgument { get { - return ((global::CppSharp.Parser.AST.BuiltinType.__Internal*) __Instance)->type; + global::CppSharp.Parser.AST.Expression __result0; + if (((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgument == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgument)) + __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgument]; + else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgument); + return __result0; } set { - ((global::CppSharp.Parser.AST.BuiltinType.__Internal*)__Instance)->type = value; + ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->defaultArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } - public unsafe partial class TagType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class Function : global::CppSharp.Parser.AST.DeclarationContext, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 12)] + [StructLayout(LayoutKind.Explicit, Size = 392)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal byte isDependent; + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::System.IntPtr declaration; + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(12)] + internal global::System.IntPtr _namespace; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(20)] + internal int lineNumberStart; + + [FieldOffset(24)] + internal int lineNumberEnd; + + [FieldOffset(28)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(52)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(76)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(100)] + internal byte isIncomplete; + + [FieldOffset(101)] + internal byte isDependent; + + [FieldOffset(102)] + internal byte isImplicit; + + [FieldOffset(103)] + internal byte isInvalid; + + [FieldOffset(104)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(108)] + internal uint definitionOrder; + + [FieldOffset(112)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(124)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(136)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(140)] + internal global::System.IntPtr comment; + + [FieldOffset(144)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; + + [FieldOffset(156)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; + + [FieldOffset(168)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; + + [FieldOffset(180)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; + + [FieldOffset(192)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; + + [FieldOffset(204)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; + + [FieldOffset(216)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; + + [FieldOffset(228)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; + + [FieldOffset(240)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; + + [FieldOffset(252)] + internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + + [FieldOffset(260)] + internal byte isAnonymous; + + [FieldOffset(264)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; + + [FieldOffset(272)] + internal byte isReturnIndirect; + + [FieldOffset(273)] + internal byte hasThisReturn; + + [FieldOffset(274)] + internal byte isConstExpr; + + [FieldOffset(275)] + internal byte isVariadic; + + [FieldOffset(276)] + internal byte isInline; + + [FieldOffset(277)] + internal byte isPure; + + [FieldOffset(278)] + internal byte isDeleted; + + [FieldOffset(279)] + internal byte isDefaulted; + + [FieldOffset(280)] + internal global::CppSharp.Parser.AST.FriendKind friendKind; + + [FieldOffset(284)] + internal global::CppSharp.Parser.AST.CXXOperatorKind operatorKind; + + [FieldOffset(288)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C mangled; + + [FieldOffset(312)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C signature; + + [FieldOffset(336)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C body; + + [FieldOffset(360)] + internal global::CppSharp.Parser.AST.CallingConvention callingConvention; + + [FieldOffset(364)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_S_allocator__S0_ Parameters; + + [FieldOffset(376)] + internal global::System.IntPtr specializationInfo; + + [FieldOffset(380)] + internal global::System.IntPtr instantiatedFrom; + + [FieldOffset(384)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0TagType@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0Function@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0TagType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0Function@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??1Function@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern void dtor(global::System.IntPtr instance, int delete); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getParameters@Function@AST@CppParser@CppSharp@@QAEPAVParameter@234@I@Z")] + internal static extern global::System.IntPtr GetParameters(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?addParameters@Function@AST@CppParser@CppSharp@@QAEXAAPAVParameter@234@@Z")] + internal static extern void AddParameters(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?clearParameters@Function@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearParameters(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getParametersCount@Function@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetParametersCount(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.TagType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Function __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TagType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Function(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TagType __CreateInstance(global::CppSharp.Parser.AST.TagType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Function __CreateInstance(global::CppSharp.Parser.AST.Function.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TagType(native, skipVTables); + return new global::CppSharp.Parser.AST.Function(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TagType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Function.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); - global::CppSharp.Parser.AST.TagType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); + global::CppSharp.Parser.AST.Function.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TagType(global::CppSharp.Parser.AST.TagType.__Internal native, bool skipVTables = false) + private Function(global::CppSharp.Parser.AST.Function.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TagType(void* native, bool skipVTables = false) + protected Function(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -8981,19 +7290,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TagType() + public Function() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TagType(global::CppSharp.Parser.AST.TagType _0) + public Function(global::CppSharp.Parser.AST.Function _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -9002,258 +7311,555 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.Declaration Declaration + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Parameter GetParameters(uint i) + { + var __ret = __Internal.GetParameters((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Parameter __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Parameter.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Parameter) global::CppSharp.Parser.AST.Parameter.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Parameter.__CreateInstance(__ret); + return __result0; + } + + public void AddParameters(global::CppSharp.Parser.AST.Parameter s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddParameters((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearParameters() + { + __Internal.ClearParameters((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.QualifiedType ReturnType { get { - global::CppSharp.Parser.AST.Declaration __result0; - if (((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration); - return __result0; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->returnType)); } set { - ((global::CppSharp.Parser.AST.TagType.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->returnType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - } - public unsafe partial class ArrayType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 28)] - public new partial struct __Internal + public bool IsReturnIndirect { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isReturnIndirect != 0; + } - [FieldOffset(4)] - internal byte isDependent; + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isReturnIndirect = (byte) (value ? 1 : 0); + } + } - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + public bool HasThisReturn + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->hasThisReturn != 0; + } - [FieldOffset(16)] - internal global::CppSharp.Parser.AST.ArrayType.ArraySize sizeType; + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->hasThisReturn = (byte) (value ? 1 : 0); + } + } - [FieldOffset(20)] - internal int size; + public bool IsConstExpr + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isConstExpr != 0; + } - [FieldOffset(24)] - internal int elementSize; + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isConstExpr = (byte) (value ? 1 : 0); + } + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0ArrayType@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); + public bool IsVariadic + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isVariadic != 0; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0ArrayType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isVariadic = (byte) (value ? 1 : 0); + } } - public enum ArraySize + public bool IsInline { - Constant = 0, - Variable = 1, - Dependent = 2, - Incomplete = 3 + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isInline != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isInline = (byte) (value ? 1 : 0); + } } - internal static new global::CppSharp.Parser.AST.ArrayType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public bool IsPure { - return new global::CppSharp.Parser.AST.ArrayType(native.ToPointer(), skipVTables); + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isPure != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isPure = (byte) (value ? 1 : 0); + } } - internal static global::CppSharp.Parser.AST.ArrayType __CreateInstance(global::CppSharp.Parser.AST.ArrayType.__Internal native, bool skipVTables = false) + public bool IsDeleted { - return new global::CppSharp.Parser.AST.ArrayType(native, skipVTables); + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isDeleted != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isDeleted = (byte) (value ? 1 : 0); + } } - private static void* __CopyValue(global::CppSharp.Parser.AST.ArrayType.__Internal native) + public bool IsDefaulted { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); - global::CppSharp.Parser.AST.ArrayType.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isDefaulted != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isDefaulted = (byte) (value ? 1 : 0); + } } - private ArrayType(global::CppSharp.Parser.AST.ArrayType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) + public global::CppSharp.Parser.AST.FriendKind FriendKind { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->friendKind; + } + + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->friendKind = value; + } } - protected ArrayType(void* native, bool skipVTables = false) - : base((void*) null) + public global::CppSharp.Parser.AST.CXXOperatorKind OperatorKind { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->operatorKind; + } + + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->operatorKind = value; + } } - public ArrayType() - : this((void*) null) + public string Mangled { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->mangled)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->mangled), value); + } } - public ArrayType(global::CppSharp.Parser.AST.ArrayType _0) - : this((void*) null) + public string Signature { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->signature)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->signature), value); + } + } + + public string Body + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->body)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->body), value); + } } - public global::CppSharp.Parser.AST.QualifiedType QualifiedType + public global::CppSharp.Parser.AST.CallingConvention CallingConvention { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->qualifiedType)); + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->callingConvention; } set { - ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->callingConvention = value; } } - public global::CppSharp.Parser.AST.ArrayType.ArraySize SizeType + public global::CppSharp.Parser.AST.FunctionTemplateSpecialization SpecializationInfo { get { - return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->sizeType; + global::CppSharp.Parser.AST.FunctionTemplateSpecialization __result0; + if (((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo)) + __result0 = (global::CppSharp.Parser.AST.FunctionTemplateSpecialization) global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap[((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo]; + else __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__CreateInstance(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo); + return __result0; } set { - ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->sizeType = value; + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->specializationInfo = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public int Size + public global::CppSharp.Parser.AST.Function InstantiatedFrom { get { - return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->size; + global::CppSharp.Parser.AST.Function __result0; + if (((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom)) + __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom]; + else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom); + return __result0; } set { - ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->size = value; + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->instantiatedFrom = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public int ElementSize + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { get { - return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->elementSize; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->qualifiedType)); } set { - ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->elementSize = value; + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public uint ParametersCount + { + get + { + var __ret = __Internal.GetParametersCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class FunctionType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class Method : global::CppSharp.Parser.AST.Function, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 36)] + [StructLayout(LayoutKind.Explicit, Size = 428)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal byte isDependent; + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(12)] + internal global::System.IntPtr _namespace; [FieldOffset(16)] - internal global::CppSharp.Parser.AST.CallingConvention callingConvention; + internal global::CppSharp.Parser.SourceLocation.__Internal location; [FieldOffset(20)] - internal global::CppSharp.Parser.AST.ExceptionSpecType exceptionSpecType; + internal int lineNumberStart; [FieldOffset(24)] + internal int lineNumberEnd; + + [FieldOffset(28)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(52)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(76)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(100)] + internal byte isIncomplete; + + [FieldOffset(101)] + internal byte isDependent; + + [FieldOffset(102)] + internal byte isImplicit; + + [FieldOffset(103)] + internal byte isInvalid; + + [FieldOffset(104)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(108)] + internal uint definitionOrder; + + [FieldOffset(112)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(124)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(136)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(140)] + internal global::System.IntPtr comment; + + [FieldOffset(144)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; + + [FieldOffset(156)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; + + [FieldOffset(168)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; + + [FieldOffset(180)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; + + [FieldOffset(192)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; + + [FieldOffset(204)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; + + [FieldOffset(216)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; + + [FieldOffset(228)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; + + [FieldOffset(240)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; + + [FieldOffset(252)] + internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + + [FieldOffset(260)] + internal byte isAnonymous; + + [FieldOffset(264)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; + + [FieldOffset(272)] + internal byte isReturnIndirect; + + [FieldOffset(273)] + internal byte hasThisReturn; + + [FieldOffset(274)] + internal byte isConstExpr; + + [FieldOffset(275)] + internal byte isVariadic; + + [FieldOffset(276)] + internal byte isInline; + + [FieldOffset(277)] + internal byte isPure; + + [FieldOffset(278)] + internal byte isDeleted; + + [FieldOffset(279)] + internal byte isDefaulted; + + [FieldOffset(280)] + internal global::CppSharp.Parser.AST.FriendKind friendKind; + + [FieldOffset(284)] + internal global::CppSharp.Parser.AST.CXXOperatorKind operatorKind; + + [FieldOffset(288)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C mangled; + + [FieldOffset(312)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C signature; + + [FieldOffset(336)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C body; + + [FieldOffset(360)] + internal global::CppSharp.Parser.AST.CallingConvention callingConvention; + + [FieldOffset(364)] internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_S_allocator__S0_ Parameters; + [FieldOffset(376)] + internal global::System.IntPtr specializationInfo; + + [FieldOffset(380)] + internal global::System.IntPtr instantiatedFrom; + + [FieldOffset(384)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(392)] + internal byte isVirtual; + + [FieldOffset(393)] + internal byte isStatic; + + [FieldOffset(394)] + internal byte isConst; + + [FieldOffset(395)] + internal byte isExplicit; + + [FieldOffset(396)] + internal global::CppSharp.Parser.AST.CXXMethodKind methodKind; + + [FieldOffset(400)] + internal byte isDefaultConstructor; + + [FieldOffset(401)] + internal byte isCopyConstructor; + + [FieldOffset(402)] + internal byte isMoveConstructor; + + [FieldOffset(404)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal conversionType; + + [FieldOffset(412)] + internal global::CppSharp.Parser.AST.RefQualifierKind refQualifier; + + [FieldOffset(416)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_S_allocator__S0_ OverriddenMethods; + [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0FunctionType@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0Method@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0FunctionType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0Method@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1FunctionType@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??1Method@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern void dtor(global::System.IntPtr instance, int delete); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getParameters@FunctionType@AST@CppParser@CppSharp@@QAEPAVParameter@234@I@Z")] - internal static extern global::System.IntPtr GetParameters(global::System.IntPtr instance, uint i); + EntryPoint="?getOverriddenMethods@Method@AST@CppParser@CppSharp@@QAEPAV1234@I@Z")] + internal static extern global::System.IntPtr GetOverriddenMethods(global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?addParameters@FunctionType@AST@CppParser@CppSharp@@QAEXAAPAVParameter@234@@Z")] - internal static extern void AddParameters(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="?addOverriddenMethods@Method@AST@CppParser@CppSharp@@QAEXAAPAV1234@@Z")] + internal static extern void AddOverriddenMethods(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearParameters@FunctionType@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearParameters(global::System.IntPtr instance); + EntryPoint="?clearOverriddenMethods@Method@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearOverriddenMethods(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getParametersCount@FunctionType@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetParametersCount(global::System.IntPtr instance); + EntryPoint="?getOverriddenMethodsCount@Method@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetOverriddenMethodsCount(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.FunctionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Method __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.FunctionType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Method(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.FunctionType __CreateInstance(global::CppSharp.Parser.AST.FunctionType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Method __CreateInstance(global::CppSharp.Parser.AST.Method.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.FunctionType(native, skipVTables); + return new global::CppSharp.Parser.AST.Method(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Method.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); - global::CppSharp.Parser.AST.FunctionType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); + global::CppSharp.Parser.AST.Method.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private FunctionType(global::CppSharp.Parser.AST.FunctionType.__Internal native, bool skipVTables = false) + private Method(global::CppSharp.Parser.AST.Method.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected FunctionType(void* native, bool skipVTables = false) + protected Method(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -9262,19 +7868,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public FunctionType() + public Method() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public FunctionType(global::CppSharp.Parser.AST.FunctionType _0) + public Method(global::CppSharp.Parser.AST.Method _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -9287,7 +7893,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Type __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -9296,339 +7902,538 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.Parameter GetParameters(uint i) + public global::CppSharp.Parser.AST.Method GetOverriddenMethods(uint i) { - var __ret = __Internal.GetParameters((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Parameter __result0; + var __ret = __Internal.GetOverriddenMethods((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Method __result0; if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Parameter.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Parameter) global::CppSharp.Parser.AST.Parameter.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Parameter.__CreateInstance(__ret); + else if (global::CppSharp.Parser.AST.Method.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Method) global::CppSharp.Parser.AST.Method.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Method.__CreateInstance(__ret); return __result0; } - public void AddParameters(global::CppSharp.Parser.AST.Parameter s) + public void AddOverriddenMethods(global::CppSharp.Parser.AST.Method s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddParameters((__Instance + __PointerAdjustment), __arg0); + __Internal.AddOverriddenMethods((__Instance + __PointerAdjustment), __arg0); } - public void ClearParameters() + public void ClearOverriddenMethods() { - __Internal.ClearParameters((__Instance + __PointerAdjustment)); + __Internal.ClearOverriddenMethods((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.QualifiedType ReturnType + public bool IsVirtual { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->returnType)); + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isVirtual != 0; } set { - ((global::CppSharp.Parser.AST.FunctionType.__Internal*)__Instance)->returnType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isVirtual = (byte) (value ? 1 : 0); } } - public global::CppSharp.Parser.AST.CallingConvention CallingConvention + public bool IsStatic { get { - return ((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->callingConvention; + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isStatic != 0; } set { - ((global::CppSharp.Parser.AST.FunctionType.__Internal*)__Instance)->callingConvention = value; + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isStatic = (byte) (value ? 1 : 0); } } - public global::CppSharp.Parser.AST.ExceptionSpecType ExceptionSpecType + public bool IsConst { get { - return ((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->exceptionSpecType; + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isConst != 0; } set { - ((global::CppSharp.Parser.AST.FunctionType.__Internal*)__Instance)->exceptionSpecType = value; + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isConst = (byte) (value ? 1 : 0); + } + } + + public bool IsExplicit + { + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isExplicit != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isExplicit = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.CXXMethodKind MethodKind + { + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->methodKind; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->methodKind = value; + } + } + + public bool IsDefaultConstructor + { + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isDefaultConstructor != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isDefaultConstructor = (byte) (value ? 1 : 0); + } + } + + public bool IsCopyConstructor + { + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isCopyConstructor != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isCopyConstructor = (byte) (value ? 1 : 0); + } + } + + public bool IsMoveConstructor + { + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isMoveConstructor != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isMoveConstructor = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.QualifiedType ConversionType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->conversionType)); + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->conversionType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public global::CppSharp.Parser.AST.RefQualifierKind RefQualifier + { + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->refQualifier; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->refQualifier = value; + } + } + + public uint OverriddenMethodsCount + { + get + { + var __ret = __Internal.GetOverriddenMethodsCount((__Instance + __PointerAdjustment)); + return __ret; } } + } + + public unsafe partial class Enumeration : global::CppSharp.Parser.AST.DeclarationContext, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 288)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(12)] + internal global::System.IntPtr _namespace; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(20)] + internal int lineNumberStart; + + [FieldOffset(24)] + internal int lineNumberEnd; + + [FieldOffset(28)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(52)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(76)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(100)] + internal byte isIncomplete; + + [FieldOffset(101)] + internal byte isDependent; + + [FieldOffset(102)] + internal byte isImplicit; + + [FieldOffset(103)] + internal byte isInvalid; + + [FieldOffset(104)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(108)] + internal uint definitionOrder; + + [FieldOffset(112)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(124)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(136)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(140)] + internal global::System.IntPtr comment; + + [FieldOffset(144)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; + + [FieldOffset(156)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; + + [FieldOffset(168)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; + + [FieldOffset(180)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; + + [FieldOffset(192)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; + + [FieldOffset(204)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; + + [FieldOffset(216)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; + + [FieldOffset(228)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; + + [FieldOffset(240)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; + + [FieldOffset(252)] + internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; - public uint ParametersCount - { - get - { - var __ret = __Internal.GetParametersCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - } + [FieldOffset(260)] + internal byte isAnonymous; - public unsafe partial class PointerType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 20)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + [FieldOffset(264)] + internal global::CppSharp.Parser.AST.Enumeration.EnumModifiers modifiers; - [FieldOffset(4)] - internal byte isDependent; + [FieldOffset(268)] + internal global::System.IntPtr type; - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedPointee; + [FieldOffset(272)] + internal global::System.IntPtr builtinType; - [FieldOffset(16)] - internal global::CppSharp.Parser.AST.PointerType.TypeModifier modifier; + [FieldOffset(276)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration_S_Item___N_std_S_allocator__S0_ Items; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0PointerType@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0Enumeration@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0PointerType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0Enumeration@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); - } - - public enum TypeModifier - { - Value = 0, - Pointer = 1, - LVReference = 2, - RVReference = 3 - } - internal static new global::CppSharp.Parser.AST.PointerType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.PointerType(native.ToPointer(), skipVTables); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??1Enumeration@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern void dtor(global::System.IntPtr instance, int delete); - internal static global::CppSharp.Parser.AST.PointerType __CreateInstance(global::CppSharp.Parser.AST.PointerType.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.PointerType(native, skipVTables); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getItems@Enumeration@AST@CppParser@CppSharp@@QAEPAVItem@1234@I@Z")] + internal static extern global::System.IntPtr GetItems(global::System.IntPtr instance, uint i); - private static void* __CopyValue(global::CppSharp.Parser.AST.PointerType.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); - global::CppSharp.Parser.AST.PointerType.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?addItems@Enumeration@AST@CppParser@CppSharp@@QAEXAAPAVItem@1234@@Z")] + internal static extern void AddItems(global::System.IntPtr instance, global::System.IntPtr s); - private PointerType(global::CppSharp.Parser.AST.PointerType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?clearItems@Enumeration@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearItems(global::System.IntPtr instance); - protected PointerType(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?FindItemByName@Enumeration@AST@CppParser@CppSharp@@QAEPAVItem@1234@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z")] + internal static extern global::System.IntPtr FindItemByName(global::System.IntPtr instance, global::System.IntPtr Name); - public PointerType() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getItemsCount@Enumeration@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetItemsCount(global::System.IntPtr instance); } - public PointerType(global::CppSharp.Parser.AST.PointerType _0) - : this((void*) null) + [Flags] + public enum EnumModifiers { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + Anonymous = 1, + Scoped = 2, + Flags = 4 } - public global::CppSharp.Parser.AST.QualifiedType QualifiedPointee + public unsafe partial class Item : global::CppSharp.Parser.AST.Declaration, IDisposable { - get + [StructLayout(LayoutKind.Explicit, Size = 176)] + public new partial struct __Internal { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.PointerType.__Internal*) __Instance)->qualifiedPointee)); - } + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; - set - { - ((global::CppSharp.Parser.AST.PointerType.__Internal*)__Instance)->qualifiedPointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } - } + [FieldOffset(4)] + internal int maxFieldAlignment; - public global::CppSharp.Parser.AST.PointerType.TypeModifier Modifier - { - get - { - return ((global::CppSharp.Parser.AST.PointerType.__Internal*) __Instance)->modifier; - } + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; - set - { - ((global::CppSharp.Parser.AST.PointerType.__Internal*)__Instance)->modifier = value; - } - } - } + [FieldOffset(12)] + internal global::System.IntPtr _namespace; - public unsafe partial class MemberPointerType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 16)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; - [FieldOffset(4)] - internal byte isDependent; + [FieldOffset(20)] + internal int lineNumberStart; - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal pointee; + [FieldOffset(24)] + internal int lineNumberEnd; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0MemberPointerType@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); + [FieldOffset(28)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0MemberPointerType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); - } + [FieldOffset(52)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - internal static new global::CppSharp.Parser.AST.MemberPointerType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.MemberPointerType(native.ToPointer(), skipVTables); - } + [FieldOffset(76)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - internal static global::CppSharp.Parser.AST.MemberPointerType __CreateInstance(global::CppSharp.Parser.AST.MemberPointerType.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.MemberPointerType(native, skipVTables); - } + [FieldOffset(100)] + internal byte isIncomplete; - private static void* __CopyValue(global::CppSharp.Parser.AST.MemberPointerType.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); - global::CppSharp.Parser.AST.MemberPointerType.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + [FieldOffset(101)] + internal byte isDependent; - private MemberPointerType(global::CppSharp.Parser.AST.MemberPointerType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + [FieldOffset(102)] + internal byte isImplicit; + + [FieldOffset(103)] + internal byte isInvalid; + + [FieldOffset(104)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(108)] + internal uint definitionOrder; + + [FieldOffset(112)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(124)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(136)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(140)] + internal global::System.IntPtr comment; + + [FieldOffset(144)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C expression; + + [FieldOffset(168)] + internal ulong value; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0Item@Enumeration@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0Item@Enumeration@AST@CppParser@CppSharp@@QAE@ABV01234@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??1Item@Enumeration@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern void dtor(global::System.IntPtr instance, int delete); + } + + internal static new global::CppSharp.Parser.AST.Enumeration.Item __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Enumeration.Item(native.ToPointer(), skipVTables); + } - protected MemberPointerType(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + internal static global::CppSharp.Parser.AST.Enumeration.Item __CreateInstance(global::CppSharp.Parser.AST.Enumeration.Item.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Enumeration.Item(native, skipVTables); + } - public MemberPointerType() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } + private static void* __CopyValue(global::CppSharp.Parser.AST.Enumeration.Item.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); + global::CppSharp.Parser.AST.Enumeration.Item.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - public MemberPointerType(global::CppSharp.Parser.AST.MemberPointerType _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } + private Item(global::CppSharp.Parser.AST.Enumeration.Item.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - public global::CppSharp.Parser.AST.QualifiedType Pointee - { - get + protected Item(void* native, bool skipVTables = false) + : base((void*) null) { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MemberPointerType.__Internal*) __Instance)->pointee)); + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - set + public Item() + : this((void*) null) { - ((global::CppSharp.Parser.AST.MemberPointerType.__Internal*)__Instance)->pointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); } - } - } - public unsafe partial class TypedefType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 12)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + public Item(global::CppSharp.Parser.AST.Enumeration.Item _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(4)] - internal byte isDependent; + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } - [FieldOffset(8)] - internal global::System.IntPtr declaration; + public string Expression + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*) __Instance)->expression)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0TypedefType@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*)__Instance)->expression), value); + } + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0TypedefType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + public ulong Value + { + get + { + return ((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*) __Instance)->value; + } + + set + { + ((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*)__Instance)->value = value; + } + } } - internal static new global::CppSharp.Parser.AST.TypedefType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Enumeration __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypedefType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Enumeration(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TypedefType __CreateInstance(global::CppSharp.Parser.AST.TypedefType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Enumeration __CreateInstance(global::CppSharp.Parser.AST.Enumeration.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypedefType(native, skipVTables); + return new global::CppSharp.Parser.AST.Enumeration(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Enumeration.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); - global::CppSharp.Parser.AST.TypedefType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); + global::CppSharp.Parser.AST.Enumeration.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TypedefType(global::CppSharp.Parser.AST.TypedefType.__Internal native, bool skipVTables = false) + private Enumeration(global::CppSharp.Parser.AST.Enumeration.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TypedefType(void* native, bool skipVTables = false) + protected Enumeration(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -9637,19 +8442,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TypedefType() + public Enumeration() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TypedefType(global::CppSharp.Parser.AST.TypedefType _0) + public Enumeration(global::CppSharp.Parser.AST.Enumeration _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -9658,190 +8463,229 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.TypedefNameDecl Declaration - { - get - { - global::CppSharp.Parser.AST.TypedefNameDecl __result0; - if (((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TypedefNameDecl.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration)) - __result0 = (global::CppSharp.Parser.AST.TypedefNameDecl) global::CppSharp.Parser.AST.TypedefNameDecl.NativeToManagedMap[((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration]; - else __result0 = global::CppSharp.Parser.AST.TypedefNameDecl.__CreateInstance(((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.TypedefType.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } - } - - public unsafe partial class AttributedType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 24)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - internal byte isDependent; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal modified; - - [FieldOffset(16)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal equivalent; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0AttributedType@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0AttributedType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); - } - - internal static new global::CppSharp.Parser.AST.AttributedType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public override void Dispose(bool disposing) { - return new global::CppSharp.Parser.AST.AttributedType(native.ToPointer(), skipVTables); + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; } - internal static global::CppSharp.Parser.AST.AttributedType __CreateInstance(global::CppSharp.Parser.AST.AttributedType.__Internal native, bool skipVTables = false) + public global::CppSharp.Parser.AST.Enumeration.Item GetItems(uint i) { - return new global::CppSharp.Parser.AST.AttributedType(native, skipVTables); + var __ret = __Internal.GetItems((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Enumeration.Item __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Enumeration.Item) global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Enumeration.Item.__CreateInstance(__ret); + return __result0; } - private static void* __CopyValue(global::CppSharp.Parser.AST.AttributedType.__Internal native) + public void AddItems(global::CppSharp.Parser.AST.Enumeration.Item s) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); - global::CppSharp.Parser.AST.AttributedType.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddItems((__Instance + __PointerAdjustment), __arg0); } - private AttributedType(global::CppSharp.Parser.AST.AttributedType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) + public void ClearItems() { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + __Internal.ClearItems((__Instance + __PointerAdjustment)); } - protected AttributedType(void* native, bool skipVTables = false) - : base((void*) null) + public global::CppSharp.Parser.AST.Enumeration.Item FindItemByName(string Name) { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, Name); + var __arg0 = __basicString0.__Instance; + var __ret = __Internal.FindItemByName((__Instance + __PointerAdjustment), __arg0); + __basicString0.Dispose(false); + global::CppSharp.Parser.AST.Enumeration.Item __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Enumeration.Item) global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Enumeration.Item.__CreateInstance(__ret); + return __result0; } - public AttributedType() - : this((void*) null) + public global::CppSharp.Parser.AST.Enumeration.EnumModifiers Modifiers { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } + get + { + return ((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->modifiers; + } - public AttributedType(global::CppSharp.Parser.AST.AttributedType _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + set + { + ((global::CppSharp.Parser.AST.Enumeration.__Internal*)__Instance)->modifiers = value; + } } - public global::CppSharp.Parser.AST.QualifiedType Modified + public global::CppSharp.Parser.AST.Type Type { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.AttributedType.__Internal*) __Instance)->modified)); + global::CppSharp.Parser.AST.Type __result0; + if (((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type)) + __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type]; + else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type); + return __result0; } set { - ((global::CppSharp.Parser.AST.AttributedType.__Internal*)__Instance)->modified = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.Enumeration.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public global::CppSharp.Parser.AST.QualifiedType Equivalent + public global::CppSharp.Parser.AST.BuiltinType BuiltinType { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.AttributedType.__Internal*) __Instance)->equivalent)); + global::CppSharp.Parser.AST.BuiltinType __result0; + if (((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.BuiltinType.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType)) + __result0 = (global::CppSharp.Parser.AST.BuiltinType) global::CppSharp.Parser.AST.BuiltinType.NativeToManagedMap[((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType]; + else __result0 = global::CppSharp.Parser.AST.BuiltinType.__CreateInstance(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType); + return __result0; } set { - ((global::CppSharp.Parser.AST.AttributedType.__Internal*)__Instance)->equivalent = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.Enumeration.__Internal*)__Instance)->builtinType = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public uint ItemsCount + { + get + { + var __ret = __Internal.GetItemsCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class DecayedType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class Variable : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 176)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal byte isDependent; + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal decayed; + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(12)] + internal global::System.IntPtr _namespace; [FieldOffset(16)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal original; + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(20)] + internal int lineNumberStart; [FieldOffset(24)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal pointee; + internal int lineNumberEnd; + + [FieldOffset(28)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(52)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(76)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(100)] + internal byte isIncomplete; + + [FieldOffset(101)] + internal byte isDependent; + + [FieldOffset(102)] + internal byte isImplicit; + + [FieldOffset(103)] + internal byte isInvalid; + + [FieldOffset(104)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(108)] + internal uint definitionOrder; + + [FieldOffset(112)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(124)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(136)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(140)] + internal global::System.IntPtr comment; + + [FieldOffset(144)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C mangled; + + [FieldOffset(168)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0DecayedType@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0Variable@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0DecayedType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0Variable@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??1Variable@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern void dtor(global::System.IntPtr instance, int delete); } - internal static new global::CppSharp.Parser.AST.DecayedType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Variable __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.DecayedType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Variable(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.DecayedType __CreateInstance(global::CppSharp.Parser.AST.DecayedType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Variable __CreateInstance(global::CppSharp.Parser.AST.Variable.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.DecayedType(native, skipVTables); + return new global::CppSharp.Parser.AST.Variable(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.DecayedType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Variable.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); - global::CppSharp.Parser.AST.DecayedType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); + global::CppSharp.Parser.AST.Variable.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private DecayedType(global::CppSharp.Parser.AST.DecayedType.__Internal native, bool skipVTables = false) + private Variable(global::CppSharp.Parser.AST.Variable.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected DecayedType(void* native, bool skipVTables = false) + protected Variable(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -9850,19 +8694,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public DecayedType() + public Variable() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public DecayedType(global::CppSharp.Parser.AST.DecayedType _0) + public Variable(global::CppSharp.Parser.AST.Variable _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -9871,308 +8715,324 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType Decayed + public override void Dispose(bool disposing) { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->decayed)); - } - - set - { - ((global::CppSharp.Parser.AST.DecayedType.__Internal*)__Instance)->decayed = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.QualifiedType Original + public string Mangled { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->original)); + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Variable.__Internal*) __Instance)->mangled)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.DecayedType.__Internal*)__Instance)->original = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Variable.__Internal*)__Instance)->mangled), value); } } - public global::CppSharp.Parser.AST.QualifiedType Pointee + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->pointee)); + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Variable.__Internal*) __Instance)->qualifiedType)); } set { - ((global::CppSharp.Parser.AST.DecayedType.__Internal*)__Instance)->pointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.Variable.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } } - public unsafe partial class TemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class BaseClassSpecifier : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 32)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 16)] + public partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(4)] - internal byte isDependent; + internal byte isVirtual; [FieldOffset(8)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; - - [FieldOffset(20)] - internal global::System.IntPtr _template; + internal global::System.IntPtr type; - [FieldOffset(24)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; + [FieldOffset(12)] + internal int offset; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0TemplateSpecializationType@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0BaseClassSpecifier@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0TemplateSpecializationType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0BaseClassSpecifier@AST@CppParser@CppSharp@@QAE@ABU0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1TemplateSpecializationType@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern void dtor(global::System.IntPtr instance, int delete); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getArguments@TemplateSpecializationType@AST@CppParser@CppSharp@@QAE?AUTemplateArgument@234@I@Z")] - internal static extern void GetArguments(global::System.IntPtr instance, global::System.IntPtr @return, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?addArguments@TemplateSpecializationType@AST@CppParser@CppSharp@@QAEXAAUTemplateArgument@234@@Z")] - internal static extern void AddArguments(global::System.IntPtr instance, global::System.IntPtr s); + public global::System.IntPtr __Instance { get; protected set; } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearArguments@TemplateSpecializationType@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearArguments(global::System.IntPtr instance); + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getArgumentsCount@TemplateSpecializationType@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetArgumentsCount(global::System.IntPtr instance); - } + protected bool __ownsNativeInstance; - internal static new global::CppSharp.Parser.AST.TemplateSpecializationType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.BaseClassSpecifier __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateSpecializationType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.BaseClassSpecifier(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TemplateSpecializationType __CreateInstance(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.BaseClassSpecifier __CreateInstance(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateSpecializationType(native, skipVTables); + return new global::CppSharp.Parser.AST.BaseClassSpecifier(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); - global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); + *(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) ret = native; return ret.ToPointer(); } - private TemplateSpecializationType(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native, bool skipVTables = false) + private BaseClassSpecifier(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TemplateSpecializationType(void* native, bool skipVTables = false) - : base((void*) null) + protected BaseClassSpecifier(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public TemplateSpecializationType() - : this((void*) null) + public BaseClassSpecifier() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TemplateSpecializationType(global::CppSharp.Parser.AST.TemplateSpecializationType _0) - : this((void*) null) + public BaseClassSpecifier(global::CppSharp.Parser.AST.BaseClassSpecifier _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + *((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) _0.__Instance); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Type __dummy; + global::CppSharp.Parser.AST.BaseClassSpecifier __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) - { - var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); - __Internal.GetArguments((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); - return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); - } - - public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) + public global::CppSharp.Parser.AST.AccessSpecifier Access { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); - } + get + { + return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->access; + } - public void ClearArguments() - { - __Internal.ClearArguments((__Instance + __PointerAdjustment)); + set + { + ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->access = value; + } } - public global::CppSharp.Parser.AST.Template Template + public bool IsVirtual { get { - global::CppSharp.Parser.AST.Template __result0; - if (((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Template.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template)) - __result0 = (global::CppSharp.Parser.AST.Template) global::CppSharp.Parser.AST.Template.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template]; - else __result0 = global::CppSharp.Parser.AST.Template.__CreateInstance(((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template); - return __result0; + return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->isVirtual != 0; } set { - ((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*)__Instance)->_template = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->isVirtual = (byte) (value ? 1 : 0); } } - public global::CppSharp.Parser.AST.QualifiedType Desugared + public global::CppSharp.Parser.AST.Type Type { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->desugared)); + global::CppSharp.Parser.AST.Type __result0; + if (((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type)) + __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type]; + else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type); + return __result0; } set { - ((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*)__Instance)->desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public uint ArgumentsCount + public int Offset { get { - var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->offset; + } + + set + { + ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->offset = value; } } } - public unsafe partial class DependentTemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class Field : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 28)] + [StructLayout(LayoutKind.Explicit, Size = 164)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal byte isDependent; + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(12)] + internal global::System.IntPtr _namespace; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; [FieldOffset(20)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; + internal int lineNumberStart; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0DependentTemplateSpecializationType@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); + [FieldOffset(24)] + internal int lineNumberEnd; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0DependentTemplateSpecializationType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + [FieldOffset(28)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1DependentTemplateSpecializationType@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern void dtor(global::System.IntPtr instance, int delete); + [FieldOffset(52)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getArguments@DependentTemplateSpecializationType@AST@CppParser@CppSharp@@QAE?AUTemplateArgument@234@I@Z")] - internal static extern void GetArguments(global::System.IntPtr instance, global::System.IntPtr @return, uint i); + [FieldOffset(76)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(100)] + internal byte isIncomplete; + + [FieldOffset(101)] + internal byte isDependent; + + [FieldOffset(102)] + internal byte isImplicit; + + [FieldOffset(103)] + internal byte isInvalid; + + [FieldOffset(104)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(108)] + internal uint definitionOrder; + + [FieldOffset(112)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(124)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(136)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(140)] + internal global::System.IntPtr comment; + + [FieldOffset(144)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(152)] + internal global::System.IntPtr _class; + + [FieldOffset(156)] + internal byte isBitField; + + [FieldOffset(160)] + internal uint bitWidth; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?addArguments@DependentTemplateSpecializationType@AST@CppParser@CppSharp@@QAEXAAUTemplateArgument@234@@Z")] - internal static extern void AddArguments(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="??0Field@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearArguments@DependentTemplateSpecializationType@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearArguments(global::System.IntPtr instance); + EntryPoint="??0Field@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getArgumentsCount@DependentTemplateSpecializationType@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetArgumentsCount(global::System.IntPtr instance); + EntryPoint="??1Field@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern void dtor(global::System.IntPtr instance, int delete); } - internal static new global::CppSharp.Parser.AST.DependentTemplateSpecializationType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Field __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.DependentTemplateSpecializationType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Field(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.DependentTemplateSpecializationType __CreateInstance(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Field __CreateInstance(global::CppSharp.Parser.AST.Field.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.DependentTemplateSpecializationType(native, skipVTables); + return new global::CppSharp.Parser.AST.Field(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Field.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); - global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); + global::CppSharp.Parser.AST.Field.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private DependentTemplateSpecializationType(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native, bool skipVTables = false) + private Field(global::CppSharp.Parser.AST.Field.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected DependentTemplateSpecializationType(void* native, bool skipVTables = false) + protected Field(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -10181,19 +9041,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public DependentTemplateSpecializationType() + public Field() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public DependentTemplateSpecializationType(global::CppSharp.Parser.AST.DependentTemplateSpecializationType _0) + public Field(global::CppSharp.Parser.AST.Field _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -10206,7 +9066,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Type __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -10215,52 +9075,67 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { - var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); - __Internal.GetArguments((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); - return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); - } + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->qualifiedType)); + } - public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); + set + { + ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } } - public void ClearArguments() + public global::CppSharp.Parser.AST.Class Class { - __Internal.ClearArguments((__Instance + __PointerAdjustment)); + get + { + global::CppSharp.Parser.AST.Class __result0; + if (((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class)) + __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class]; + else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } } - public global::CppSharp.Parser.AST.QualifiedType Desugared + public bool IsBitField { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal*) __Instance)->desugared)); + return ((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->isBitField != 0; } set { - ((global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal*)__Instance)->desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->isBitField = (byte) (value ? 1 : 0); } } - public uint ArgumentsCount + public uint BitWidth { get { - var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->bitWidth; + } + + set + { + ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->bitWidth = value; } } } - public unsafe partial class TypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable + public unsafe partial class AccessSpecifierDecl : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 164)] + [StructLayout(LayoutKind.Explicit, Size = 144)] public new partial struct __Internal { [FieldOffset(0)] @@ -10323,59 +9198,47 @@ namespace CppSharp [FieldOffset(140)] internal global::System.IntPtr comment; - [FieldOffset(144)] - internal uint depth; - - [FieldOffset(148)] - internal uint index; - - [FieldOffset(152)] - internal byte isParameterPack; - - [FieldOffset(156)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal defaultArgument; - [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0TypeTemplateParameter@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0AccessSpecifierDecl@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0TypeTemplateParameter@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0AccessSpecifierDecl@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1TypeTemplateParameter@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??1AccessSpecifierDecl@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern void dtor(global::System.IntPtr instance, int delete); } - internal static new global::CppSharp.Parser.AST.TypeTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.AccessSpecifierDecl __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypeTemplateParameter(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.AccessSpecifierDecl(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TypeTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.AccessSpecifierDecl __CreateInstance(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypeTemplateParameter(native, skipVTables); + return new global::CppSharp.Parser.AST.AccessSpecifierDecl(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); - global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); + global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TypeTemplateParameter(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal native, bool skipVTables = false) + private AccessSpecifierDecl(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TypeTemplateParameter(void* native, bool skipVTables = false) + protected AccessSpecifierDecl(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -10384,19 +9247,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TypeTemplateParameter() + public AccessSpecifierDecl() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TypeTemplateParameter(global::CppSharp.Parser.AST.TypeTemplateParameter _0) + public AccessSpecifierDecl(global::CppSharp.Parser.AST.AccessSpecifierDecl _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -10417,24 +9280,11 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - - public global::CppSharp.Parser.AST.QualifiedType DefaultArgument - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal*) __Instance)->defaultArgument)); - } - - set - { - ((global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal*)__Instance)->defaultArgument = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } - } } - public unsafe partial class TemplateParameter : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class Class : global::CppSharp.Parser.AST.DeclarationContext, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 156)] + [StructLayout(LayoutKind.Explicit, Size = 328)] public new partial struct __Internal { [FieldOffset(0)] @@ -10498,55 +9348,204 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(144)] - internal uint depth; + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; - [FieldOffset(148)] - internal uint index; + [FieldOffset(156)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; - [FieldOffset(152)] - internal byte isParameterPack; + [FieldOffset(168)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; + + [FieldOffset(180)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; + + [FieldOffset(192)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; + + [FieldOffset(204)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; + + [FieldOffset(216)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; + + [FieldOffset(228)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; + + [FieldOffset(240)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; + + [FieldOffset(252)] + internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + + [FieldOffset(260)] + internal byte isAnonymous; + + [FieldOffset(264)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BaseClassSpecifier___N_std_S_allocator__S0_ Bases; + + [FieldOffset(276)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Field___N_std_S_allocator__S0_ Fields; + + [FieldOffset(288)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_S_allocator__S0_ Methods; + + [FieldOffset(300)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_AccessSpecifierDecl___N_std_S_allocator__S0_ Specifiers; + + [FieldOffset(312)] + internal byte isPOD; + + [FieldOffset(313)] + internal byte isAbstract; + + [FieldOffset(314)] + internal byte isUnion; + + [FieldOffset(315)] + internal byte isDynamic; + + [FieldOffset(316)] + internal byte isPolymorphic; + + [FieldOffset(317)] + internal byte hasNonTrivialDefaultConstructor; + + [FieldOffset(318)] + internal byte hasNonTrivialCopyConstructor; + + [FieldOffset(319)] + internal byte hasNonTrivialDestructor; + + [FieldOffset(320)] + internal byte isExternCContext; + + [FieldOffset(321)] + internal byte isInjected; + + [FieldOffset(324)] + internal global::System.IntPtr layout; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0TemplateParameter@AST@CppParser@CppSharp@@QAE@W4DeclarationKind@123@@Z")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); + EntryPoint="??0Class@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0TemplateParameter@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0Class@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1TemplateParameter@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??1Class@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern void dtor(global::System.IntPtr instance, int delete); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getBases@Class@AST@CppParser@CppSharp@@QAEPAUBaseClassSpecifier@234@I@Z")] + internal static extern global::System.IntPtr GetBases(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?addBases@Class@AST@CppParser@CppSharp@@QAEXAAPAUBaseClassSpecifier@234@@Z")] + internal static extern void AddBases(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?clearBases@Class@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearBases(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getFields@Class@AST@CppParser@CppSharp@@QAEPAVField@234@I@Z")] + internal static extern global::System.IntPtr GetFields(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?addFields@Class@AST@CppParser@CppSharp@@QAEXAAPAVField@234@@Z")] + internal static extern void AddFields(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?clearFields@Class@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearFields(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getMethods@Class@AST@CppParser@CppSharp@@QAEPAVMethod@234@I@Z")] + internal static extern global::System.IntPtr GetMethods(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?addMethods@Class@AST@CppParser@CppSharp@@QAEXAAPAVMethod@234@@Z")] + internal static extern void AddMethods(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?clearMethods@Class@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearMethods(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getSpecifiers@Class@AST@CppParser@CppSharp@@QAEPAVAccessSpecifierDecl@234@I@Z")] + internal static extern global::System.IntPtr GetSpecifiers(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?addSpecifiers@Class@AST@CppParser@CppSharp@@QAEXAAPAVAccessSpecifierDecl@234@@Z")] + internal static extern void AddSpecifiers(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?clearSpecifiers@Class@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearSpecifiers(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getBasesCount@Class@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetBasesCount(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getFieldsCount@Class@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetFieldsCount(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getMethodsCount@Class@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetMethodsCount(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getSpecifiersCount@Class@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetSpecifiersCount(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.TemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Class __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateParameter(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Class(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TemplateParameter.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Class __CreateInstance(global::CppSharp.Parser.AST.Class.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateParameter(native, skipVTables); + return new global::CppSharp.Parser.AST.Class(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameter.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Class.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); - global::CppSharp.Parser.AST.TemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); + global::CppSharp.Parser.AST.Class.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateParameter(global::CppSharp.Parser.AST.TemplateParameter.__Internal native, bool skipVTables = false) + private Class(global::CppSharp.Parser.AST.Class.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TemplateParameter(void* native, bool skipVTables = false) + protected Class(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -10555,19 +9554,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TemplateParameter(global::CppSharp.Parser.AST.DeclarationKind kind) + public Class() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), kind); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public TemplateParameter(global::CppSharp.Parser.AST.TemplateParameter _0) + public Class(global::CppSharp.Parser.AST.Class _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -10589,115 +9588,424 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public static implicit operator global::CppSharp.Parser.AST.TemplateParameter(global::CppSharp.Parser.AST.DeclarationKind kind) + public global::CppSharp.Parser.AST.BaseClassSpecifier GetBases(uint i) { - return new global::CppSharp.Parser.AST.TemplateParameter(kind); + var __ret = __Internal.GetBases((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.BaseClassSpecifier __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.BaseClassSpecifier.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.BaseClassSpecifier) global::CppSharp.Parser.AST.BaseClassSpecifier.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.BaseClassSpecifier.__CreateInstance(__ret); + return __result0; } - public uint Depth + public void AddBases(global::CppSharp.Parser.AST.BaseClassSpecifier s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddBases((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearBases() + { + __Internal.ClearBases((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.Field GetFields(uint i) + { + var __ret = __Internal.GetFields((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Field __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Field.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Field) global::CppSharp.Parser.AST.Field.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Field.__CreateInstance(__ret); + return __result0; + } + + public void AddFields(global::CppSharp.Parser.AST.Field s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddFields((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearFields() + { + __Internal.ClearFields((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.Method GetMethods(uint i) + { + var __ret = __Internal.GetMethods((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Method __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Method.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Method) global::CppSharp.Parser.AST.Method.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Method.__CreateInstance(__ret); + return __result0; + } + + public void AddMethods(global::CppSharp.Parser.AST.Method s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddMethods((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearMethods() + { + __Internal.ClearMethods((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.AccessSpecifierDecl GetSpecifiers(uint i) + { + var __ret = __Internal.GetSpecifiers((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.AccessSpecifierDecl __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.AccessSpecifierDecl.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.AccessSpecifierDecl) global::CppSharp.Parser.AST.AccessSpecifierDecl.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.AccessSpecifierDecl.__CreateInstance(__ret); + return __result0; + } + + public void AddSpecifiers(global::CppSharp.Parser.AST.AccessSpecifierDecl s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddSpecifiers((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearSpecifiers() + { + __Internal.ClearSpecifiers((__Instance + __PointerAdjustment)); + } + + public bool IsPOD { get { - return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->depth; + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isPOD != 0; } set { - ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*)__Instance)->depth = value; + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isPOD = (byte) (value ? 1 : 0); + } + } + + public bool IsAbstract + { + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isAbstract != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isAbstract = (byte) (value ? 1 : 0); + } + } + + public bool IsUnion + { + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isUnion != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isUnion = (byte) (value ? 1 : 0); + } + } + + public bool IsDynamic + { + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isDynamic != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isDynamic = (byte) (value ? 1 : 0); + } + } + + public bool IsPolymorphic + { + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isPolymorphic != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isPolymorphic = (byte) (value ? 1 : 0); + } + } + + public bool HasNonTrivialDefaultConstructor + { + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->hasNonTrivialDefaultConstructor != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->hasNonTrivialDefaultConstructor = (byte) (value ? 1 : 0); + } + } + + public bool HasNonTrivialCopyConstructor + { + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->hasNonTrivialCopyConstructor != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->hasNonTrivialCopyConstructor = (byte) (value ? 1 : 0); + } + } + + public bool HasNonTrivialDestructor + { + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->hasNonTrivialDestructor != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->hasNonTrivialDestructor = (byte) (value ? 1 : 0); + } + } + + public bool IsExternCContext + { + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isExternCContext != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isExternCContext = (byte) (value ? 1 : 0); + } + } + + public bool IsInjected + { + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isInjected != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isInjected = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.ClassLayout Layout + { + get + { + global::CppSharp.Parser.AST.ClassLayout __result0; + if (((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.ClassLayout.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout)) + __result0 = (global::CppSharp.Parser.AST.ClassLayout) global::CppSharp.Parser.AST.ClassLayout.NativeToManagedMap[((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout]; + else __result0 = global::CppSharp.Parser.AST.ClassLayout.__CreateInstance(((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->layout = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public uint Index + public uint BasesCount { get { - return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->index; + var __ret = __Internal.GetBasesCount((__Instance + __PointerAdjustment)); + return __ret; } + } - set + public uint FieldsCount + { + get { - ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*)__Instance)->index = value; + var __ret = __Internal.GetFieldsCount((__Instance + __PointerAdjustment)); + return __ret; } } - public bool IsParameterPack + public uint MethodsCount { get { - return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->isParameterPack != 0; + var __ret = __Internal.GetMethodsCount((__Instance + __PointerAdjustment)); + return __ret; } + } - set + public uint SpecifiersCount + { + get { - ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*)__Instance)->isParameterPack = (byte) (value ? 1 : 0); + var __ret = __Internal.GetSpecifiersCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class TemplateParameterType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class Template : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 160)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal byte isDependent; + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::System.IntPtr parameter; + internal global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(12)] - internal uint depth; + internal global::System.IntPtr _namespace; [FieldOffset(16)] - internal uint index; + internal global::CppSharp.Parser.SourceLocation.__Internal location; [FieldOffset(20)] - internal byte isParameterPack; + internal int lineNumberStart; + + [FieldOffset(24)] + internal int lineNumberEnd; + + [FieldOffset(28)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(52)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(76)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(100)] + internal byte isIncomplete; + + [FieldOffset(101)] + internal byte isDependent; + + [FieldOffset(102)] + internal byte isImplicit; + + [FieldOffset(103)] + internal byte isInvalid; + + [FieldOffset(104)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(108)] + internal uint definitionOrder; + + [FieldOffset(112)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(124)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(136)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(140)] + internal global::System.IntPtr comment; + + [FieldOffset(144)] + internal global::System.IntPtr TemplatedDecl; + + [FieldOffset(148)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0TemplateParameterType@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0Template@AST@CppParser@CppSharp@@QAE@W4DeclarationKind@123@@Z")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0Template@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0TemplateParameterType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0Template@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1TemplateParameterType@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??1Template@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern void dtor(global::System.IntPtr instance, int delete); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getParameters@Template@AST@CppParser@CppSharp@@QAEPAVDeclaration@234@I@Z")] + internal static extern global::System.IntPtr GetParameters(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?addParameters@Template@AST@CppParser@CppSharp@@QAEXAAPAVDeclaration@234@@Z")] + internal static extern void AddParameters(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?clearParameters@Template@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearParameters(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getParametersCount@Template@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetParametersCount(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.TemplateParameterType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Template __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateParameterType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Template(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TemplateParameterType __CreateInstance(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Template __CreateInstance(global::CppSharp.Parser.AST.Template.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateParameterType(native, skipVTables); + return new global::CppSharp.Parser.AST.Template(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Template.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); - global::CppSharp.Parser.AST.TemplateParameterType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); + global::CppSharp.Parser.AST.Template.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateParameterType(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native, bool skipVTables = false) + private Template(global::CppSharp.Parser.AST.Template.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TemplateParameterType(void* native, bool skipVTables = false) + protected Template(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -10706,19 +10014,28 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TemplateParameterType() + public Template(global::CppSharp.Parser.AST.DeclarationKind kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), kind); + } + + public Template() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TemplateParameterType(global::CppSharp.Parser.AST.TemplateParameterType _0) + public Template(global::CppSharp.Parser.AST.Template _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -10731,7 +10048,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Type __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -10740,117 +10057,175 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.TypeTemplateParameter Parameter + public global::CppSharp.Parser.AST.Declaration GetParameters(uint i) + { + var __ret = __Internal.GetParameters((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Declaration __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(__ret); + return __result0; + } + + public void AddParameters(global::CppSharp.Parser.AST.Declaration s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddParameters((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearParameters() + { + __Internal.ClearParameters((__Instance + __PointerAdjustment)); + } + + public static implicit operator global::CppSharp.Parser.AST.Template(global::CppSharp.Parser.AST.DeclarationKind kind) + { + return new global::CppSharp.Parser.AST.Template(kind); + } + + public global::CppSharp.Parser.AST.Declaration TemplatedDecl { get { - global::CppSharp.Parser.AST.TypeTemplateParameter __result0; - if (((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TypeTemplateParameter.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter)) - __result0 = (global::CppSharp.Parser.AST.TypeTemplateParameter) global::CppSharp.Parser.AST.TypeTemplateParameter.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter]; - else __result0 = global::CppSharp.Parser.AST.TypeTemplateParameter.__CreateInstance(((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter); + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl); return __result0; } set { - ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->parameter = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.Template.__Internal*)__Instance)->TemplatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public uint Depth + public uint ParametersCount { get { - return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->depth; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->depth = value; + var __ret = __Internal.GetParametersCount((__Instance + __PointerAdjustment)); + return __ret; } } + } + + public unsafe partial class TypeAliasTemplate : global::CppSharp.Parser.AST.Template, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 160)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(12)] + internal global::System.IntPtr _namespace; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(20)] + internal int lineNumberStart; + + [FieldOffset(24)] + internal int lineNumberEnd; + + [FieldOffset(28)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(52)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(76)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(100)] + internal byte isIncomplete; + + [FieldOffset(101)] + internal byte isDependent; + + [FieldOffset(102)] + internal byte isImplicit; - public uint Index - { - get - { - return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->index; - } + [FieldOffset(103)] + internal byte isInvalid; - set - { - ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->index = value; - } - } + [FieldOffset(104)] + internal global::System.IntPtr completeDeclaration; - public bool IsParameterPack - { - get - { - return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->isParameterPack != 0; - } + [FieldOffset(108)] + internal uint definitionOrder; - set - { - ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->isParameterPack = (byte) (value ? 1 : 0); - } - } - } + [FieldOffset(112)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - public unsafe partial class TemplateParameterSubstitutionType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 20)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + [FieldOffset(124)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - [FieldOffset(4)] - internal byte isDependent; + [FieldOffset(136)] + internal global::System.IntPtr originalPtr; - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal replacement; + [FieldOffset(140)] + internal global::System.IntPtr comment; - [FieldOffset(16)] - internal global::System.IntPtr replacedParameter; + [FieldOffset(144)] + internal global::System.IntPtr TemplatedDecl; + + [FieldOffset(148)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0TemplateParameterSubstitutionType@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0TypeAliasTemplate@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0TemplateParameterSubstitutionType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0TypeAliasTemplate@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??1TypeAliasTemplate@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern void dtor(global::System.IntPtr instance, int delete); } - internal static new global::CppSharp.Parser.AST.TemplateParameterSubstitutionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TypeAliasTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateParameterSubstitutionType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TypeAliasTemplate(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TemplateParameterSubstitutionType __CreateInstance(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TypeAliasTemplate __CreateInstance(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateParameterSubstitutionType(native, skipVTables); + return new global::CppSharp.Parser.AST.TypeAliasTemplate(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); - global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); + global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateParameterSubstitutionType(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native, bool skipVTables = false) + private TypeAliasTemplate(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TemplateParameterSubstitutionType(void* native, bool skipVTables = false) + protected TypeAliasTemplate(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -10859,19 +10234,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TemplateParameterSubstitutionType() + public TypeAliasTemplate() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TemplateParameterSubstitutionType(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType _0) + public TypeAliasTemplate(global::CppSharp.Parser.AST.TypeAliasTemplate _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -10880,91 +10255,135 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType Replacement - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacement)); - } - - set - { - ((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*)__Instance)->replacement = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } - } - - public global::CppSharp.Parser.AST.TemplateParameterType ReplacedParameter + public override void Dispose(bool disposing) { - get - { - global::CppSharp.Parser.AST.TemplateParameterType __result0; - if (((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TemplateParameterType.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter)) - __result0 = (global::CppSharp.Parser.AST.TemplateParameterType) global::CppSharp.Parser.AST.TemplateParameterType.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter]; - else __result0 = global::CppSharp.Parser.AST.TemplateParameterType.__CreateInstance(((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*)__Instance)->replacedParameter = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; } } - public unsafe partial class InjectedClassNameType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class TemplateParameter : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 20)] + [StructLayout(LayoutKind.Explicit, Size = 156)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal byte isDependent; + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal injectedSpecializationType; + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(12)] + internal global::System.IntPtr _namespace; [FieldOffset(16)] - internal global::System.IntPtr _class; + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(20)] + internal int lineNumberStart; + + [FieldOffset(24)] + internal int lineNumberEnd; + + [FieldOffset(28)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(52)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(76)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(100)] + internal byte isIncomplete; + + [FieldOffset(101)] + internal byte isDependent; + + [FieldOffset(102)] + internal byte isImplicit; + + [FieldOffset(103)] + internal byte isInvalid; + + [FieldOffset(104)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(108)] + internal uint definitionOrder; + + [FieldOffset(112)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(124)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(136)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(140)] + internal global::System.IntPtr comment; + + [FieldOffset(144)] + internal uint depth; + + [FieldOffset(148)] + internal uint index; + + [FieldOffset(152)] + internal byte isParameterPack; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0InjectedClassNameType@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); + EntryPoint="??0TemplateParameter@AST@CppParser@CppSharp@@QAE@W4DeclarationKind@123@@Z")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0InjectedClassNameType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0TemplateParameter@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??1TemplateParameter@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern void dtor(global::System.IntPtr instance, int delete); } - internal static new global::CppSharp.Parser.AST.InjectedClassNameType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.InjectedClassNameType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TemplateParameter(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.InjectedClassNameType __CreateInstance(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TemplateParameter.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.InjectedClassNameType(native, skipVTables); + return new global::CppSharp.Parser.AST.TemplateParameter(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameter.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); - global::CppSharp.Parser.AST.InjectedClassNameType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); + global::CppSharp.Parser.AST.TemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private InjectedClassNameType(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native, bool skipVTables = false) + private TemplateParameter(global::CppSharp.Parser.AST.TemplateParameter.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected InjectedClassNameType(void* native, bool skipVTables = false) + protected TemplateParameter(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -10973,19 +10392,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public InjectedClassNameType() + public TemplateParameter(global::CppSharp.Parser.AST.DeclarationKind kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + __Internal.ctor((__Instance + __PointerAdjustment), kind); } - public InjectedClassNameType(global::CppSharp.Parser.AST.InjectedClassNameType _0) + public TemplateParameter(global::CppSharp.Parser.AST.TemplateParameter _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -10994,96 +10413,185 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType InjectedSpecializationType + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public static implicit operator global::CppSharp.Parser.AST.TemplateParameter(global::CppSharp.Parser.AST.DeclarationKind kind) + { + return new global::CppSharp.Parser.AST.TemplateParameter(kind); + } + + public uint Depth + { + get + { + return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->depth; + } + + set + { + ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*)__Instance)->depth = value; + } + } + + public uint Index { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->injectedSpecializationType)); + return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->index; } set { - ((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*)__Instance)->injectedSpecializationType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*)__Instance)->index = value; } } - public global::CppSharp.Parser.AST.Class Class + public bool IsParameterPack { get { - global::CppSharp.Parser.AST.Class __result0; - if (((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class)) - __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class]; - else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class); - return __result0; + return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->isParameterPack != 0; } set { - ((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*)__Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*)__Instance)->isParameterPack = (byte) (value ? 1 : 0); } } } - public unsafe partial class DependentNameType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class TemplateTemplateParameter : global::CppSharp.Parser.AST.Template, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 164)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal byte isDependent; + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifier; + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(12)] + internal global::System.IntPtr _namespace; [FieldOffset(16)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C identifier; + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(20)] + internal int lineNumberStart; + + [FieldOffset(24)] + internal int lineNumberEnd; + + [FieldOffset(28)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(52)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(76)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(100)] + internal byte isIncomplete; + + [FieldOffset(101)] + internal byte isDependent; + + [FieldOffset(102)] + internal byte isImplicit; + + [FieldOffset(103)] + internal byte isInvalid; + + [FieldOffset(104)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(108)] + internal uint definitionOrder; + + [FieldOffset(112)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(124)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(136)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(140)] + internal global::System.IntPtr comment; + + [FieldOffset(144)] + internal global::System.IntPtr TemplatedDecl; + + [FieldOffset(148)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; + + [FieldOffset(160)] + internal byte isParameterPack; + + [FieldOffset(161)] + internal byte isPackExpansion; + + [FieldOffset(162)] + internal byte isExpandedParameterPack; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0DependentNameType@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0TemplateTemplateParameter@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0DependentNameType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0TemplateTemplateParameter@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1DependentNameType@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??1TemplateTemplateParameter@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern void dtor(global::System.IntPtr instance, int delete); } - internal static new global::CppSharp.Parser.AST.DependentNameType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TemplateTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.DependentNameType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TemplateTemplateParameter(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.DependentNameType __CreateInstance(global::CppSharp.Parser.AST.DependentNameType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TemplateTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.DependentNameType(native, skipVTables); + return new global::CppSharp.Parser.AST.TemplateTemplateParameter(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.DependentNameType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); - global::CppSharp.Parser.AST.DependentNameType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); + global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private DependentNameType(global::CppSharp.Parser.AST.DependentNameType.__Internal native, bool skipVTables = false) + private TemplateTemplateParameter(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected DependentNameType(void* native, bool skipVTables = false) + protected TemplateTemplateParameter(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -11092,19 +10600,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public DependentNameType() + public TemplateTemplateParameter() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public DependentNameType(global::CppSharp.Parser.AST.DependentNameType _0) + public TemplateTemplateParameter(global::CppSharp.Parser.AST.TemplateTemplateParameter _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -11117,7 +10625,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Type __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -11126,166 +10634,164 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.QualifiedType Qualifier + public bool IsParameterPack { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentNameType.__Internal*) __Instance)->qualifier)); + return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isParameterPack != 0; } set { - ((global::CppSharp.Parser.AST.DependentNameType.__Internal*)__Instance)->qualifier = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*)__Instance)->isParameterPack = (byte) (value ? 1 : 0); } } - public string Identifier + public bool IsPackExpansion { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentNameType.__Internal*) __Instance)->identifier)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isPackExpansion != 0; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentNameType.__Internal*)__Instance)->identifier), value); + ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*)__Instance)->isPackExpansion = (byte) (value ? 1 : 0); + } + } + + public bool IsExpandedParameterPack + { + get + { + return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isExpandedParameterPack != 0; + } + + set + { + ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*)__Instance)->isExpandedParameterPack = (byte) (value ? 1 : 0); } } } - public unsafe partial class PackExpansionType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class TypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 8)] + [StructLayout(LayoutKind.Explicit, Size = 164)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal byte isDependent; + internal int maxFieldAlignment; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0PackExpansionType@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0PackExpansionType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); - } + [FieldOffset(12)] + internal global::System.IntPtr _namespace; - internal static new global::CppSharp.Parser.AST.PackExpansionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.PackExpansionType(native.ToPointer(), skipVTables); - } + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; - internal static global::CppSharp.Parser.AST.PackExpansionType __CreateInstance(global::CppSharp.Parser.AST.PackExpansionType.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.PackExpansionType(native, skipVTables); - } + [FieldOffset(20)] + internal int lineNumberStart; - private static void* __CopyValue(global::CppSharp.Parser.AST.PackExpansionType.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); - global::CppSharp.Parser.AST.PackExpansionType.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + [FieldOffset(24)] + internal int lineNumberEnd; - private PackExpansionType(global::CppSharp.Parser.AST.PackExpansionType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + [FieldOffset(28)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - protected PackExpansionType(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [FieldOffset(52)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - public PackExpansionType() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } + [FieldOffset(76)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(100)] + internal byte isIncomplete; + + [FieldOffset(101)] + internal byte isDependent; + + [FieldOffset(102)] + internal byte isImplicit; + + [FieldOffset(103)] + internal byte isInvalid; + + [FieldOffset(104)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(108)] + internal uint definitionOrder; + + [FieldOffset(112)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - public PackExpansionType(global::CppSharp.Parser.AST.PackExpansionType _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } - } + [FieldOffset(124)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - public unsafe partial class UnaryTransformType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 24)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + [FieldOffset(136)] + internal global::System.IntPtr originalPtr; - [FieldOffset(4)] - internal byte isDependent; + [FieldOffset(140)] + internal global::System.IntPtr comment; - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; + [FieldOffset(144)] + internal uint depth; - [FieldOffset(16)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal baseType; + [FieldOffset(148)] + internal uint index; + + [FieldOffset(152)] + internal byte isParameterPack; + + [FieldOffset(156)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal defaultArgument; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0UnaryTransformType@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0TypeTemplateParameter@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0UnaryTransformType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0TypeTemplateParameter@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??1TypeTemplateParameter@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern void dtor(global::System.IntPtr instance, int delete); } - internal static new global::CppSharp.Parser.AST.UnaryTransformType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TypeTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.UnaryTransformType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TypeTemplateParameter(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.UnaryTransformType __CreateInstance(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TypeTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.UnaryTransformType(native, skipVTables); + return new global::CppSharp.Parser.AST.TypeTemplateParameter(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); - global::CppSharp.Parser.AST.UnaryTransformType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); + global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private UnaryTransformType(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native, bool skipVTables = false) + private TypeTemplateParameter(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected UnaryTransformType(void* native, bool skipVTables = false) + protected TypeTemplateParameter(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -11294,19 +10800,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public UnaryTransformType() + public TypeTemplateParameter() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public UnaryTransformType(global::CppSharp.Parser.AST.UnaryTransformType _0) + public TypeTemplateParameter(global::CppSharp.Parser.AST.TypeTemplateParameter _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -11315,86 +10821,160 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType Desugared + public override void Dispose(bool disposing) { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*) __Instance)->desugared)); - } - - set - { - ((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*)__Instance)->desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.QualifiedType BaseType + public global::CppSharp.Parser.AST.QualifiedType DefaultArgument { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*) __Instance)->baseType)); + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal*) __Instance)->defaultArgument)); } set { - ((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*)__Instance)->baseType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal*)__Instance)->defaultArgument = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } } - public unsafe partial class VectorType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class NonTypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 20)] + [StructLayout(LayoutKind.Explicit, Size = 168)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal byte isDependent; + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal elementType; + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(12)] + internal global::System.IntPtr _namespace; [FieldOffset(16)] - internal uint numElements; + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(20)] + internal int lineNumberStart; + + [FieldOffset(24)] + internal int lineNumberEnd; + + [FieldOffset(28)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(52)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(76)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(100)] + internal byte isIncomplete; + + [FieldOffset(101)] + internal byte isDependent; + + [FieldOffset(102)] + internal byte isImplicit; + + [FieldOffset(103)] + internal byte isInvalid; + + [FieldOffset(104)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(108)] + internal uint definitionOrder; + + [FieldOffset(112)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(124)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(136)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(140)] + internal global::System.IntPtr comment; + + [FieldOffset(144)] + internal uint depth; + + [FieldOffset(148)] + internal uint index; + + [FieldOffset(152)] + internal byte isParameterPack; + + [FieldOffset(156)] + internal global::System.IntPtr defaultArgument; + + [FieldOffset(160)] + internal uint position; + + [FieldOffset(164)] + internal byte isPackExpansion; + + [FieldOffset(165)] + internal byte isExpandedParameterPack; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0VectorType@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0NonTypeTemplateParameter@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0VectorType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0NonTypeTemplateParameter@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??1NonTypeTemplateParameter@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern void dtor(global::System.IntPtr instance, int delete); } - internal static new global::CppSharp.Parser.AST.VectorType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.NonTypeTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VectorType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.NonTypeTemplateParameter(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.VectorType __CreateInstance(global::CppSharp.Parser.AST.VectorType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.NonTypeTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VectorType(native, skipVTables); + return new global::CppSharp.Parser.AST.NonTypeTemplateParameter(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.VectorType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); - global::CppSharp.Parser.AST.VectorType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); + global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private VectorType(global::CppSharp.Parser.AST.VectorType.__Internal native, bool skipVTables = false) + private NonTypeTemplateParameter(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected VectorType(void* native, bool skipVTables = false) + protected NonTypeTemplateParameter(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -11403,50 +10983,94 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public VectorType() + public NonTypeTemplateParameter() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public VectorType(global::CppSharp.Parser.AST.VectorType _0) + public NonTypeTemplateParameter(global::CppSharp.Parser.AST.NonTypeTemplateParameter _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Expression DefaultArgument + { + get + { + global::CppSharp.Parser.AST.Expression __result0; + if (((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument)) + __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument]; + else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->defaultArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public uint Position + { + get + { + return ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->position; + } + + set + { + ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->position = value; + } } - public global::CppSharp.Parser.AST.QualifiedType ElementType + public bool IsPackExpansion { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VectorType.__Internal*) __Instance)->elementType)); + return ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->isPackExpansion != 0; } set { - ((global::CppSharp.Parser.AST.VectorType.__Internal*)__Instance)->elementType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->isPackExpansion = (byte) (value ? 1 : 0); } } - public uint NumElements + public bool IsExpandedParameterPack { get { - return ((global::CppSharp.Parser.AST.VectorType.__Internal*) __Instance)->numElements; + return ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->isExpandedParameterPack != 0; } set { - ((global::CppSharp.Parser.AST.VectorType.__Internal*)__Instance)->numElements = value; + ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->isExpandedParameterPack = (byte) (value ? 1 : 0); } } } @@ -12240,115 +11864,354 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + } + + public unsafe partial class FunctionTemplate : global::CppSharp.Parser.AST.Template, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 172)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(12)] + internal global::System.IntPtr _namespace; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(20)] + internal int lineNumberStart; + + [FieldOffset(24)] + internal int lineNumberEnd; + + [FieldOffset(28)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(52)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(76)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(100)] + internal byte isIncomplete; + + [FieldOffset(101)] + internal byte isDependent; + + [FieldOffset(102)] + internal byte isImplicit; + + [FieldOffset(103)] + internal byte isInvalid; + + [FieldOffset(104)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(108)] + internal uint definitionOrder; + + [FieldOffset(112)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(124)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(136)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(140)] + internal global::System.IntPtr comment; + + [FieldOffset(144)] + internal global::System.IntPtr TemplatedDecl; + + [FieldOffset(148)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_FunctionTemplateSpecialization___N_std_S_allocator__S0_ Specializations; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0FunctionTemplate@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0FunctionTemplate@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??1FunctionTemplate@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern void dtor(global::System.IntPtr instance, int delete); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getSpecializations@FunctionTemplate@AST@CppParser@CppSharp@@QAEPAVFunctionTemplateSpecialization@234@I@Z")] + internal static extern global::System.IntPtr GetSpecializations(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?addSpecializations@FunctionTemplate@AST@CppParser@CppSharp@@QAEXAAPAVFunctionTemplateSpecialization@234@@Z")] + internal static extern void AddSpecializations(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?clearSpecializations@FunctionTemplate@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearSpecializations(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?FindSpecialization@FunctionTemplate@AST@CppParser@CppSharp@@QAEPAVFunctionTemplateSpecialization@234@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z")] + internal static extern global::System.IntPtr FindSpecialization(global::System.IntPtr instance, global::System.IntPtr usr); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getSpecializationsCount@FunctionTemplate@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetSpecializationsCount(global::System.IntPtr instance); + } + + internal static new global::CppSharp.Parser.AST.FunctionTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.FunctionTemplate(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.FunctionTemplate __CreateInstance(global::CppSharp.Parser.AST.FunctionTemplate.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.FunctionTemplate(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionTemplate.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); + global::CppSharp.Parser.AST.FunctionTemplate.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private FunctionTemplate(global::CppSharp.Parser.AST.FunctionTemplate.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected FunctionTemplate(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public FunctionTemplate() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public FunctionTemplate(global::CppSharp.Parser.AST.FunctionTemplate _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.FunctionTemplateSpecialization GetSpecializations(uint i) + { + var __ret = __Internal.GetSpecializations((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.FunctionTemplateSpecialization __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.FunctionTemplateSpecialization) global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__CreateInstance(__ret); + return __result0; + } + + public void AddSpecializations(global::CppSharp.Parser.AST.FunctionTemplateSpecialization s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddSpecializations((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearSpecializations() + { + __Internal.ClearSpecializations((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.FunctionTemplateSpecialization FindSpecialization(string usr) + { + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, usr); + var __arg0 = __basicString0.__Instance; + var __ret = __Internal.FindSpecialization((__Instance + __PointerAdjustment), __arg0); + __basicString0.Dispose(false); + global::CppSharp.Parser.AST.FunctionTemplateSpecialization __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.FunctionTemplateSpecialization) global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__CreateInstance(__ret); + return __result0; + } + + public uint SpecializationsCount { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; + get + { + var __ret = __Internal.GetSpecializationsCount((__Instance + __PointerAdjustment)); + return __ret; + } } } - public unsafe partial class BinaryOperator : global::CppSharp.Parser.AST.Expression, IDisposable + public unsafe partial class FunctionTemplateSpecialization : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 64)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 24)] + public partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.StatementClass _class; + internal global::System.IntPtr _template; [FieldOffset(4)] - internal global::System.IntPtr decl; - - [FieldOffset(8)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; - - [FieldOffset(32)] - internal global::System.IntPtr LHS; + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; - [FieldOffset(36)] - internal global::System.IntPtr RHS; + [FieldOffset(16)] + internal global::System.IntPtr specializedFunction; - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C opcodeStr; + [FieldOffset(20)] + internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0BinaryOperator@AST@CppParser@CppSharp@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVExpression@123@10@Z")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr instance, global::System.IntPtr str, global::System.IntPtr lhs, global::System.IntPtr rhs, global::System.IntPtr opcodeStr); + EntryPoint="??0FunctionTemplateSpecialization@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0BinaryOperator@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0FunctionTemplateSpecialization@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1BinaryOperator@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??1FunctionTemplateSpecialization@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern void dtor(global::System.IntPtr instance, int delete); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getArguments@FunctionTemplateSpecialization@AST@CppParser@CppSharp@@QAE?AUTemplateArgument@234@I@Z")] + internal static extern void GetArguments(global::System.IntPtr instance, global::System.IntPtr @return, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?addArguments@FunctionTemplateSpecialization@AST@CppParser@CppSharp@@QAEXAAUTemplateArgument@234@@Z")] + internal static extern void AddArguments(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?clearArguments@FunctionTemplateSpecialization@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearArguments(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getArgumentsCount@FunctionTemplateSpecialization@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetArgumentsCount(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.BinaryOperator __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.FunctionTemplateSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.BinaryOperator(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.FunctionTemplateSpecialization(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.BinaryOperator __CreateInstance(global::CppSharp.Parser.AST.BinaryOperator.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.FunctionTemplateSpecialization __CreateInstance(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.BinaryOperator(native, skipVTables); + return new global::CppSharp.Parser.AST.FunctionTemplateSpecialization(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.BinaryOperator.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); - global::CppSharp.Parser.AST.BinaryOperator.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); + global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private BinaryOperator(global::CppSharp.Parser.AST.BinaryOperator.__Internal native, bool skipVTables = false) + private FunctionTemplateSpecialization(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected BinaryOperator(void* native, bool skipVTables = false) - : base((void*) null) + protected FunctionTemplateSpecialization(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public BinaryOperator(string str, global::CppSharp.Parser.AST.Expression lhs, global::CppSharp.Parser.AST.Expression rhs, string opcodeStr) - : this((void*) null) + public FunctionTemplateSpecialization() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, str); - var __arg0 = __basicString0.__Instance; - var __arg1 = ReferenceEquals(lhs, null) ? global::System.IntPtr.Zero : lhs.__Instance; - var __arg2 = ReferenceEquals(rhs, null) ? global::System.IntPtr.Zero : rhs.__Instance; - var __basicString3 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString3, opcodeStr); - var __arg3 = __basicString3.__Instance; - __Internal.ctor((__Instance + __PointerAdjustment), __arg0, __arg1, __arg2, __arg3); - __basicString0.Dispose(false); - __basicString3.Dispose(false); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public BinaryOperator(global::CppSharp.Parser.AST.BinaryOperator _0) - : this((void*) null) + public FunctionTemplateSpecialization(global::CppSharp.Parser.AST.FunctionTemplateSpecialization _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -12357,11 +12220,16 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Statement __dummy; + global::CppSharp.Parser.AST.FunctionTemplateSpecialization __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -12370,137 +12238,230 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.Expression LHS + public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) + { + var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); + __Internal.GetArguments((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); + return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); + } + + public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearArguments() + { + __Internal.ClearArguments((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.FunctionTemplate Template { get { - global::CppSharp.Parser.AST.Expression __result0; - if (((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->LHS == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->LHS)) - __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->LHS]; - else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->LHS); + global::CppSharp.Parser.AST.FunctionTemplate __result0; + if (((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.FunctionTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template)) + __result0 = (global::CppSharp.Parser.AST.FunctionTemplate) global::CppSharp.Parser.AST.FunctionTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template]; + else __result0 = global::CppSharp.Parser.AST.FunctionTemplate.__CreateInstance(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template); return __result0; } set { - ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->LHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*)__Instance)->_template = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Function SpecializedFunction + { + get + { + global::CppSharp.Parser.AST.Function __result0; + if (((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction)) + __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction]; + else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*)__Instance)->specializedFunction = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind + { + get + { + return ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializationKind; + } + + set + { + ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*)__Instance)->specializationKind = value; + } + } + + public uint ArgumentsCount + { + get + { + var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); + return __ret; } } + } + + public unsafe partial class VarTemplate : global::CppSharp.Parser.AST.Template, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 172)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(12)] + internal global::System.IntPtr _namespace; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(20)] + internal int lineNumberStart; + + [FieldOffset(24)] + internal int lineNumberEnd; + + [FieldOffset(28)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(52)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(76)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(100)] + internal byte isIncomplete; + + [FieldOffset(101)] + internal byte isDependent; + + [FieldOffset(102)] + internal byte isImplicit; + + [FieldOffset(103)] + internal byte isInvalid; - public global::CppSharp.Parser.AST.Expression RHS - { - get - { - global::CppSharp.Parser.AST.Expression __result0; - if (((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->RHS == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->RHS)) - __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->RHS]; - else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->RHS); - return __result0; - } + [FieldOffset(104)] + internal global::System.IntPtr completeDeclaration; - set - { - ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->RHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } + [FieldOffset(108)] + internal uint definitionOrder; - public string OpcodeStr - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->opcodeStr)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + [FieldOffset(112)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->opcodeStr), value); - } - } - } + [FieldOffset(124)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - public unsafe partial class CallExpr : global::CppSharp.Parser.AST.Expression, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 44)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.StatementClass _class; + [FieldOffset(136)] + internal global::System.IntPtr originalPtr; - [FieldOffset(4)] - internal global::System.IntPtr decl; + [FieldOffset(140)] + internal global::System.IntPtr comment; - [FieldOffset(8)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; + [FieldOffset(144)] + internal global::System.IntPtr TemplatedDecl; - [FieldOffset(32)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expression___N_std_S_allocator__S0_ Arguments; + [FieldOffset(148)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_VarTemplateSpecialization___N_std_S_allocator__S0_ Specializations; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0CallExpr@AST@CppParser@CppSharp@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVDeclaration@123@@Z")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr instance, global::System.IntPtr str, global::System.IntPtr decl); + EntryPoint="??0VarTemplate@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0CallExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0VarTemplate@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1CallExpr@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??1VarTemplate@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern void dtor(global::System.IntPtr instance, int delete); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getArguments@CallExpr@AST@CppParser@CppSharp@@QAEPAVExpression@234@I@Z")] - internal static extern global::System.IntPtr GetArguments(global::System.IntPtr instance, uint i); + EntryPoint="?getSpecializations@VarTemplate@AST@CppParser@CppSharp@@QAEPAVVarTemplateSpecialization@234@I@Z")] + internal static extern global::System.IntPtr GetSpecializations(global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?addArguments@CallExpr@AST@CppParser@CppSharp@@QAEXAAPAVExpression@234@@Z")] - internal static extern void AddArguments(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="?addSpecializations@VarTemplate@AST@CppParser@CppSharp@@QAEXAAPAVVarTemplateSpecialization@234@@Z")] + internal static extern void AddSpecializations(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearArguments@CallExpr@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearArguments(global::System.IntPtr instance); + EntryPoint="?clearSpecializations@VarTemplate@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearSpecializations(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getArgumentsCount@CallExpr@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetArgumentsCount(global::System.IntPtr instance); + EntryPoint="?FindSpecialization@VarTemplate@AST@CppParser@CppSharp@@QAEPAVVarTemplateSpecialization@234@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z")] + internal static extern global::System.IntPtr FindSpecialization(global::System.IntPtr instance, global::System.IntPtr usr); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?FindPartialSpecialization@VarTemplate@AST@CppParser@CppSharp@@QAEPAVVarTemplatePartialSpecialization@234@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z")] + internal static extern global::System.IntPtr FindPartialSpecialization(global::System.IntPtr instance, global::System.IntPtr usr); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getSpecializationsCount@VarTemplate@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetSpecializationsCount(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.CallExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.VarTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.CallExpr(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.VarTemplate(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.CallExpr __CreateInstance(global::CppSharp.Parser.AST.CallExpr.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.VarTemplate __CreateInstance(global::CppSharp.Parser.AST.VarTemplate.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.CallExpr(native, skipVTables); + return new global::CppSharp.Parser.AST.VarTemplate(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.CallExpr.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VarTemplate.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); - global::CppSharp.Parser.AST.CallExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); + global::CppSharp.Parser.AST.VarTemplate.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private CallExpr(global::CppSharp.Parser.AST.CallExpr.__Internal native, bool skipVTables = false) + private VarTemplate(global::CppSharp.Parser.AST.VarTemplate.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected CallExpr(void* native, bool skipVTables = false) + protected VarTemplate(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -12509,24 +12470,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public CallExpr(string str, global::CppSharp.Parser.AST.Declaration decl) + public VarTemplate() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, str); - var __arg0 = __basicString0.__Instance; - var __arg1 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; - __Internal.ctor((__Instance + __PointerAdjustment), __arg0, __arg1); - __basicString0.Dispose(false); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public CallExpr(global::CppSharp.Parser.AST.CallExpr _0) + public VarTemplate(global::CppSharp.Parser.AST.VarTemplate _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -12539,7 +12495,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Statement __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -12548,118 +12504,211 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.Expression GetArguments(uint i) + public global::CppSharp.Parser.AST.VarTemplateSpecialization GetSpecializations(uint i) { - var __ret = __Internal.GetArguments((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Expression __result0; + var __ret = __Internal.GetSpecializations((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.VarTemplateSpecialization __result0; if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(__ret); + else if (global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.VarTemplateSpecialization) global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.VarTemplateSpecialization.__CreateInstance(__ret); + return __result0; + } + + public void AddSpecializations(global::CppSharp.Parser.AST.VarTemplateSpecialization s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddSpecializations((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearSpecializations() + { + __Internal.ClearSpecializations((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.VarTemplateSpecialization FindSpecialization(string usr) + { + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, usr); + var __arg0 = __basicString0.__Instance; + var __ret = __Internal.FindSpecialization((__Instance + __PointerAdjustment), __arg0); + __basicString0.Dispose(false); + global::CppSharp.Parser.AST.VarTemplateSpecialization __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.VarTemplateSpecialization) global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.VarTemplateSpecialization.__CreateInstance(__ret); + return __result0; + } + + public global::CppSharp.Parser.AST.VarTemplatePartialSpecialization FindPartialSpecialization(string usr) + { + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, usr); + var __arg0 = __basicString0.__Instance; + var __ret = __Internal.FindPartialSpecialization((__Instance + __PointerAdjustment), __arg0); + __basicString0.Dispose(false); + global::CppSharp.Parser.AST.VarTemplatePartialSpecialization __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.VarTemplatePartialSpecialization) global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__CreateInstance(__ret); return __result0; } - public void AddArguments(global::CppSharp.Parser.AST.Expression s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); - } + public uint SpecializationsCount + { + get + { + var __ret = __Internal.GetSpecializationsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } + + public unsafe partial class VarTemplateSpecialization : global::CppSharp.Parser.AST.Variable, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 196)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(12)] + internal global::System.IntPtr _namespace; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(20)] + internal int lineNumberStart; + + [FieldOffset(24)] + internal int lineNumberEnd; + + [FieldOffset(28)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(52)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(76)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(100)] + internal byte isIncomplete; + + [FieldOffset(101)] + internal byte isDependent; + + [FieldOffset(102)] + internal byte isImplicit; + + [FieldOffset(103)] + internal byte isInvalid; + + [FieldOffset(104)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(108)] + internal uint definitionOrder; + + [FieldOffset(112)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(124)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(136)] + internal global::System.IntPtr originalPtr; - public void ClearArguments() - { - __Internal.ClearArguments((__Instance + __PointerAdjustment)); - } + [FieldOffset(140)] + internal global::System.IntPtr comment; - public uint ArgumentsCount - { - get - { - var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - } + [FieldOffset(144)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C mangled; - public unsafe partial class CXXConstructExpr : global::CppSharp.Parser.AST.Expression, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 44)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.StatementClass _class; + [FieldOffset(168)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - [FieldOffset(4)] - internal global::System.IntPtr decl; + [FieldOffset(176)] + internal global::System.IntPtr templatedDecl; - [FieldOffset(8)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; + [FieldOffset(180)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; - [FieldOffset(32)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expression___N_std_S_allocator__S0_ Arguments; + [FieldOffset(192)] + internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0CXXConstructExpr@AST@CppParser@CppSharp@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVDeclaration@123@@Z")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr instance, global::System.IntPtr str, global::System.IntPtr decl); + EntryPoint="??0VarTemplateSpecialization@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0CXXConstructExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0VarTemplateSpecialization@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1CXXConstructExpr@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??1VarTemplateSpecialization@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern void dtor(global::System.IntPtr instance, int delete); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getArguments@CXXConstructExpr@AST@CppParser@CppSharp@@QAEPAVExpression@234@I@Z")] - internal static extern global::System.IntPtr GetArguments(global::System.IntPtr instance, uint i); + EntryPoint="?getArguments@VarTemplateSpecialization@AST@CppParser@CppSharp@@QAE?AUTemplateArgument@234@I@Z")] + internal static extern void GetArguments(global::System.IntPtr instance, global::System.IntPtr @return, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?addArguments@CXXConstructExpr@AST@CppParser@CppSharp@@QAEXAAPAVExpression@234@@Z")] + EntryPoint="?addArguments@VarTemplateSpecialization@AST@CppParser@CppSharp@@QAEXAAUTemplateArgument@234@@Z")] internal static extern void AddArguments(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearArguments@CXXConstructExpr@AST@CppParser@CppSharp@@QAEXXZ")] + EntryPoint="?clearArguments@VarTemplateSpecialization@AST@CppParser@CppSharp@@QAEXXZ")] internal static extern void ClearArguments(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getArgumentsCount@CXXConstructExpr@AST@CppParser@CppSharp@@QAEIXZ")] + EntryPoint="?getArgumentsCount@VarTemplateSpecialization@AST@CppParser@CppSharp@@QAEIXZ")] internal static extern uint GetArgumentsCount(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.CXXConstructExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.VarTemplateSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.CXXConstructExpr(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.VarTemplateSpecialization(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.CXXConstructExpr __CreateInstance(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.VarTemplateSpecialization __CreateInstance(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.CXXConstructExpr(native, skipVTables); + return new global::CppSharp.Parser.AST.VarTemplateSpecialization(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); - global::CppSharp.Parser.AST.CXXConstructExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal)); + global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private CXXConstructExpr(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native, bool skipVTables = false) + private VarTemplateSpecialization(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected CXXConstructExpr(void* native, bool skipVTables = false) + protected VarTemplateSpecialization(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -12668,24 +12717,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public CXXConstructExpr(string str, global::CppSharp.Parser.AST.Declaration decl) + public VarTemplateSpecialization() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, str); - var __arg0 = __basicString0.__Instance; - var __arg1 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; - __Internal.ctor((__Instance + __PointerAdjustment), __arg0, __arg1); - __basicString0.Dispose(false); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public CXXConstructExpr(global::CppSharp.Parser.AST.CXXConstructExpr _0) + public VarTemplateSpecialization(global::CppSharp.Parser.AST.VarTemplateSpecialization _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -12698,7 +12742,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Statement __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -12707,18 +12751,14 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.Expression GetArguments(uint i) + public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) { - var __ret = __Internal.GetArguments((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Expression __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(__ret); - return __result0; + var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); + __Internal.GetArguments((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); + return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); } - public void AddArguments(global::CppSharp.Parser.AST.Expression s) + public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); @@ -12731,6 +12771,37 @@ namespace CppSharp __Internal.ClearArguments((__Instance + __PointerAdjustment)); } + public global::CppSharp.Parser.AST.VarTemplate TemplatedDecl + { + get + { + global::CppSharp.Parser.AST.VarTemplate __result0; + if (((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.VarTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl)) + __result0 = (global::CppSharp.Parser.AST.VarTemplate) global::CppSharp.Parser.AST.VarTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl]; + else __result0 = global::CppSharp.Parser.AST.VarTemplate.__CreateInstance(((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*)__Instance)->templatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind + { + get + { + return ((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->specializationKind; + } + + set + { + ((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*)__Instance)->specializationKind = value; + } + } + public uint ArgumentsCount { get @@ -12741,9 +12812,9 @@ namespace CppSharp } } - public unsafe partial class TemplateTemplateParameter : global::CppSharp.Parser.AST.Template, IDisposable + public unsafe partial class VarTemplatePartialSpecialization : global::CppSharp.Parser.AST.VarTemplateSpecialization, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 164)] + [StructLayout(LayoutKind.Explicit, Size = 196)] public new partial struct __Internal { [FieldOffset(0)] @@ -12807,61 +12878,61 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(144)] - internal global::System.IntPtr TemplatedDecl; + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C mangled; - [FieldOffset(148)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; + [FieldOffset(168)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - [FieldOffset(160)] - internal byte isParameterPack; + [FieldOffset(176)] + internal global::System.IntPtr templatedDecl; - [FieldOffset(161)] - internal byte isPackExpansion; + [FieldOffset(180)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; - [FieldOffset(162)] - internal byte isExpandedParameterPack; + [FieldOffset(192)] + internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0TemplateTemplateParameter@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0VarTemplatePartialSpecialization@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0TemplateTemplateParameter@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0VarTemplatePartialSpecialization@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1TemplateTemplateParameter@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??1VarTemplatePartialSpecialization@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern void dtor(global::System.IntPtr instance, int delete); } - internal static new global::CppSharp.Parser.AST.TemplateTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.VarTemplatePartialSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateTemplateParameter(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.VarTemplatePartialSpecialization(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TemplateTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.VarTemplatePartialSpecialization __CreateInstance(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateTemplateParameter(native, skipVTables); + return new global::CppSharp.Parser.AST.VarTemplatePartialSpecialization(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); - global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal)); + global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateTemplateParameter(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native, bool skipVTables = false) + private VarTemplatePartialSpecialization(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TemplateTemplateParameter(void* native, bool skipVTables = false) + protected VarTemplatePartialSpecialization(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -12870,19 +12941,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TemplateTemplateParameter() + public VarTemplatePartialSpecialization() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TemplateTemplateParameter(global::CppSharp.Parser.AST.TemplateTemplateParameter _0) + public VarTemplatePartialSpecialization(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -12903,50 +12974,11 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - - public bool IsParameterPack - { - get - { - return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isParameterPack != 0; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*)__Instance)->isParameterPack = (byte) (value ? 1 : 0); - } - } - - public bool IsPackExpansion - { - get - { - return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isPackExpansion != 0; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*)__Instance)->isPackExpansion = (byte) (value ? 1 : 0); - } - } - - public bool IsExpandedParameterPack - { - get - { - return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isExpandedParameterPack != 0; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*)__Instance)->isExpandedParameterPack = (byte) (value ? 1 : 0); - } - } } - public unsafe partial class NonTypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable + public unsafe partial class Namespace : global::CppSharp.Parser.AST.DeclarationContext, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 168)] + [StructLayout(LayoutKind.Explicit, Size = 268)] public new partial struct __Internal { [FieldOffset(0)] @@ -13003,74 +13035,89 @@ namespace CppSharp [FieldOffset(124)] internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - [FieldOffset(136)] - internal global::System.IntPtr originalPtr; + [FieldOffset(136)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(140)] + internal global::System.IntPtr comment; + + [FieldOffset(144)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; + + [FieldOffset(156)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; + + [FieldOffset(168)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; - [FieldOffset(140)] - internal global::System.IntPtr comment; + [FieldOffset(180)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; - [FieldOffset(144)] - internal uint depth; + [FieldOffset(192)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; - [FieldOffset(148)] - internal uint index; + [FieldOffset(204)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; - [FieldOffset(152)] - internal byte isParameterPack; + [FieldOffset(216)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; - [FieldOffset(156)] - internal global::System.IntPtr defaultArgument; + [FieldOffset(228)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; - [FieldOffset(160)] - internal uint position; + [FieldOffset(240)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; - [FieldOffset(164)] - internal byte isPackExpansion; + [FieldOffset(252)] + internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; - [FieldOffset(165)] - internal byte isExpandedParameterPack; + [FieldOffset(260)] + internal byte isAnonymous; + + [FieldOffset(264)] + internal byte isInline; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0NonTypeTemplateParameter@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0Namespace@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0NonTypeTemplateParameter@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0Namespace@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1NonTypeTemplateParameter@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??1Namespace@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern void dtor(global::System.IntPtr instance, int delete); } - internal static new global::CppSharp.Parser.AST.NonTypeTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Namespace __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.NonTypeTemplateParameter(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Namespace(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.NonTypeTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Namespace __CreateInstance(global::CppSharp.Parser.AST.Namespace.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.NonTypeTemplateParameter(native, skipVTables); + return new global::CppSharp.Parser.AST.Namespace(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Namespace.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); - global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); + global::CppSharp.Parser.AST.Namespace.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private NonTypeTemplateParameter(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native, bool skipVTables = false) + private Namespace(global::CppSharp.Parser.AST.Namespace.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected NonTypeTemplateParameter(void* native, bool skipVTables = false) + protected Namespace(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -13079,19 +13126,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public NonTypeTemplateParameter() + public Namespace() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public NonTypeTemplateParameter(global::CppSharp.Parser.AST.NonTypeTemplateParameter _0) + public Namespace(global::CppSharp.Parser.AST.Namespace _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -13113,205 +13160,223 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.Expression DefaultArgument + public bool IsInline { get { - global::CppSharp.Parser.AST.Expression __result0; - if (((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument)) - __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument]; - else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument); - return __result0; + return ((global::CppSharp.Parser.AST.Namespace.__Internal*) __Instance)->isInline != 0; } set { - ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->defaultArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.Namespace.__Internal*)__Instance)->isInline = (byte) (value ? 1 : 0); } } + } - public uint Position + public unsafe partial class PreprocessedEntity : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 12)] + public partial struct __Internal { - get - { - return ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->position; - } + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.MacroLocation macroLocation; - set - { - ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->position = value; - } + [FieldOffset(4)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0PreprocessedEntity@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0PreprocessedEntity@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); } - public bool IsPackExpansion + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.PreprocessedEntity __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.PreprocessedEntity(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.PreprocessedEntity __CreateInstance(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.PreprocessedEntity(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); + *(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) ret = native; + return ret.ToPointer(); + } + + private PreprocessedEntity(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected PreprocessedEntity(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public PreprocessedEntity() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public PreprocessedEntity(global::CppSharp.Parser.AST.PreprocessedEntity _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) _0.__Instance); + } + + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.PreprocessedEntity __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.MacroLocation MacroLocation { get { - return ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->isPackExpansion != 0; + return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->macroLocation; } set { - ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->isPackExpansion = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*)__Instance)->macroLocation = value; } } - public bool IsExpandedParameterPack + public global::System.IntPtr OriginalPtr { get { - return ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->isExpandedParameterPack != 0; + return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->originalPtr; } set { - ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->isExpandedParameterPack = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*)__Instance)->originalPtr = (global::System.IntPtr) value; } } - } - public unsafe partial class VarTemplateSpecialization : global::CppSharp.Parser.AST.Variable, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 196)] - public new partial struct __Internal + public global::CppSharp.Parser.AST.DeclarationKind Kind { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(12)] - internal global::System.IntPtr _namespace; - - [FieldOffset(16)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(20)] - internal int lineNumberStart; - - [FieldOffset(24)] - internal int lineNumberEnd; - - [FieldOffset(28)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - - [FieldOffset(52)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - - [FieldOffset(76)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - - [FieldOffset(100)] - internal byte isIncomplete; - - [FieldOffset(101)] - internal byte isDependent; - - [FieldOffset(102)] - internal byte isImplicit; - - [FieldOffset(103)] - internal byte isInvalid; - - [FieldOffset(104)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(108)] - internal uint definitionOrder; - - [FieldOffset(112)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + get + { + return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->kind; + } - [FieldOffset(124)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + set + { + ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*)__Instance)->kind = value; + } + } + } - [FieldOffset(136)] - internal global::System.IntPtr originalPtr; + public unsafe partial class MacroDefinition : global::CppSharp.Parser.AST.PreprocessedEntity, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 68)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.MacroLocation macroLocation; - [FieldOffset(140)] - internal global::System.IntPtr comment; + [FieldOffset(4)] + internal global::System.IntPtr originalPtr; - [FieldOffset(144)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C mangled; + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; - [FieldOffset(168)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + [FieldOffset(12)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - [FieldOffset(176)] - internal global::System.IntPtr templatedDecl; + [FieldOffset(36)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C expression; - [FieldOffset(180)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; + [FieldOffset(60)] + internal int lineNumberStart; - [FieldOffset(192)] - internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; + [FieldOffset(64)] + internal int lineNumberEnd; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0VarTemplateSpecialization@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0MacroDefinition@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0VarTemplateSpecialization@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0MacroDefinition@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1VarTemplateSpecialization@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??1MacroDefinition@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern void dtor(global::System.IntPtr instance, int delete); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getArguments@VarTemplateSpecialization@AST@CppParser@CppSharp@@QAE?AUTemplateArgument@234@I@Z")] - internal static extern void GetArguments(global::System.IntPtr instance, global::System.IntPtr @return, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?addArguments@VarTemplateSpecialization@AST@CppParser@CppSharp@@QAEXAAUTemplateArgument@234@@Z")] - internal static extern void AddArguments(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearArguments@VarTemplateSpecialization@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearArguments(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getArgumentsCount@VarTemplateSpecialization@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetArgumentsCount(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.VarTemplateSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.MacroDefinition __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VarTemplateSpecialization(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.MacroDefinition(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.VarTemplateSpecialization __CreateInstance(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.MacroDefinition __CreateInstance(global::CppSharp.Parser.AST.MacroDefinition.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VarTemplateSpecialization(native, skipVTables); + return new global::CppSharp.Parser.AST.MacroDefinition(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.MacroDefinition.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal)); - global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal)); + global::CppSharp.Parser.AST.MacroDefinition.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private VarTemplateSpecialization(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal native, bool skipVTables = false) + private MacroDefinition(global::CppSharp.Parser.AST.MacroDefinition.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected VarTemplateSpecialization(void* native, bool skipVTables = false) + protected MacroDefinition(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -13320,19 +13385,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public VarTemplateSpecialization() + public MacroDefinition() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public VarTemplateSpecialization(global::CppSharp.Parser.AST.VarTemplateSpecialization _0) + public MacroDefinition(global::CppSharp.Parser.AST.MacroDefinition _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -13345,7 +13410,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.PreprocessedEntity __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -13354,212 +13419,129 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) - { - var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); - __Internal.GetArguments((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); - return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); - } - - public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) + public string Name { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); - } + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->name)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } - public void ClearArguments() - { - __Internal.ClearArguments((__Instance + __PointerAdjustment)); + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->name), value); + } } - public global::CppSharp.Parser.AST.VarTemplate TemplatedDecl + public string Expression { get { - global::CppSharp.Parser.AST.VarTemplate __result0; - if (((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.VarTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl)) - __result0 = (global::CppSharp.Parser.AST.VarTemplate) global::CppSharp.Parser.AST.VarTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl]; - else __result0 = global::CppSharp.Parser.AST.VarTemplate.__CreateInstance(((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl); - return __result0; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->expression)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*)__Instance)->templatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->expression), value); } } - public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind + public int LineNumberStart { get { - return ((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->specializationKind; + return ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->lineNumberStart; } set { - ((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*)__Instance)->specializationKind = value; + ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->lineNumberStart = value; } } - public uint ArgumentsCount + public int LineNumberEnd { get { - var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->lineNumberEnd; + } + + set + { + ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->lineNumberEnd = value; } } } - public unsafe partial class VarTemplate : global::CppSharp.Parser.AST.Template, IDisposable + public unsafe partial class MacroExpansion : global::CppSharp.Parser.AST.PreprocessedEntity, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 172)] + [StructLayout(LayoutKind.Explicit, Size = 64)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + internal global::CppSharp.Parser.AST.MacroLocation macroLocation; [FieldOffset(4)] - internal int maxFieldAlignment; + internal global::System.IntPtr originalPtr; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(12)] - internal global::System.IntPtr _namespace; - - [FieldOffset(16)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(20)] - internal int lineNumberStart; - - [FieldOffset(24)] - internal int lineNumberEnd; - - [FieldOffset(28)] internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - [FieldOffset(52)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - - [FieldOffset(76)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - - [FieldOffset(100)] - internal byte isIncomplete; - - [FieldOffset(101)] - internal byte isDependent; - - [FieldOffset(102)] - internal byte isImplicit; - - [FieldOffset(103)] - internal byte isInvalid; - - [FieldOffset(104)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(108)] - internal uint definitionOrder; - - [FieldOffset(112)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(124)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - - [FieldOffset(136)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(140)] - internal global::System.IntPtr comment; - - [FieldOffset(144)] - internal global::System.IntPtr TemplatedDecl; - - [FieldOffset(148)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; + [FieldOffset(36)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C text; - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_VarTemplateSpecialization___N_std_S_allocator__S0_ Specializations; + [FieldOffset(60)] + internal global::System.IntPtr definition; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0VarTemplate@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0MacroExpansion@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0VarTemplate@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1VarTemplate@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern void dtor(global::System.IntPtr instance, int delete); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getSpecializations@VarTemplate@AST@CppParser@CppSharp@@QAEPAVVarTemplateSpecialization@234@I@Z")] - internal static extern global::System.IntPtr GetSpecializations(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?addSpecializations@VarTemplate@AST@CppParser@CppSharp@@QAEXAAPAVVarTemplateSpecialization@234@@Z")] - internal static extern void AddSpecializations(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearSpecializations@VarTemplate@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearSpecializations(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?FindSpecialization@VarTemplate@AST@CppParser@CppSharp@@QAEPAVVarTemplateSpecialization@234@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z")] - internal static extern global::System.IntPtr FindSpecialization(global::System.IntPtr instance, global::System.IntPtr usr); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?FindPartialSpecialization@VarTemplate@AST@CppParser@CppSharp@@QAEPAVVarTemplatePartialSpecialization@234@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z")] - internal static extern global::System.IntPtr FindPartialSpecialization(global::System.IntPtr instance, global::System.IntPtr usr); + EntryPoint="??0MacroExpansion@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getSpecializationsCount@VarTemplate@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetSpecializationsCount(global::System.IntPtr instance); + EntryPoint="??1MacroExpansion@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern void dtor(global::System.IntPtr instance, int delete); } - internal static new global::CppSharp.Parser.AST.VarTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.MacroExpansion __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VarTemplate(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.MacroExpansion(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.VarTemplate __CreateInstance(global::CppSharp.Parser.AST.VarTemplate.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.MacroExpansion __CreateInstance(global::CppSharp.Parser.AST.MacroExpansion.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VarTemplate(native, skipVTables); + return new global::CppSharp.Parser.AST.MacroExpansion(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.VarTemplate.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.MacroExpansion.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); - global::CppSharp.Parser.AST.VarTemplate.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal)); + global::CppSharp.Parser.AST.MacroExpansion.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private VarTemplate(global::CppSharp.Parser.AST.VarTemplate.__Internal native, bool skipVTables = false) + private MacroExpansion(global::CppSharp.Parser.AST.MacroExpansion.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected VarTemplate(void* native, bool skipVTables = false) + protected MacroExpansion(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -13568,19 +13550,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public VarTemplate() + public MacroExpansion() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public VarTemplate(global::CppSharp.Parser.AST.VarTemplate _0) + public MacroExpansion(global::CppSharp.Parser.AST.MacroExpansion _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -13593,7 +13575,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.PreprocessedEntity __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -13602,73 +13584,60 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.VarTemplateSpecialization GetSpecializations(uint i) - { - var __ret = __Internal.GetSpecializations((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.VarTemplateSpecialization __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.VarTemplateSpecialization) global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.VarTemplateSpecialization.__CreateInstance(__ret); - return __result0; - } - - public void AddSpecializations(global::CppSharp.Parser.AST.VarTemplateSpecialization s) + public string Name { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddSpecializations((__Instance + __PointerAdjustment), __arg0); - } + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->name)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } - public void ClearSpecializations() - { - __Internal.ClearSpecializations((__Instance + __PointerAdjustment)); + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*)__Instance)->name), value); + } } - public global::CppSharp.Parser.AST.VarTemplateSpecialization FindSpecialization(string usr) + public string Text { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, usr); - var __arg0 = __basicString0.__Instance; - var __ret = __Internal.FindSpecialization((__Instance + __PointerAdjustment), __arg0); - __basicString0.Dispose(false); - global::CppSharp.Parser.AST.VarTemplateSpecialization __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.VarTemplateSpecialization) global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.VarTemplateSpecialization.__CreateInstance(__ret); - return __result0; - } + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->text)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } - public global::CppSharp.Parser.AST.VarTemplatePartialSpecialization FindPartialSpecialization(string usr) - { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, usr); - var __arg0 = __basicString0.__Instance; - var __ret = __Internal.FindPartialSpecialization((__Instance + __PointerAdjustment), __arg0); - __basicString0.Dispose(false); - global::CppSharp.Parser.AST.VarTemplatePartialSpecialization __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.VarTemplatePartialSpecialization) global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__CreateInstance(__ret); - return __result0; + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*)__Instance)->text), value); + } } - public uint SpecializationsCount + public global::CppSharp.Parser.AST.MacroDefinition Definition { get { - var __ret = __Internal.GetSpecializationsCount((__Instance + __PointerAdjustment)); - return __ret; + global::CppSharp.Parser.AST.MacroDefinition __result0; + if (((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition)) + __result0 = (global::CppSharp.Parser.AST.MacroDefinition) global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap[((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition]; + else __result0 = global::CppSharp.Parser.AST.MacroDefinition.__CreateInstance(((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.MacroExpansion.__Internal*)__Instance)->definition = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } - public unsafe partial class VarTemplatePartialSpecialization : global::CppSharp.Parser.AST.VarTemplateSpecialization, IDisposable + public unsafe partial class TranslationUnit : global::CppSharp.Parser.AST.Namespace, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 196)] + [StructLayout(LayoutKind.Explicit, Size = 308)] public new partial struct __Internal { [FieldOffset(0)] @@ -13732,171 +13701,111 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(144)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C mangled; + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; - [FieldOffset(168)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + [FieldOffset(156)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; - [FieldOffset(176)] - internal global::System.IntPtr templatedDecl; + [FieldOffset(168)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; [FieldOffset(180)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; [FieldOffset(192)] - internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0VarTemplatePartialSpecialization@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0VarTemplatePartialSpecialization@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1VarTemplatePartialSpecialization@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern void dtor(global::System.IntPtr instance, int delete); - } - - internal static new global::CppSharp.Parser.AST.VarTemplatePartialSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.VarTemplatePartialSpecialization(native.ToPointer(), skipVTables); - } + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; - internal static global::CppSharp.Parser.AST.VarTemplatePartialSpecialization __CreateInstance(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.VarTemplatePartialSpecialization(native, skipVTables); - } + [FieldOffset(204)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; - private static void* __CopyValue(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal)); - global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + [FieldOffset(216)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; - private VarTemplatePartialSpecialization(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + [FieldOffset(228)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; - protected VarTemplatePartialSpecialization(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [FieldOffset(240)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; - public VarTemplatePartialSpecialization() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } + [FieldOffset(252)] + internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; - public VarTemplatePartialSpecialization(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(260)] + internal byte isAnonymous; - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - } + [FieldOffset(264)] + internal byte isInline; - public unsafe partial class MacroDefinition : global::CppSharp.Parser.AST.PreprocessedEntity, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 68)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.MacroLocation macroLocation; + [FieldOffset(268)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C fileName; - [FieldOffset(4)] - internal global::System.IntPtr originalPtr; + [FieldOffset(292)] + internal byte isSystemHeader; - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + [FieldOffset(296)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_MacroDefinition___N_std_S_allocator__S0_ Macros; - [FieldOffset(12)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0TranslationUnit@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); - [FieldOffset(36)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C expression; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0TranslationUnit@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); - [FieldOffset(60)] - internal int lineNumberStart; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??1TranslationUnit@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern void dtor(global::System.IntPtr instance, int delete); - [FieldOffset(64)] - internal int lineNumberEnd; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getMacros@TranslationUnit@AST@CppParser@CppSharp@@QAEPAVMacroDefinition@234@I@Z")] + internal static extern global::System.IntPtr GetMacros(global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0MacroDefinition@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); + EntryPoint="?addMacros@TranslationUnit@AST@CppParser@CppSharp@@QAEXAAPAVMacroDefinition@234@@Z")] + internal static extern void AddMacros(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0MacroDefinition@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="?clearMacros@TranslationUnit@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearMacros(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1MacroDefinition@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern void dtor(global::System.IntPtr instance, int delete); + EntryPoint="?getMacrosCount@TranslationUnit@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetMacrosCount(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.MacroDefinition __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TranslationUnit __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.MacroDefinition(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TranslationUnit(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.MacroDefinition __CreateInstance(global::CppSharp.Parser.AST.MacroDefinition.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TranslationUnit __CreateInstance(global::CppSharp.Parser.AST.TranslationUnit.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.MacroDefinition(native, skipVTables); + return new global::CppSharp.Parser.AST.TranslationUnit(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.MacroDefinition.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TranslationUnit.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal)); - global::CppSharp.Parser.AST.MacroDefinition.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal)); + global::CppSharp.Parser.AST.TranslationUnit.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private MacroDefinition(global::CppSharp.Parser.AST.MacroDefinition.__Internal native, bool skipVTables = false) + private TranslationUnit(global::CppSharp.Parser.AST.TranslationUnit.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected MacroDefinition(void* native, bool skipVTables = false) + protected TranslationUnit(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -13905,19 +13814,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public MacroDefinition() + public TranslationUnit() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public MacroDefinition(global::CppSharp.Parser.AST.MacroDefinition _0) + public TranslationUnit(global::CppSharp.Parser.AST.TranslationUnit _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -13930,7 +13839,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.PreprocessedEntity __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -13939,27 +13848,35 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public string Name + public global::CppSharp.Parser.AST.MacroDefinition GetMacros(uint i) { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->name)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + var __ret = __Internal.GetMacros((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.MacroDefinition __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.MacroDefinition) global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.MacroDefinition.__CreateInstance(__ret); + return __result0; + } - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->name), value); - } + public void AddMacros(global::CppSharp.Parser.AST.MacroDefinition s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddMacros((__Instance + __PointerAdjustment), __arg0); } - public string Expression + public void ClearMacros() + { + __Internal.ClearMacros((__Instance + __PointerAdjustment)); + } + + public string FileName { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->expression)); + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TranslationUnit.__Internal*) __Instance)->fileName)); var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); __basicStringRet0.Dispose(false); return __stringRet0; @@ -13967,122 +13884,156 @@ namespace CppSharp set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->expression), value); + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TranslationUnit.__Internal*)__Instance)->fileName), value); } } - public int LineNumberStart + public bool IsSystemHeader { get { - return ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->lineNumberStart; + return ((global::CppSharp.Parser.AST.TranslationUnit.__Internal*) __Instance)->isSystemHeader != 0; } set { - ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->lineNumberStart = value; + ((global::CppSharp.Parser.AST.TranslationUnit.__Internal*)__Instance)->isSystemHeader = (byte) (value ? 1 : 0); } } - public int LineNumberEnd + public uint MacrosCount { get { - return ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->lineNumberEnd; - } - - set - { - ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->lineNumberEnd = value; + var __ret = __Internal.GetMacrosCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class MacroExpansion : global::CppSharp.Parser.AST.PreprocessedEntity, IDisposable + public unsafe partial class NativeLibrary : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 64)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 52)] + public partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.MacroLocation macroLocation; - - [FieldOffset(4)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C fileName; - [FieldOffset(12)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.ArchType archType; - [FieldOffset(36)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C text; + [FieldOffset(28)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C___N_std_S_allocator__S0_ Symbols; - [FieldOffset(60)] - internal global::System.IntPtr definition; + [FieldOffset(40)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C___N_std_S_allocator__S0_ Dependencies; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0MacroExpansion@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0NativeLibrary@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0MacroExpansion@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0NativeLibrary@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1MacroExpansion@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??1NativeLibrary@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern void dtor(global::System.IntPtr instance, int delete); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getSymbols@NativeLibrary@AST@CppParser@CppSharp@@QAEPBDI@Z")] + internal static extern global::System.IntPtr GetSymbols(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?addSymbols@NativeLibrary@AST@CppParser@CppSharp@@QAEXPBD@Z")] + internal static extern void AddSymbols(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?clearSymbols@NativeLibrary@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearSymbols(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getDependencies@NativeLibrary@AST@CppParser@CppSharp@@QAEPBDI@Z")] + internal static extern global::System.IntPtr GetDependencies(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?addDependencies@NativeLibrary@AST@CppParser@CppSharp@@QAEXPBD@Z")] + internal static extern void AddDependencies(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?clearDependencies@NativeLibrary@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearDependencies(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getSymbolsCount@NativeLibrary@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetSymbolsCount(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getDependenciesCount@NativeLibrary@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetDependenciesCount(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.MacroExpansion __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.NativeLibrary __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.MacroExpansion(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.NativeLibrary(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.MacroExpansion __CreateInstance(global::CppSharp.Parser.AST.MacroExpansion.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.NativeLibrary __CreateInstance(global::CppSharp.Parser.AST.NativeLibrary.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.MacroExpansion(native, skipVTables); + return new global::CppSharp.Parser.AST.NativeLibrary(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.MacroExpansion.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.NativeLibrary.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal)); - global::CppSharp.Parser.AST.MacroExpansion.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NativeLibrary.__Internal)); + global::CppSharp.Parser.AST.NativeLibrary.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private MacroExpansion(global::CppSharp.Parser.AST.MacroExpansion.__Internal native, bool skipVTables = false) + private NativeLibrary(global::CppSharp.Parser.AST.NativeLibrary.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected MacroExpansion(void* native, bool skipVTables = false) - : base((void*) null) + protected NativeLibrary(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public MacroExpansion() - : this((void*) null) + public NativeLibrary() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NativeLibrary.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public MacroExpansion(global::CppSharp.Parser.AST.MacroExpansion _0) - : this((void*) null) + public NativeLibrary(global::CppSharp.Parser.AST.NativeLibrary _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NativeLibrary.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -14091,24 +14042,61 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.NativeLibrary __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public string GetSymbols(uint i) + { + var __ret = __Internal.GetSymbols((__Instance + __PointerAdjustment), i); + return Marshal.PtrToStringAnsi(__ret); + } + + public void AddSymbols(string s) + { + __Internal.AddSymbols((__Instance + __PointerAdjustment), s); + } + + public void ClearSymbols() + { + __Internal.ClearSymbols((__Instance + __PointerAdjustment)); + } + + public string GetDependencies(uint i) + { + var __ret = __Internal.GetDependencies((__Instance + __PointerAdjustment), i); + return Marshal.PtrToStringAnsi(__ret); + } + + public void AddDependencies(string s) { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.PreprocessedEntity __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; + __Internal.AddDependencies((__Instance + __PointerAdjustment), s); } - public string Name + public void ClearDependencies() + { + __Internal.ClearDependencies((__Instance + __PointerAdjustment)); + } + + public string FileName { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->name)); + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.NativeLibrary.__Internal*) __Instance)->fileName)); var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); __basicStringRet0.Dispose(false); return __stringRet0; @@ -14116,237 +14104,141 @@ namespace CppSharp set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*)__Instance)->name), value); + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.NativeLibrary.__Internal*)__Instance)->fileName), value); } } - public string Text + public global::CppSharp.Parser.AST.ArchType ArchType { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->text)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + return ((global::CppSharp.Parser.AST.NativeLibrary.__Internal*) __Instance)->archType; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*)__Instance)->text), value); + ((global::CppSharp.Parser.AST.NativeLibrary.__Internal*)__Instance)->archType = value; } } - public global::CppSharp.Parser.AST.MacroDefinition Definition + public uint SymbolsCount { get { - global::CppSharp.Parser.AST.MacroDefinition __result0; - if (((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition)) - __result0 = (global::CppSharp.Parser.AST.MacroDefinition) global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap[((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition]; - else __result0 = global::CppSharp.Parser.AST.MacroDefinition.__CreateInstance(((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition); - return __result0; + var __ret = __Internal.GetSymbolsCount((__Instance + __PointerAdjustment)); + return __ret; } + } - set + public uint DependenciesCount + { + get { - ((global::CppSharp.Parser.AST.MacroExpansion.__Internal*)__Instance)->definition = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + var __ret = __Internal.GetDependenciesCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class TranslationUnit : global::CppSharp.Parser.AST.Namespace, IDisposable + public unsafe partial class ASTContext : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 308)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 12)] + public partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(12)] - internal global::System.IntPtr _namespace; - - [FieldOffset(16)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(20)] - internal int lineNumberStart; - - [FieldOffset(24)] - internal int lineNumberEnd; - - [FieldOffset(28)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - - [FieldOffset(52)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - - [FieldOffset(76)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - - [FieldOffset(100)] - internal byte isIncomplete; - - [FieldOffset(101)] - internal byte isDependent; - - [FieldOffset(102)] - internal byte isImplicit; - - [FieldOffset(103)] - internal byte isInvalid; - - [FieldOffset(104)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(108)] - internal uint definitionOrder; - - [FieldOffset(112)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(124)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - - [FieldOffset(136)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(140)] - internal global::System.IntPtr comment; - - [FieldOffset(144)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; - - [FieldOffset(156)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; - - [FieldOffset(168)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; - - [FieldOffset(180)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; - - [FieldOffset(192)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; - - [FieldOffset(204)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; - - [FieldOffset(216)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; - - [FieldOffset(228)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; - - [FieldOffset(240)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; - - [FieldOffset(252)] - internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; - - [FieldOffset(260)] - internal byte isAnonymous; - - [FieldOffset(264)] - internal byte isInline; - - [FieldOffset(268)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C fileName; - - [FieldOffset(292)] - internal byte isSystemHeader; - - [FieldOffset(296)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_MacroDefinition___N_std_S_allocator__S0_ Macros; + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TranslationUnit___N_std_S_allocator__S0_ TranslationUnits; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0TranslationUnit@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0ASTContext@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0TranslationUnit@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0ASTContext@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1TranslationUnit@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??1ASTContext@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern void dtor(global::System.IntPtr instance, int delete); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getMacros@TranslationUnit@AST@CppParser@CppSharp@@QAEPAVMacroDefinition@234@I@Z")] - internal static extern global::System.IntPtr GetMacros(global::System.IntPtr instance, uint i); + EntryPoint="?FindOrCreateModule@ASTContext@AST@CppParser@CppSharp@@QAEPAVTranslationUnit@234@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z")] + internal static extern global::System.IntPtr FindOrCreateModule(global::System.IntPtr instance, global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C File); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?addMacros@TranslationUnit@AST@CppParser@CppSharp@@QAEXAAPAVMacroDefinition@234@@Z")] - internal static extern void AddMacros(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="?getTranslationUnits@ASTContext@AST@CppParser@CppSharp@@QAEPAVTranslationUnit@234@I@Z")] + internal static extern global::System.IntPtr GetTranslationUnits(global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearMacros@TranslationUnit@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearMacros(global::System.IntPtr instance); + EntryPoint="?addTranslationUnits@ASTContext@AST@CppParser@CppSharp@@QAEXAAPAVTranslationUnit@234@@Z")] + internal static extern void AddTranslationUnits(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getMacrosCount@TranslationUnit@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetMacrosCount(global::System.IntPtr instance); + EntryPoint="?clearTranslationUnits@ASTContext@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearTranslationUnits(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getTranslationUnitsCount@ASTContext@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetTranslationUnitsCount(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.TranslationUnit __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.ASTContext __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TranslationUnit(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.ASTContext(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TranslationUnit __CreateInstance(global::CppSharp.Parser.AST.TranslationUnit.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.ASTContext __CreateInstance(global::CppSharp.Parser.AST.ASTContext.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TranslationUnit(native, skipVTables); + return new global::CppSharp.Parser.AST.ASTContext(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TranslationUnit.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.ASTContext.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal)); - global::CppSharp.Parser.AST.TranslationUnit.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal)); + global::CppSharp.Parser.AST.ASTContext.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TranslationUnit(global::CppSharp.Parser.AST.TranslationUnit.__Internal native, bool skipVTables = false) + private ASTContext(global::CppSharp.Parser.AST.ASTContext.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TranslationUnit(void* native, bool skipVTables = false) - : base((void*) null) + protected ASTContext(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public TranslationUnit() - : this((void*) null) + public ASTContext() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TranslationUnit(global::CppSharp.Parser.AST.TranslationUnit _0) - : this((void*) null) + public ASTContext(global::CppSharp.Parser.AST.ASTContext _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -14355,11 +14247,16 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.ASTContext __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -14368,198 +14265,127 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.MacroDefinition GetMacros(uint i) + public global::CppSharp.Parser.AST.TranslationUnit FindOrCreateModule(string File) { - var __ret = __Internal.GetMacros((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.MacroDefinition __result0; + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, File); + var __arg0 = *(global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C*) __basicString0.__Instance; + var __ret = __Internal.FindOrCreateModule((__Instance + __PointerAdjustment), __arg0); + __basicString0.Dispose(false); + global::CppSharp.Parser.AST.TranslationUnit __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.TranslationUnit) global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.TranslationUnit.__CreateInstance(__ret); + return __result0; + } + + public global::CppSharp.Parser.AST.TranslationUnit GetTranslationUnits(uint i) + { + var __ret = __Internal.GetTranslationUnits((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.TranslationUnit __result0; if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.MacroDefinition) global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.MacroDefinition.__CreateInstance(__ret); + else if (global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.TranslationUnit) global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.TranslationUnit.__CreateInstance(__ret); return __result0; } - public void AddMacros(global::CppSharp.Parser.AST.MacroDefinition s) + public void AddTranslationUnits(global::CppSharp.Parser.AST.TranslationUnit s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddMacros((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearMacros() - { - __Internal.ClearMacros((__Instance + __PointerAdjustment)); - } - - public string FileName - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TranslationUnit.__Internal*) __Instance)->fileName)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TranslationUnit.__Internal*)__Instance)->fileName), value); - } + __Internal.AddTranslationUnits((__Instance + __PointerAdjustment), __arg0); } - public bool IsSystemHeader + public void ClearTranslationUnits() { - get - { - return ((global::CppSharp.Parser.AST.TranslationUnit.__Internal*) __Instance)->isSystemHeader != 0; - } - - set - { - ((global::CppSharp.Parser.AST.TranslationUnit.__Internal*)__Instance)->isSystemHeader = (byte) (value ? 1 : 0); - } + __Internal.ClearTranslationUnits((__Instance + __PointerAdjustment)); } - public uint MacrosCount + public uint TranslationUnitsCount { get { - var __ret = __Internal.GetMacrosCount((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetTranslationUnitsCount((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class NativeLibrary : IDisposable + public unsafe partial class Comment : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 52)] + [StructLayout(LayoutKind.Explicit, Size = 4)] public partial struct __Internal { [FieldOffset(0)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C fileName; - - [FieldOffset(24)] - internal global::CppSharp.Parser.AST.ArchType archType; - - [FieldOffset(28)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C___N_std_S_allocator__S0_ Symbols; - - [FieldOffset(40)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C___N_std_S_allocator__S0_ Dependencies; + internal global::CppSharp.Parser.AST.CommentKind kind; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0NativeLibrary@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); + EntryPoint="??0Comment@AST@CppParser@CppSharp@@QAE@W4CommentKind@123@@Z")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr instance, global::CppSharp.Parser.AST.CommentKind kind); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0NativeLibrary@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0Comment@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1NativeLibrary@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern void dtor(global::System.IntPtr instance, int delete); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getSymbols@NativeLibrary@AST@CppParser@CppSharp@@QAEPBDI@Z")] - internal static extern global::System.IntPtr GetSymbols(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?addSymbols@NativeLibrary@AST@CppParser@CppSharp@@QAEXPBD@Z")] - internal static extern void AddSymbols(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearSymbols@NativeLibrary@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearSymbols(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getDependencies@NativeLibrary@AST@CppParser@CppSharp@@QAEPBDI@Z")] - internal static extern global::System.IntPtr GetDependencies(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?addDependencies@NativeLibrary@AST@CppParser@CppSharp@@QAEXPBD@Z")] - internal static extern void AddDependencies(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearDependencies@NativeLibrary@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearDependencies(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getSymbolsCount@NativeLibrary@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetSymbolsCount(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getDependenciesCount@NativeLibrary@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetDependenciesCount(global::System.IntPtr instance); } public global::System.IntPtr __Instance { get; protected set; } protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); protected void*[] __OriginalVTables; protected bool __ownsNativeInstance; - internal static global::CppSharp.Parser.AST.NativeLibrary __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Comment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.NativeLibrary(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Comment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.NativeLibrary __CreateInstance(global::CppSharp.Parser.AST.NativeLibrary.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Comment __CreateInstance(global::CppSharp.Parser.AST.Comment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.NativeLibrary(native, skipVTables); + return new global::CppSharp.Parser.AST.Comment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.NativeLibrary.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Comment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NativeLibrary.__Internal)); - global::CppSharp.Parser.AST.NativeLibrary.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Comment.__Internal)); + *(global::CppSharp.Parser.AST.Comment.__Internal*) ret = native; return ret.ToPointer(); } - private NativeLibrary(global::CppSharp.Parser.AST.NativeLibrary.__Internal native, bool skipVTables = false) + private Comment(global::CppSharp.Parser.AST.Comment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected NativeLibrary(void* native, bool skipVTables = false) + protected Comment(void* native, bool skipVTables = false) { if (native == null) return; __Instance = new global::System.IntPtr(native); } - public NativeLibrary() + public Comment(global::CppSharp.Parser.AST.CommentKind kind) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NativeLibrary.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Comment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + __Internal.ctor((__Instance + __PointerAdjustment), kind); } - public NativeLibrary(global::CppSharp.Parser.AST.NativeLibrary _0) + public Comment(global::CppSharp.Parser.AST.Comment _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NativeLibrary.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Comment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + *((global::CppSharp.Parser.AST.Comment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.Comment.__Internal*) _0.__Instance); } public void Dispose() @@ -14571,194 +14397,215 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.NativeLibrary __dummy; + global::CppSharp.Parser.AST.Comment __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - public string GetSymbols(uint i) + public static implicit operator global::CppSharp.Parser.AST.Comment(global::CppSharp.Parser.AST.CommentKind kind) { - var __ret = __Internal.GetSymbols((__Instance + __PointerAdjustment), i); - return Marshal.PtrToStringAnsi(__ret); + return new global::CppSharp.Parser.AST.Comment(kind); } - public void AddSymbols(string s) + public global::CppSharp.Parser.AST.CommentKind Kind { - __Internal.AddSymbols((__Instance + __PointerAdjustment), s); + get + { + return ((global::CppSharp.Parser.AST.Comment.__Internal*) __Instance)->kind; + } + + set + { + ((global::CppSharp.Parser.AST.Comment.__Internal*)__Instance)->kind = value; + } } + } - public void ClearSymbols() + public unsafe partial class BlockContentComment : global::CppSharp.Parser.AST.Comment, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 4)] + public new partial struct __Internal { - __Internal.ClearSymbols((__Instance + __PointerAdjustment)); + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.CommentKind kind; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0BlockContentComment@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0BlockContentComment@AST@CppParser@CppSharp@@QAE@W4CommentKind@123@@Z")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr instance, global::CppSharp.Parser.AST.CommentKind Kind); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0BlockContentComment@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); } - public string GetDependencies(uint i) + internal static new global::CppSharp.Parser.AST.BlockContentComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - var __ret = __Internal.GetDependencies((__Instance + __PointerAdjustment), i); - return Marshal.PtrToStringAnsi(__ret); + return new global::CppSharp.Parser.AST.BlockContentComment(native.ToPointer(), skipVTables); } - public void AddDependencies(string s) + internal static global::CppSharp.Parser.AST.BlockContentComment __CreateInstance(global::CppSharp.Parser.AST.BlockContentComment.__Internal native, bool skipVTables = false) { - __Internal.AddDependencies((__Instance + __PointerAdjustment), s); + return new global::CppSharp.Parser.AST.BlockContentComment(native, skipVTables); } - public void ClearDependencies() + private static void* __CopyValue(global::CppSharp.Parser.AST.BlockContentComment.__Internal native) { - __Internal.ClearDependencies((__Instance + __PointerAdjustment)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); + *(global::CppSharp.Parser.AST.BlockContentComment.__Internal*) ret = native; + return ret.ToPointer(); } - public string FileName + private BlockContentComment(global::CppSharp.Parser.AST.BlockContentComment.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.NativeLibrary.__Internal*) __Instance)->fileName)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.NativeLibrary.__Internal*)__Instance)->fileName), value); - } + protected BlockContentComment(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - public global::CppSharp.Parser.AST.ArchType ArchType + public BlockContentComment() + : this((void*) null) { - get - { - return ((global::CppSharp.Parser.AST.NativeLibrary.__Internal*) __Instance)->archType; - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - set - { - ((global::CppSharp.Parser.AST.NativeLibrary.__Internal*)__Instance)->archType = value; - } + public BlockContentComment(global::CppSharp.Parser.AST.CommentKind Kind) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), Kind); } - public uint SymbolsCount + public BlockContentComment(global::CppSharp.Parser.AST.BlockContentComment _0) + : this((void*) null) { - get - { - var __ret = __Internal.GetSymbolsCount((__Instance + __PointerAdjustment)); - return __ret; - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.BlockContentComment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.BlockContentComment.__Internal*) _0.__Instance); } - public uint DependenciesCount + public static implicit operator global::CppSharp.Parser.AST.BlockContentComment(global::CppSharp.Parser.AST.CommentKind Kind) { - get - { - var __ret = __Internal.GetDependenciesCount((__Instance + __PointerAdjustment)); - return __ret; - } + return new global::CppSharp.Parser.AST.BlockContentComment(Kind); } } - public unsafe partial class ASTContext : IDisposable + public unsafe partial class FullComment : global::CppSharp.Parser.AST.Comment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 12)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 16)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TranslationUnit___N_std_S_allocator__S0_ TranslationUnits; + internal global::CppSharp.Parser.AST.CommentKind kind; + + [FieldOffset(4)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BlockContentComment___N_std_S_allocator__S0_ Blocks; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0ASTContext@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0FullComment@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0ASTContext@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0FullComment@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1ASTContext@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??1FullComment@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern void dtor(global::System.IntPtr instance, int delete); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?FindOrCreateModule@ASTContext@AST@CppParser@CppSharp@@QAEPAVTranslationUnit@234@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z")] - internal static extern global::System.IntPtr FindOrCreateModule(global::System.IntPtr instance, global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C File); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getTranslationUnits@ASTContext@AST@CppParser@CppSharp@@QAEPAVTranslationUnit@234@I@Z")] - internal static extern global::System.IntPtr GetTranslationUnits(global::System.IntPtr instance, uint i); + EntryPoint="?getBlocks@FullComment@AST@CppParser@CppSharp@@QAEPAVBlockContentComment@234@I@Z")] + internal static extern global::System.IntPtr GetBlocks(global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?addTranslationUnits@ASTContext@AST@CppParser@CppSharp@@QAEXAAPAVTranslationUnit@234@@Z")] - internal static extern void AddTranslationUnits(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="?addBlocks@FullComment@AST@CppParser@CppSharp@@QAEXAAPAVBlockContentComment@234@@Z")] + internal static extern void AddBlocks(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearTranslationUnits@ASTContext@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearTranslationUnits(global::System.IntPtr instance); + EntryPoint="?clearBlocks@FullComment@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearBlocks(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getTranslationUnitsCount@ASTContext@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetTranslationUnitsCount(global::System.IntPtr instance); + EntryPoint="?getBlocksCount@FullComment@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetBlocksCount(global::System.IntPtr instance); } - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.ASTContext __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.FullComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ASTContext(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.FullComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.ASTContext __CreateInstance(global::CppSharp.Parser.AST.ASTContext.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.FullComment __CreateInstance(global::CppSharp.Parser.AST.FullComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ASTContext(native, skipVTables); + return new global::CppSharp.Parser.AST.FullComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.ASTContext.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.FullComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal)); - global::CppSharp.Parser.AST.ASTContext.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullComment.__Internal)); + global::CppSharp.Parser.AST.FullComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private ASTContext(global::CppSharp.Parser.AST.ASTContext.__Internal native, bool skipVTables = false) + private FullComment(global::CppSharp.Parser.AST.FullComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected ASTContext(void* native, bool skipVTables = false) + protected FullComment(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public ASTContext() + public FullComment() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public ASTContext(global::CppSharp.Parser.AST.ASTContext _0) + public FullComment(global::CppSharp.Parser.AST.FullComment _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -14767,16 +14614,11 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.ASTContext __dummy; + global::CppSharp.Parser.AST.Comment __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -14785,50 +14627,35 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.TranslationUnit FindOrCreateModule(string File) - { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, File); - var __arg0 = *(global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C*) __basicString0.__Instance; - var __ret = __Internal.FindOrCreateModule((__Instance + __PointerAdjustment), __arg0); - __basicString0.Dispose(false); - global::CppSharp.Parser.AST.TranslationUnit __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.TranslationUnit) global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.TranslationUnit.__CreateInstance(__ret); - return __result0; - } - - public global::CppSharp.Parser.AST.TranslationUnit GetTranslationUnits(uint i) + public global::CppSharp.Parser.AST.BlockContentComment GetBlocks(uint i) { - var __ret = __Internal.GetTranslationUnits((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.TranslationUnit __result0; + var __ret = __Internal.GetBlocks((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.BlockContentComment __result0; if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.TranslationUnit) global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.TranslationUnit.__CreateInstance(__ret); + else if (global::CppSharp.Parser.AST.BlockContentComment.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.BlockContentComment) global::CppSharp.Parser.AST.BlockContentComment.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.BlockContentComment.__CreateInstance(__ret); return __result0; } - public void AddTranslationUnits(global::CppSharp.Parser.AST.TranslationUnit s) + public void AddBlocks(global::CppSharp.Parser.AST.BlockContentComment s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddTranslationUnits((__Instance + __PointerAdjustment), __arg0); + __Internal.AddBlocks((__Instance + __PointerAdjustment), __arg0); } - public void ClearTranslationUnits() + public void ClearBlocks() { - __Internal.ClearTranslationUnits((__Instance + __PointerAdjustment)); + __Internal.ClearBlocks((__Instance + __PointerAdjustment)); } - public uint TranslationUnitsCount + public uint BlocksCount { get { - var __ret = __Internal.GetTranslationUnitsCount((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetBlocksCount((__Instance + __PointerAdjustment)); return __ret; } } @@ -16813,49 +16640,163 @@ namespace CppSharp internal byte hasTrailingNewline; [FieldOffset(8)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C tagName; + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C tagName; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0HTMLEndTagComment@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0HTMLEndTagComment@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??1HTMLEndTagComment@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern void dtor(global::System.IntPtr instance, int delete); + } + + internal static new global::CppSharp.Parser.AST.HTMLEndTagComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.HTMLEndTagComment(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.HTMLEndTagComment __CreateInstance(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.HTMLEndTagComment(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal)); + global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private HTMLEndTagComment(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected HTMLEndTagComment(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public HTMLEndTagComment() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public HTMLEndTagComment(global::CppSharp.Parser.AST.HTMLEndTagComment _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Comment __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public string TagName + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal*) __Instance)->tagName)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal*)__Instance)->tagName), value); + } + } + } + + public unsafe partial class TextComment : global::CppSharp.Parser.AST.InlineContentComment, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.CommentKind kind; + + [FieldOffset(4)] + internal byte hasTrailingNewline; + + [FieldOffset(8)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C text; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0HTMLEndTagComment@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0TextComment@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0HTMLEndTagComment@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0TextComment@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1HTMLEndTagComment@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??1TextComment@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern void dtor(global::System.IntPtr instance, int delete); } - internal static new global::CppSharp.Parser.AST.HTMLEndTagComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TextComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.HTMLEndTagComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TextComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.HTMLEndTagComment __CreateInstance(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TextComment __CreateInstance(global::CppSharp.Parser.AST.TextComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.HTMLEndTagComment(native, skipVTables); + return new global::CppSharp.Parser.AST.TextComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TextComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal)); - global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TextComment.__Internal)); + global::CppSharp.Parser.AST.TextComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private HTMLEndTagComment(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal native, bool skipVTables = false) + private TextComment(global::CppSharp.Parser.AST.TextComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected HTMLEndTagComment(void* native, bool skipVTables = false) + protected TextComment(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -16864,19 +16805,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public HTMLEndTagComment() + public TextComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TextComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public HTMLEndTagComment(global::CppSharp.Parser.AST.HTMLEndTagComment _0) + public TextComment(global::CppSharp.Parser.AST.TextComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TextComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -16898,11 +16839,11 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public string TagName + public string Text { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal*) __Instance)->tagName)); + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TextComment.__Internal*) __Instance)->text)); var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); __basicStringRet0.Dispose(false); return __stringRet0; @@ -16910,87 +16851,94 @@ namespace CppSharp set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal*)__Instance)->tagName), value); + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TextComment.__Internal*)__Instance)->text), value); } } } - public unsafe partial class TextComment : global::CppSharp.Parser.AST.InlineContentComment, IDisposable + public unsafe partial class RawComment : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 32)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 56)] + public partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + internal global::CppSharp.Parser.AST.RawCommentKind kind; [FieldOffset(4)] - internal byte hasTrailingNewline; - - [FieldOffset(8)] internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C text; + [FieldOffset(28)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C briefText; + + [FieldOffset(52)] + internal global::System.IntPtr fullCommentBlock; + [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0TextComment@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0RawComment@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0TextComment@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0RawComment@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1TextComment@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??1RawComment@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern void dtor(global::System.IntPtr instance, int delete); } - internal static new global::CppSharp.Parser.AST.TextComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.RawComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TextComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.RawComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TextComment __CreateInstance(global::CppSharp.Parser.AST.TextComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.RawComment __CreateInstance(global::CppSharp.Parser.AST.RawComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TextComment(native, skipVTables); + return new global::CppSharp.Parser.AST.RawComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TextComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.RawComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TextComment.__Internal)); - global::CppSharp.Parser.AST.TextComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); + global::CppSharp.Parser.AST.RawComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TextComment(global::CppSharp.Parser.AST.TextComment.__Internal native, bool skipVTables = false) + private RawComment(global::CppSharp.Parser.AST.RawComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TextComment(void* native, bool skipVTables = false) - : base((void*) null) + protected RawComment(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public TextComment() - : this((void*) null) + public RawComment() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TextComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TextComment(global::CppSharp.Parser.AST.TextComment _0) - : this((void*) null) + public RawComment(global::CppSharp.Parser.AST.RawComment _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TextComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -16999,11 +16947,16 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Comment __dummy; + global::CppSharp.Parser.AST.RawComment __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -17012,11 +16965,24 @@ namespace CppSharp __Instance = IntPtr.Zero; } + public global::CppSharp.Parser.AST.RawCommentKind Kind + { + get + { + return ((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->kind; + } + + set + { + ((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->kind = value; + } + } + public string Text { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TextComment.__Internal*) __Instance)->text)); + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->text)); var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); __basicStringRet0.Dispose(false); return __stringRet0; @@ -17024,7 +16990,41 @@ namespace CppSharp set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TextComment.__Internal*)__Instance)->text), value); + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->text), value); + } + } + + public string BriefText + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->briefText)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->briefText), value); + } + } + + public global::CppSharp.Parser.AST.FullComment FullCommentBlock + { + get + { + global::CppSharp.Parser.AST.FullComment __result0; + if (((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.FullComment.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock)) + __result0 = (global::CppSharp.Parser.AST.FullComment) global::CppSharp.Parser.AST.FullComment.NativeToManagedMap[((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock]; + else __result0 = global::CppSharp.Parser.AST.FullComment.__CreateInstance(((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->fullCommentBlock = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } @@ -17932,6 +17932,53 @@ namespace CppSharp User = 4 } + public unsafe partial class Parser + { + [StructLayout(LayoutKind.Explicit, Size = 0)] + public partial struct __Internal + { + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.Parser __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.Parser(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.Parser __CreateInstance(global::CppSharp.Parser.Parser.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.Parser(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.Parser.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.Parser.__Internal)); + *(global::CppSharp.Parser.Parser.__Internal*) ret = native; + return ret.ToPointer(); + } + + private Parser(global::CppSharp.Parser.Parser.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Parser(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + } + public unsafe partial class CppParserOptions : IDisposable { [StructLayout(LayoutKind.Explicit, Size = 188)] @@ -18788,53 +18835,6 @@ namespace CppSharp } } - public unsafe partial class Parser - { - [StructLayout(LayoutKind.Explicit, Size = 0)] - public partial struct __Internal - { - } - - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.Parser __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.Parser(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.Parser __CreateInstance(global::CppSharp.Parser.Parser.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.Parser(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.Parser.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.Parser.__Internal)); - *(global::CppSharp.Parser.Parser.__Internal*) ret = native; - return ret.ToPointer(); - } - - private Parser(global::CppSharp.Parser.Parser.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected Parser(void* native, bool skipVTables = false) - { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - } - public unsafe partial class ParserResult : IDisposable { [StructLayout(LayoutKind.Explicit, Size = 28)] diff --git a/src/CppParser/Bindings/CSharp/x86_64-apple-darwin12.4.0/CppSharp.CppParser.cs b/src/CppParser/Bindings/CSharp/x86_64-apple-darwin12.4.0/CppSharp.CppParser.cs index 560a2a94..252ddac1 100644 --- a/src/CppParser/Bindings/CSharp/x86_64-apple-darwin12.4.0/CppSharp.CppParser.cs +++ b/src/CppParser/Bindings/CSharp/x86_64-apple-darwin12.4.0/CppSharp.CppParser.cs @@ -681,177 +681,192 @@ namespace CppSharp } } - public unsafe partial class Declaration : IDisposable + public unsafe partial class TagType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 200)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 16)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + internal global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - internal int maxFieldAlignment; + internal byte isDependent; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; + internal global::System.IntPtr declaration; - [FieldOffset(16)] - internal global::System.IntPtr _namespace; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST7TagTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST7TagTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + } - [FieldOffset(28)] - internal int lineNumberStart; + internal static new global::CppSharp.Parser.AST.TagType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.TagType(native.ToPointer(), skipVTables); + } - [FieldOffset(32)] - internal int lineNumberEnd; + internal static global::CppSharp.Parser.AST.TagType __CreateInstance(global::CppSharp.Parser.AST.TagType.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.TagType(native, skipVTables); + } - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + private static void* __CopyValue(global::CppSharp.Parser.AST.TagType.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); + global::CppSharp.Parser.AST.TagType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(64)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + private TagType(global::CppSharp.Parser.AST.TagType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(88)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + protected TagType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(112)] - internal byte isIncomplete; + public TagType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - [FieldOffset(113)] - internal byte isDependent; + public TagType(global::CppSharp.Parser.AST.TagType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(114)] - internal byte isImplicit; + public global::CppSharp.Parser.AST.Declaration Declaration + { + get + { + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration); + return __result0; + } - [FieldOffset(115)] - internal byte isInvalid; + set + { + ((global::CppSharp.Parser.AST.TagType.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } - [FieldOffset(120)] - internal global::System.IntPtr completeDeclaration; + public unsafe partial class ArrayType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; - [FieldOffset(128)] - internal uint definitionOrder; + [FieldOffset(4)] + internal byte isDependent; - [FieldOffset(136)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.ArrayType.ArraySize sizeType; - [FieldOffset(184)] - internal global::System.IntPtr originalPtr; + [FieldOffset(32)] + internal long size; - [FieldOffset(192)] - internal global::System.IntPtr comment; + [FieldOffset(40)] + internal long elementSize; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11DeclarationC2ENS1_15DeclarationKindE")] - internal static extern void ctor(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); + EntryPoint="_ZN8CppSharp9CppParser3AST9ArrayTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11DeclarationC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST9ArrayTypeC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11DeclarationD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration23getPreprocessedEntitiesEj")] - internal static extern global::System.IntPtr GetPreprocessedEntities(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration23addPreprocessedEntitiesERPNS1_18PreprocessedEntityE")] - internal static extern void AddPreprocessedEntities(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration25clearPreprocessedEntitiesEv")] - internal static extern void ClearPreprocessedEntities(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration17getRedeclarationsEj")] - internal static extern global::System.IntPtr GetRedeclarations(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration17addRedeclarationsERPS2_")] - internal static extern void AddRedeclarations(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration19clearRedeclarationsEv")] - internal static extern void ClearRedeclarations(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration28getPreprocessedEntitiesCountEv")] - internal static extern uint GetPreprocessedEntitiesCount(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration22getRedeclarationsCountEv")] - internal static extern uint GetRedeclarationsCount(global::System.IntPtr instance); } - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; + public enum ArraySize + { + Constant = 0, + Variable = 1, + Dependent = 2, + Incomplete = 3 + } - internal static global::CppSharp.Parser.AST.Declaration __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.ArrayType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Declaration(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.ArrayType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Declaration __CreateInstance(global::CppSharp.Parser.AST.Declaration.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.ArrayType __CreateInstance(global::CppSharp.Parser.AST.ArrayType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Declaration(native, skipVTables); + return new global::CppSharp.Parser.AST.ArrayType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Declaration.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.ArrayType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); - global::CppSharp.Parser.AST.Declaration.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); + global::CppSharp.Parser.AST.ArrayType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Declaration(global::CppSharp.Parser.AST.Declaration.__Internal native, bool skipVTables = false) + private ArrayType(global::CppSharp.Parser.AST.ArrayType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Declaration(void* native, bool skipVTables = false) + protected ArrayType(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public Declaration(global::CppSharp.Parser.AST.DeclarationKind kind) + public ArrayType() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), kind); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public Declaration(global::CppSharp.Parser.AST.Declaration _0) + public ArrayType(global::CppSharp.Parser.AST.ArrayType _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -860,673 +875,731 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public void Dispose() + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { - Dispose(disposing: true); - } + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->qualifiedType)); + } - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; + set + { + ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } } - public global::CppSharp.Parser.AST.PreprocessedEntity GetPreprocessedEntities(uint i) + public global::CppSharp.Parser.AST.ArrayType.ArraySize SizeType { - var __ret = __Internal.GetPreprocessedEntities((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.PreprocessedEntity __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.PreprocessedEntity.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.PreprocessedEntity) global::CppSharp.Parser.AST.PreprocessedEntity.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.PreprocessedEntity.__CreateInstance(__ret); - return __result0; + get + { + return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->sizeType; + } + + set + { + ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->sizeType = value; + } } - public void AddPreprocessedEntities(global::CppSharp.Parser.AST.PreprocessedEntity s) + public long Size { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddPreprocessedEntities((__Instance + __PointerAdjustment), __arg0); + get + { + return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->size; + } + + set + { + ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->size = value; + } } - public void ClearPreprocessedEntities() + public long ElementSize { - __Internal.ClearPreprocessedEntities((__Instance + __PointerAdjustment)); + get + { + return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->elementSize; + } + + set + { + ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->elementSize = value; + } } + } - public global::CppSharp.Parser.AST.Declaration GetRedeclarations(uint i) + public unsafe partial class FunctionType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal { - var __ret = __Internal.GetRedeclarations((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Declaration __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(__ret); - return __result0; + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] + internal byte isDependent; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.CallingConvention callingConvention; + + [FieldOffset(28)] + internal global::CppSharp.Parser.AST.ExceptionSpecType exceptionSpecType; + + [FieldOffset(32)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_N___1_S_allocator__S0_ Parameters; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionTypeD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionType13getParametersEj")] + internal static extern global::System.IntPtr GetParameters(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionType13addParametersERPNS1_9ParameterE")] + internal static extern void AddParameters(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionType15clearParametersEv")] + internal static extern void ClearParameters(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionType18getParametersCountEv")] + internal static extern uint GetParametersCount(global::System.IntPtr instance); } - public void AddRedeclarations(global::CppSharp.Parser.AST.Declaration s) + internal static new global::CppSharp.Parser.AST.FunctionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddRedeclarations((__Instance + __PointerAdjustment), __arg0); + return new global::CppSharp.Parser.AST.FunctionType(native.ToPointer(), skipVTables); } - public void ClearRedeclarations() + internal static global::CppSharp.Parser.AST.FunctionType __CreateInstance(global::CppSharp.Parser.AST.FunctionType.__Internal native, bool skipVTables = false) { - __Internal.ClearRedeclarations((__Instance + __PointerAdjustment)); + return new global::CppSharp.Parser.AST.FunctionType(native, skipVTables); } - public static implicit operator global::CppSharp.Parser.AST.Declaration(global::CppSharp.Parser.AST.DeclarationKind kind) + private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionType.__Internal native) { - return new global::CppSharp.Parser.AST.Declaration(kind); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); + global::CppSharp.Parser.AST.FunctionType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); } - public global::CppSharp.Parser.AST.DeclarationKind Kind + private FunctionType(global::CppSharp.Parser.AST.FunctionType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->kind; - } + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->kind = value; - } + protected FunctionType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - public int MaxFieldAlignment + public FunctionType() + : this((void*) null) { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->maxFieldAlignment; - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->maxFieldAlignment = value; - } + public FunctionType(global::CppSharp.Parser.AST.FunctionType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.AccessSpecifier Access + public override void Dispose(bool disposing) { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->access; - } + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Type __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->access = value; - } + public global::CppSharp.Parser.AST.Parameter GetParameters(uint i) + { + var __ret = __Internal.GetParameters((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Parameter __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Parameter.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Parameter) global::CppSharp.Parser.AST.Parameter.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Parameter.__CreateInstance(__ret); + return __result0; } - public global::CppSharp.Parser.AST.DeclarationContext Namespace + public void AddParameters(global::CppSharp.Parser.AST.Parameter s) { - get - { - global::CppSharp.Parser.AST.DeclarationContext __result0; - if (((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.DeclarationContext.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace)) - __result0 = (global::CppSharp.Parser.AST.DeclarationContext) global::CppSharp.Parser.AST.DeclarationContext.NativeToManagedMap[((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace]; - else __result0 = global::CppSharp.Parser.AST.DeclarationContext.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace); - return __result0; - } + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddParameters((__Instance + __PointerAdjustment), __arg0); + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->_namespace = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + public void ClearParameters() + { + __Internal.ClearParameters((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.SourceLocation Location + public global::CppSharp.Parser.AST.QualifiedType ReturnType { get { - return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->location); + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->returnType)); } set { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->location = value.__Instance; + ((global::CppSharp.Parser.AST.FunctionType.__Internal*)__Instance)->returnType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public int LineNumberStart + public global::CppSharp.Parser.AST.CallingConvention CallingConvention { get { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->lineNumberStart; + return ((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->callingConvention; } set { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->lineNumberStart = value; + ((global::CppSharp.Parser.AST.FunctionType.__Internal*)__Instance)->callingConvention = value; } } - public int LineNumberEnd + public global::CppSharp.Parser.AST.ExceptionSpecType ExceptionSpecType { get { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->lineNumberEnd; + return ((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->exceptionSpecType; } set { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->lineNumberEnd = value; + ((global::CppSharp.Parser.AST.FunctionType.__Internal*)__Instance)->exceptionSpecType = value; } } - public string Name + public uint ParametersCount { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->name)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + var __ret = __Internal.GetParametersCount((__Instance + __PointerAdjustment)); + return __ret; } + } + } - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->name), value); - } + public unsafe partial class PointerType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] + internal byte isDependent; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedPointee; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.PointerType.TypeModifier modifier; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11PointerTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11PointerTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); } - public string USR + public enum TypeModifier { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->USR)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + Value = 0, + Pointer = 1, + LVReference = 2, + RVReference = 3 + } - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->USR), value); - } + internal static new global::CppSharp.Parser.AST.PointerType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.PointerType(native.ToPointer(), skipVTables); } - public string DebugText + internal static global::CppSharp.Parser.AST.PointerType __CreateInstance(global::CppSharp.Parser.AST.PointerType.__Internal native, bool skipVTables = false) { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->debugText)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + return new global::CppSharp.Parser.AST.PointerType(native, skipVTables); + } - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->debugText), value); - } + private static void* __CopyValue(global::CppSharp.Parser.AST.PointerType.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); + global::CppSharp.Parser.AST.PointerType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); } - public bool IsIncomplete + private PointerType(global::CppSharp.Parser.AST.PointerType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isIncomplete != 0; - } + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isIncomplete = (byte) (value ? 1 : 0); - } + protected PointerType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - public bool IsDependent + public PointerType() + : this((void*) null) { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isDependent != 0; - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isDependent = (byte) (value ? 1 : 0); - } + public PointerType(global::CppSharp.Parser.AST.PointerType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public bool IsImplicit + public global::CppSharp.Parser.AST.QualifiedType QualifiedPointee { get { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isImplicit != 0; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.PointerType.__Internal*) __Instance)->qualifiedPointee)); } set { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isImplicit = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.PointerType.__Internal*)__Instance)->qualifiedPointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public bool IsInvalid + public global::CppSharp.Parser.AST.PointerType.TypeModifier Modifier { get { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isInvalid != 0; + return ((global::CppSharp.Parser.AST.PointerType.__Internal*) __Instance)->modifier; } set { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isInvalid = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.PointerType.__Internal*)__Instance)->modifier = value; } } + } - public global::CppSharp.Parser.AST.Declaration CompleteDeclaration + public unsafe partial class MemberPointerType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public new partial struct __Internal { - get - { - global::CppSharp.Parser.AST.Declaration __result0; - if (((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration); - return __result0; - } + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->completeDeclaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + [FieldOffset(4)] + internal byte isDependent; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal pointee; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17MemberPointerTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17MemberPointerTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); } - public uint DefinitionOrder + internal static new global::CppSharp.Parser.AST.MemberPointerType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->definitionOrder; - } + return new global::CppSharp.Parser.AST.MemberPointerType(native.ToPointer(), skipVTables); + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->definitionOrder = value; - } + internal static global::CppSharp.Parser.AST.MemberPointerType __CreateInstance(global::CppSharp.Parser.AST.MemberPointerType.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MemberPointerType(native, skipVTables); } - public global::System.IntPtr OriginalPtr + private static void* __CopyValue(global::CppSharp.Parser.AST.MemberPointerType.__Internal native) { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->originalPtr; - } + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); + global::CppSharp.Parser.AST.MemberPointerType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->originalPtr = (global::System.IntPtr) value; - } + private MemberPointerType(global::CppSharp.Parser.AST.MemberPointerType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; } - public global::CppSharp.Parser.AST.RawComment Comment + protected MemberPointerType(void* native, bool skipVTables = false) + : base((void*) null) { - get - { - global::CppSharp.Parser.AST.RawComment __result0; - if (((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.RawComment.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment)) - __result0 = (global::CppSharp.Parser.AST.RawComment) global::CppSharp.Parser.AST.RawComment.NativeToManagedMap[((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment]; - else __result0 = global::CppSharp.Parser.AST.RawComment.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment); - return __result0; - } + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->comment = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + public MemberPointerType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); } - public uint PreprocessedEntitiesCount + public MemberPointerType(global::CppSharp.Parser.AST.MemberPointerType _0) + : this((void*) null) { - get - { - var __ret = __Internal.GetPreprocessedEntitiesCount((__Instance + __PointerAdjustment)); - return __ret; - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public uint RedeclarationsCount + public global::CppSharp.Parser.AST.QualifiedType Pointee { get { - var __ret = __Internal.GetRedeclarationsCount((__Instance + __PointerAdjustment)); - return __ret; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MemberPointerType.__Internal*) __Instance)->pointee)); + } + + set + { + ((global::CppSharp.Parser.AST.MemberPointerType.__Internal*)__Instance)->pointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } } - public unsafe partial class DeclarationContext : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class TypedefType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 448)] + [StructLayout(LayoutKind.Explicit, Size = 16)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + internal global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - internal int maxFieldAlignment; + internal byte isDependent; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; + internal global::System.IntPtr declaration; - [FieldOffset(16)] - internal global::System.IntPtr _namespace; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + } - [FieldOffset(28)] - internal int lineNumberStart; + internal static new global::CppSharp.Parser.AST.TypedefType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.TypedefType(native.ToPointer(), skipVTables); + } - [FieldOffset(32)] - internal int lineNumberEnd; + internal static global::CppSharp.Parser.AST.TypedefType __CreateInstance(global::CppSharp.Parser.AST.TypedefType.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.TypedefType(native, skipVTables); + } - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefType.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); + global::CppSharp.Parser.AST.TypedefType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(64)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + private TypedefType(global::CppSharp.Parser.AST.TypedefType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(88)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + protected TypedefType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(112)] - internal byte isIncomplete; + public TypedefType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - [FieldOffset(113)] + public TypedefType(global::CppSharp.Parser.AST.TypedefType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public global::CppSharp.Parser.AST.TypedefNameDecl Declaration + { + get + { + global::CppSharp.Parser.AST.TypedefNameDecl __result0; + if (((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TypedefNameDecl.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration)) + __result0 = (global::CppSharp.Parser.AST.TypedefNameDecl) global::CppSharp.Parser.AST.TypedefNameDecl.NativeToManagedMap[((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration]; + else __result0 = global::CppSharp.Parser.AST.TypedefNameDecl.__CreateInstance(((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.TypedefType.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class AttributedType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] internal byte isDependent; - [FieldOffset(114)] - internal byte isImplicit; + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal modified; - [FieldOffset(115)] - internal byte isInvalid; + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal equivalent; - [FieldOffset(120)] - internal global::System.IntPtr completeDeclaration; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14AttributedTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); - [FieldOffset(128)] - internal uint definitionOrder; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14AttributedTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + } - [FieldOffset(136)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + internal static new global::CppSharp.Parser.AST.AttributedType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AttributedType(native.ToPointer(), skipVTables); + } - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + internal static global::CppSharp.Parser.AST.AttributedType __CreateInstance(global::CppSharp.Parser.AST.AttributedType.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AttributedType(native, skipVTables); + } - [FieldOffset(184)] - internal global::System.IntPtr originalPtr; + private static void* __CopyValue(global::CppSharp.Parser.AST.AttributedType.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); + global::CppSharp.Parser.AST.AttributedType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(192)] - internal global::System.IntPtr comment; + private AttributedType(global::CppSharp.Parser.AST.AttributedType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(200)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ Namespaces; + protected AttributedType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(224)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; + public AttributedType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - [FieldOffset(248)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; + public AttributedType(global::CppSharp.Parser.AST.AttributedType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(272)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; + public global::CppSharp.Parser.AST.QualifiedType Modified + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.AttributedType.__Internal*) __Instance)->modified)); + } - [FieldOffset(296)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; + set + { + ((global::CppSharp.Parser.AST.AttributedType.__Internal*)__Instance)->modified = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } - [FieldOffset(320)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; + public global::CppSharp.Parser.AST.QualifiedType Equivalent + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.AttributedType.__Internal*) __Instance)->equivalent)); + } - [FieldOffset(344)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ TypeAliases; + set + { + ((global::CppSharp.Parser.AST.AttributedType.__Internal*)__Instance)->equivalent = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + } - [FieldOffset(368)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ Variables; + public unsafe partial class DecayedType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; - [FieldOffset(392)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ Friends; + [FieldOffset(4)] + internal byte isDependent; - [FieldOffset(416)] - internal global::Std.Map.__Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ anonymous; + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal decayed; - [FieldOffset(440)] - internal byte isAnonymous; + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal original; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContextC2ENS1_15DeclarationKindE")] - internal static extern void ctor(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); + [FieldOffset(40)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal pointee; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContextC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST11DecayedTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContextD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11DecayedTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext13getNamespacesEj")] - internal static extern global::System.IntPtr GetNamespaces(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext13addNamespacesERPNS1_9NamespaceE")] - internal static extern void AddNamespaces(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext15clearNamespacesEv")] - internal static extern void ClearNamespaces(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext8getEnumsEj")] - internal static extern global::System.IntPtr GetEnums(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext8addEnumsERPNS1_11EnumerationE")] - internal static extern void AddEnums(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10clearEnumsEv")] - internal static extern void ClearEnums(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12getFunctionsEj")] - internal static extern global::System.IntPtr GetFunctions(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12addFunctionsERPNS1_8FunctionE")] - internal static extern void AddFunctions(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14clearFunctionsEv")] - internal static extern void ClearFunctions(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10getClassesEj")] - internal static extern global::System.IntPtr GetClasses(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10addClassesERPNS1_5ClassE")] - internal static extern void AddClasses(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12clearClassesEv")] - internal static extern void ClearClasses(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12getTemplatesEj")] - internal static extern global::System.IntPtr GetTemplates(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12addTemplatesERPNS1_8TemplateE")] - internal static extern void AddTemplates(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14clearTemplatesEv")] - internal static extern void ClearTemplates(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext11getTypedefsEj")] - internal static extern global::System.IntPtr GetTypedefs(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext11addTypedefsERPNS1_11TypedefDeclE")] - internal static extern void AddTypedefs(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext13clearTypedefsEv")] - internal static extern void ClearTypedefs(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14getTypeAliasesEj")] - internal static extern global::System.IntPtr GetTypeAliases(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14addTypeAliasesERPNS1_9TypeAliasE")] - internal static extern void AddTypeAliases(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext16clearTypeAliasesEv")] - internal static extern void ClearTypeAliases(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12getVariablesEj")] - internal static extern global::System.IntPtr GetVariables(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12addVariablesERPNS1_8VariableE")] - internal static extern void AddVariables(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14clearVariablesEv")] - internal static extern void ClearVariables(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10getFriendsEj")] - internal static extern global::System.IntPtr GetFriends(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10addFriendsERPNS1_6FriendE")] - internal static extern void AddFriends(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12clearFriendsEv")] - internal static extern void ClearFriends(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext18getNamespacesCountEv")] - internal static extern uint GetNamespacesCount(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext13getEnumsCountEv")] - internal static extern uint GetEnumsCount(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext17getFunctionsCountEv")] - internal static extern uint GetFunctionsCount(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext15getClassesCountEv")] - internal static extern uint GetClassesCount(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext17getTemplatesCountEv")] - internal static extern uint GetTemplatesCount(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext16getTypedefsCountEv")] - internal static extern uint GetTypedefsCount(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext19getTypeAliasesCountEv")] - internal static extern uint GetTypeAliasesCount(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext17getVariablesCountEv")] - internal static extern uint GetVariablesCount(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext15getFriendsCountEv")] - internal static extern uint GetFriendsCount(global::System.IntPtr instance); - } - - internal static new global::CppSharp.Parser.AST.DeclarationContext __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.DecayedType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.DeclarationContext(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.DecayedType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.DeclarationContext __CreateInstance(global::CppSharp.Parser.AST.DeclarationContext.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.DecayedType __CreateInstance(global::CppSharp.Parser.AST.DecayedType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.DeclarationContext(native, skipVTables); + return new global::CppSharp.Parser.AST.DecayedType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.DeclarationContext.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.DecayedType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal)); - global::CppSharp.Parser.AST.DeclarationContext.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); + global::CppSharp.Parser.AST.DecayedType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private DeclarationContext(global::CppSharp.Parser.AST.DeclarationContext.__Internal native, bool skipVTables = false) + private DecayedType(global::CppSharp.Parser.AST.DecayedType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected DeclarationContext(void* native, bool skipVTables = false) + protected DecayedType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -1535,19 +1608,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public DeclarationContext(global::CppSharp.Parser.AST.DeclarationKind kind) + public DecayedType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), kind); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public DeclarationContext(global::CppSharp.Parser.AST.DeclarationContext _0) + public DecayedType(global::CppSharp.Parser.AST.DecayedType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -1556,554 +1629,498 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public global::CppSharp.Parser.AST.QualifiedType Decayed { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->decayed)); + } - public global::CppSharp.Parser.AST.Namespace GetNamespaces(uint i) - { - var __ret = __Internal.GetNamespaces((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Namespace __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Namespace.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Namespace) global::CppSharp.Parser.AST.Namespace.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Namespace.__CreateInstance(__ret); - return __result0; + set + { + ((global::CppSharp.Parser.AST.DecayedType.__Internal*)__Instance)->decayed = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } } - public void AddNamespaces(global::CppSharp.Parser.AST.Namespace s) + public global::CppSharp.Parser.AST.QualifiedType Original { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddNamespaces((__Instance + __PointerAdjustment), __arg0); - } + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->original)); + } - public void ClearNamespaces() - { - __Internal.ClearNamespaces((__Instance + __PointerAdjustment)); + set + { + ((global::CppSharp.Parser.AST.DecayedType.__Internal*)__Instance)->original = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } } - public global::CppSharp.Parser.AST.Enumeration GetEnums(uint i) - { - var __ret = __Internal.GetEnums((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Enumeration __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Enumeration.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Enumeration) global::CppSharp.Parser.AST.Enumeration.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Enumeration.__CreateInstance(__ret); - return __result0; - } - - public void AddEnums(global::CppSharp.Parser.AST.Enumeration s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddEnums((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearEnums() - { - __Internal.ClearEnums((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.Function GetFunctions(uint i) - { - var __ret = __Internal.GetFunctions((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Function __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(__ret); - return __result0; - } - - public void AddFunctions(global::CppSharp.Parser.AST.Function s) + public global::CppSharp.Parser.AST.QualifiedType Pointee { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddFunctions((__Instance + __PointerAdjustment), __arg0); - } + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->pointee)); + } - public void ClearFunctions() - { - __Internal.ClearFunctions((__Instance + __PointerAdjustment)); + set + { + ((global::CppSharp.Parser.AST.DecayedType.__Internal*)__Instance)->pointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } } + } - public global::CppSharp.Parser.AST.Class GetClasses(uint i) + public unsafe partial class TemplateArgument : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public partial struct __Internal { - var __ret = __Internal.GetClasses((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Class __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(__ret); - return __result0; - } + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TemplateArgument.ArgumentKind kind; - public void AddClasses(global::CppSharp.Parser.AST.Class s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddClasses((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; - public void ClearClasses() - { - __Internal.ClearClasses((__Instance + __PointerAdjustment)); - } + [FieldOffset(24)] + internal global::System.IntPtr declaration; - public global::CppSharp.Parser.AST.Template GetTemplates(uint i) - { - var __ret = __Internal.GetTemplates((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Template __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Template.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Template) global::CppSharp.Parser.AST.Template.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Template.__CreateInstance(__ret); - return __result0; - } + [FieldOffset(32)] + internal long integral; - public void AddTemplates(global::CppSharp.Parser.AST.Template s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddTemplates((__Instance + __PointerAdjustment), __arg0); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16TemplateArgumentC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); - public void ClearTemplates() - { - __Internal.ClearTemplates((__Instance + __PointerAdjustment)); + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16TemplateArgumentC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); } - public global::CppSharp.Parser.AST.TypedefDecl GetTypedefs(uint i) + public enum ArgumentKind { - var __ret = __Internal.GetTypedefs((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.TypedefDecl __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TypedefDecl.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.TypedefDecl) global::CppSharp.Parser.AST.TypedefDecl.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.TypedefDecl.__CreateInstance(__ret); - return __result0; + Type = 0, + Declaration = 1, + NullPtr = 2, + Integral = 3, + Template = 4, + TemplateExpansion = 5, + Expression = 6, + Pack = 7 } - public void AddTypedefs(global::CppSharp.Parser.AST.TypedefDecl s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddTypedefs((__Instance + __PointerAdjustment), __arg0); - } + public global::System.IntPtr __Instance { get; protected set; } - public void ClearTypedefs() - { - __Internal.ClearTypedefs((__Instance + __PointerAdjustment)); - } + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; - public global::CppSharp.Parser.AST.TypeAlias GetTypeAliases(uint i) - { - var __ret = __Internal.GetTypeAliases((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.TypeAlias __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TypeAlias.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.TypeAlias) global::CppSharp.Parser.AST.TypeAlias.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.TypeAlias.__CreateInstance(__ret); - return __result0; - } + protected bool __ownsNativeInstance; - public void AddTypeAliases(global::CppSharp.Parser.AST.TypeAlias s) + internal static global::CppSharp.Parser.AST.TemplateArgument __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddTypeAliases((__Instance + __PointerAdjustment), __arg0); + return new global::CppSharp.Parser.AST.TemplateArgument(native.ToPointer(), skipVTables); } - public void ClearTypeAliases() + internal static global::CppSharp.Parser.AST.TemplateArgument __CreateInstance(global::CppSharp.Parser.AST.TemplateArgument.__Internal native, bool skipVTables = false) { - __Internal.ClearTypeAliases((__Instance + __PointerAdjustment)); + return new global::CppSharp.Parser.AST.TemplateArgument(native, skipVTables); } - public global::CppSharp.Parser.AST.Variable GetVariables(uint i) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateArgument.__Internal native) { - var __ret = __Internal.GetVariables((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Variable __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Variable.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Variable) global::CppSharp.Parser.AST.Variable.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Variable.__CreateInstance(__ret); - return __result0; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); + *(global::CppSharp.Parser.AST.TemplateArgument.__Internal*) ret = native; + return ret.ToPointer(); } - public void AddVariables(global::CppSharp.Parser.AST.Variable s) + private TemplateArgument(global::CppSharp.Parser.AST.TemplateArgument.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddVariables((__Instance + __PointerAdjustment), __arg0); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; } - public void ClearVariables() + protected TemplateArgument(void* native, bool skipVTables = false) { - __Internal.ClearVariables((__Instance + __PointerAdjustment)); + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - public global::CppSharp.Parser.AST.Friend GetFriends(uint i) + public TemplateArgument() { - var __ret = __Internal.GetFriends((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Friend __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Friend.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Friend) global::CppSharp.Parser.AST.Friend.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Friend.__CreateInstance(__ret); - return __result0; + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); } - public void AddFriends(global::CppSharp.Parser.AST.Friend s) + public TemplateArgument(global::CppSharp.Parser.AST.TemplateArgument _0) { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddFriends((__Instance + __PointerAdjustment), __arg0); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) _0.__Instance); } - public void ClearFriends() + public void Dispose() { - __Internal.ClearFriends((__Instance + __PointerAdjustment)); + Dispose(disposing: true); } - public static implicit operator global::CppSharp.Parser.AST.DeclarationContext(global::CppSharp.Parser.AST.DeclarationKind kind) + public virtual void Dispose(bool disposing) { - return new global::CppSharp.Parser.AST.DeclarationContext(kind); + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.TemplateArgument __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; } - public bool IsAnonymous + public global::CppSharp.Parser.AST.TemplateArgument.ArgumentKind Kind { get { - return ((global::CppSharp.Parser.AST.DeclarationContext.__Internal*) __Instance)->isAnonymous != 0; + return ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->kind; } set { - ((global::CppSharp.Parser.AST.DeclarationContext.__Internal*)__Instance)->isAnonymous = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->kind = value; } } - public uint NamespacesCount + public global::CppSharp.Parser.AST.QualifiedType Type { get { - var __ret = __Internal.GetNamespacesCount((__Instance + __PointerAdjustment)); - return __ret; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->type)); } - } - public uint EnumsCount - { - get + set { - var __ret = __Internal.GetEnumsCount((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public uint FunctionsCount + public global::CppSharp.Parser.AST.Declaration Declaration { get { - var __ret = __Internal.GetFunctionsCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - - public uint ClassesCount - { - get - { - var __ret = __Internal.GetClassesCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - - public uint TemplatesCount - { - get - { - var __ret = __Internal.GetTemplatesCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - - public uint TypedefsCount - { - get - { - var __ret = __Internal.GetTypedefsCount((__Instance + __PointerAdjustment)); - return __ret; + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration); + return __result0; } - } - public uint TypeAliasesCount - { - get + set { - var __ret = __Internal.GetTypeAliasesCount((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public uint VariablesCount + public long Integral { get { - var __ret = __Internal.GetVariablesCount((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->integral; } - } - public uint FriendsCount - { - get + set { - var __ret = __Internal.GetFriendsCount((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->integral = value; } } } - public unsafe partial class PreprocessedEntity : IDisposable + public unsafe partial class TemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 24)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.MacroLocation macroLocation; + internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] + internal byte isDependent; [FieldOffset(8)] - internal global::System.IntPtr originalPtr; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_N___1_S_allocator__S0_ Arguments; - [FieldOffset(16)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + [FieldOffset(32)] + internal global::System.IntPtr _template; + + [FieldOffset(40)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18PreprocessedEntityC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationTypeC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18PreprocessedEntityC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationTypeC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - } - public global::System.IntPtr __Instance { get; protected set; } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationTypeD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType12getArgumentsEj")] + internal static extern void GetArguments(global::System.IntPtr @return, global::System.IntPtr instance, uint i); - protected bool __ownsNativeInstance; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType12addArgumentsERNS1_16TemplateArgumentE")] + internal static extern void AddArguments(global::System.IntPtr instance, global::System.IntPtr s); - internal static global::CppSharp.Parser.AST.PreprocessedEntity __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType14clearArgumentsEv")] + internal static extern void ClearArguments(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType17getArgumentsCountEv")] + internal static extern uint GetArgumentsCount(global::System.IntPtr instance); + } + + internal static new global::CppSharp.Parser.AST.TemplateSpecializationType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.PreprocessedEntity(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TemplateSpecializationType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.PreprocessedEntity __CreateInstance(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TemplateSpecializationType __CreateInstance(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.PreprocessedEntity(native, skipVTables); + return new global::CppSharp.Parser.AST.TemplateSpecializationType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); - *(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) ret = native; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); + global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private PreprocessedEntity(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native, bool skipVTables = false) + private TemplateSpecializationType(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected PreprocessedEntity(void* native, bool skipVTables = false) + protected TemplateSpecializationType(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public PreprocessedEntity() + public TemplateSpecializationType() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public PreprocessedEntity(global::CppSharp.Parser.AST.PreprocessedEntity _0) + public TemplateSpecializationType(global::CppSharp.Parser.AST.TemplateSpecializationType _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) _0.__Instance); - } - - public void Dispose() - { - Dispose(disposing: true); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.PreprocessedEntity __dummy; + global::CppSharp.Parser.AST.Type __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.MacroLocation MacroLocation + public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) + { + var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); + __Internal.GetArguments(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); + return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); + } + + public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearArguments() + { + __Internal.ClearArguments((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.Template Template { get { - return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->macroLocation; + global::CppSharp.Parser.AST.Template __result0; + if (((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Template.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template)) + __result0 = (global::CppSharp.Parser.AST.Template) global::CppSharp.Parser.AST.Template.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template]; + else __result0 = global::CppSharp.Parser.AST.Template.__CreateInstance(((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template); + return __result0; } set { - ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*)__Instance)->macroLocation = value; + ((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*)__Instance)->_template = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public global::System.IntPtr OriginalPtr + public global::CppSharp.Parser.AST.QualifiedType Desugared { get { - return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->originalPtr; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->desugared)); } set { - ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*)__Instance)->originalPtr = (global::System.IntPtr) value; + ((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*)__Instance)->desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public global::CppSharp.Parser.AST.DeclarationKind Kind + public uint ArgumentsCount { get { - return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->kind; - } - - set - { - ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*)__Instance)->kind = value; + var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class RawComment : IDisposable + public unsafe partial class DependentTemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 64)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.RawCommentKind kind; + internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] + internal byte isDependent; [FieldOffset(8)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C text; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_N___1_S_allocator__S0_ Arguments; [FieldOffset(32)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C briefText; - - [FieldOffset(56)] - internal global::System.IntPtr fullCommentBlock; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10RawCommentC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationTypeC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10RawCommentC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationTypeC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10RawCommentD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationTypeD2Ev")] internal static extern void dtor(global::System.IntPtr instance); - } - public global::System.IntPtr __Instance { get; protected set; } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationType12getArgumentsEj")] + internal static extern void GetArguments(global::System.IntPtr @return, global::System.IntPtr instance, uint i); - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationType12addArgumentsERNS1_16TemplateArgumentE")] + internal static extern void AddArguments(global::System.IntPtr instance, global::System.IntPtr s); - protected bool __ownsNativeInstance; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationType14clearArgumentsEv")] + internal static extern void ClearArguments(global::System.IntPtr instance); - internal static global::CppSharp.Parser.AST.RawComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.RawComment(native.ToPointer(), skipVTables); + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationType17getArgumentsCountEv")] + internal static extern uint GetArgumentsCount(global::System.IntPtr instance); } - internal static global::CppSharp.Parser.AST.RawComment __CreateInstance(global::CppSharp.Parser.AST.RawComment.__Internal native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.DependentTemplateSpecializationType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.RawComment(native, skipVTables); + return new global::CppSharp.Parser.AST.DependentTemplateSpecializationType(native.ToPointer(), skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.RawComment.__Internal native) + internal static global::CppSharp.Parser.AST.DependentTemplateSpecializationType __CreateInstance(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native, bool skipVTables = false) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); - global::CppSharp.Parser.AST.RawComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return new global::CppSharp.Parser.AST.DependentTemplateSpecializationType(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); + global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private RawComment(global::CppSharp.Parser.AST.RawComment.__Internal native, bool skipVTables = false) + private DependentTemplateSpecializationType(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected RawComment(void* native, bool skipVTables = false) + protected DependentTemplateSpecializationType(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public RawComment() + public DependentTemplateSpecializationType() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public RawComment(global::CppSharp.Parser.AST.RawComment _0) + public DependentTemplateSpecializationType(global::CppSharp.Parser.AST.DependentTemplateSpecializationType _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -2112,16 +2129,11 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.RawComment __dummy; + global::CppSharp.Parser.AST.Type __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -2130,142 +2142,113 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.RawCommentKind Kind + public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) { - get - { - return ((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->kind; - } - - set - { - ((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->kind = value; - } + var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); + __Internal.GetArguments(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); + return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); } - public string Text + public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->text)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); + } - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->text), value); - } + public void ClearArguments() + { + __Internal.ClearArguments((__Instance + __PointerAdjustment)); } - public string BriefText + public global::CppSharp.Parser.AST.QualifiedType Desugared { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->briefText)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal*) __Instance)->desugared)); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->briefText), value); + ((global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal*)__Instance)->desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public global::CppSharp.Parser.AST.FullComment FullCommentBlock + public uint ArgumentsCount { get { - global::CppSharp.Parser.AST.FullComment __result0; - if (((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.FullComment.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock)) - __result0 = (global::CppSharp.Parser.AST.FullComment) global::CppSharp.Parser.AST.FullComment.NativeToManagedMap[((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock]; - else __result0 = global::CppSharp.Parser.AST.FullComment.__CreateInstance(((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->fullCommentBlock = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class FullComment : global::CppSharp.Parser.AST.Comment, IDisposable + public unsafe partial class TemplateParameterType : global::CppSharp.Parser.AST.Type, IDisposable { [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + internal global::CppSharp.Parser.AST.TypeKind kind; - [FieldOffset(8)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BlockContentComment___N_std_N___1_S_allocator__S0_ Blocks; + [FieldOffset(4)] + internal byte isDependent; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11FullCommentC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); + [FieldOffset(8)] + internal global::System.IntPtr parameter; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11FullCommentC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + [FieldOffset(16)] + internal uint depth; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11FullCommentD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); + [FieldOffset(20)] + internal uint index; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11FullComment9getBlocksEj")] - internal static extern global::System.IntPtr GetBlocks(global::System.IntPtr instance, uint i); + [FieldOffset(24)] + internal byte isParameterPack; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11FullComment9addBlocksERPNS1_19BlockContentCommentE")] - internal static extern void AddBlocks(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST21TemplateParameterTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11FullComment11clearBlocksEv")] - internal static extern void ClearBlocks(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST21TemplateParameterTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11FullComment14getBlocksCountEv")] - internal static extern uint GetBlocksCount(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST21TemplateParameterTypeD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.FullComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TemplateParameterType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.FullComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TemplateParameterType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.FullComment __CreateInstance(global::CppSharp.Parser.AST.FullComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TemplateParameterType __CreateInstance(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.FullComment(native, skipVTables); + return new global::CppSharp.Parser.AST.TemplateParameterType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.FullComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullComment.__Internal)); - global::CppSharp.Parser.AST.FullComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); + global::CppSharp.Parser.AST.TemplateParameterType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private FullComment(global::CppSharp.Parser.AST.FullComment.__Internal native, bool skipVTables = false) + private TemplateParameterType(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected FullComment(void* native, bool skipVTables = false) + protected TemplateParameterType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -2274,19 +2257,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public FullComment() + public TemplateParameterType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public FullComment(global::CppSharp.Parser.AST.FullComment _0) + public TemplateParameterType(global::CppSharp.Parser.AST.TemplateParameterType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -2299,7 +2282,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Comment __dummy; + global::CppSharp.Parser.AST.Type __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -2308,198 +2291,231 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.BlockContentComment GetBlocks(uint i) + public global::CppSharp.Parser.AST.TypeTemplateParameter Parameter { - var __ret = __Internal.GetBlocks((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.BlockContentComment __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.BlockContentComment.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.BlockContentComment) global::CppSharp.Parser.AST.BlockContentComment.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.BlockContentComment.__CreateInstance(__ret); - return __result0; + get + { + global::CppSharp.Parser.AST.TypeTemplateParameter __result0; + if (((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TypeTemplateParameter.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter)) + __result0 = (global::CppSharp.Parser.AST.TypeTemplateParameter) global::CppSharp.Parser.AST.TypeTemplateParameter.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter]; + else __result0 = global::CppSharp.Parser.AST.TypeTemplateParameter.__CreateInstance(((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->parameter = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } } - public void AddBlocks(global::CppSharp.Parser.AST.BlockContentComment s) + public uint Depth { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddBlocks((__Instance + __PointerAdjustment), __arg0); + get + { + return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->depth; + } + + set + { + ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->depth = value; + } } - public void ClearBlocks() + public uint Index { - __Internal.ClearBlocks((__Instance + __PointerAdjustment)); + get + { + return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->index; + } + + set + { + ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->index = value; + } } - public uint BlocksCount + public bool IsParameterPack { get { - var __ret = __Internal.GetBlocksCount((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->isParameterPack != 0; + } + + set + { + ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->isParameterPack = (byte) (value ? 1 : 0); } } } - public unsafe partial class Comment : IDisposable + public unsafe partial class TemplateParameterSubstitutionType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 4)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] + internal byte isDependent; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal replacement; + + [FieldOffset(24)] + internal global::System.IntPtr replacedParameter; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST7CommentC2ENS1_11CommentKindE")] - internal static extern void ctor(global::System.IntPtr instance, global::CppSharp.Parser.AST.CommentKind kind); + EntryPoint="_ZN8CppSharp9CppParser3AST33TemplateParameterSubstitutionTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST7CommentC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST33TemplateParameterSubstitutionTypeC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); } - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.Comment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TemplateParameterSubstitutionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Comment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TemplateParameterSubstitutionType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Comment __CreateInstance(global::CppSharp.Parser.AST.Comment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TemplateParameterSubstitutionType __CreateInstance(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Comment(native, skipVTables); + return new global::CppSharp.Parser.AST.TemplateParameterSubstitutionType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Comment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Comment.__Internal)); - *(global::CppSharp.Parser.AST.Comment.__Internal*) ret = native; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); + global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Comment(global::CppSharp.Parser.AST.Comment.__Internal native, bool skipVTables = false) + private TemplateParameterSubstitutionType(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Comment(void* native, bool skipVTables = false) + protected TemplateParameterSubstitutionType(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public Comment(global::CppSharp.Parser.AST.CommentKind kind) + public TemplateParameterSubstitutionType() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Comment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), kind); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public Comment(global::CppSharp.Parser.AST.Comment _0) + public TemplateParameterSubstitutionType(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Comment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.Comment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.Comment.__Internal*) _0.__Instance); - } - - public void Dispose() - { - Dispose(disposing: true); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public virtual void Dispose(bool disposing) + public global::CppSharp.Parser.AST.QualifiedType Replacement { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Comment __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacement)); + } - public static implicit operator global::CppSharp.Parser.AST.Comment(global::CppSharp.Parser.AST.CommentKind kind) - { - return new global::CppSharp.Parser.AST.Comment(kind); + set + { + ((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*)__Instance)->replacement = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } } - public global::CppSharp.Parser.AST.CommentKind Kind + public global::CppSharp.Parser.AST.TemplateParameterType ReplacedParameter { get { - return ((global::CppSharp.Parser.AST.Comment.__Internal*) __Instance)->kind; + global::CppSharp.Parser.AST.TemplateParameterType __result0; + if (((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TemplateParameterType.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter)) + __result0 = (global::CppSharp.Parser.AST.TemplateParameterType) global::CppSharp.Parser.AST.TemplateParameterType.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter]; + else __result0 = global::CppSharp.Parser.AST.TemplateParameterType.__CreateInstance(((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter); + return __result0; } set { - ((global::CppSharp.Parser.AST.Comment.__Internal*)__Instance)->kind = value; + ((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*)__Instance)->replacedParameter = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } - public unsafe partial class BlockContentComment : global::CppSharp.Parser.AST.Comment, IDisposable + public unsafe partial class InjectedClassNameType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 4)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + internal global::CppSharp.Parser.AST.TypeKind kind; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19BlockContentCommentC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); + [FieldOffset(4)] + internal byte isDependent; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal injectedSpecializationType; + + [FieldOffset(24)] + internal global::System.IntPtr _class; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19BlockContentCommentC2ENS1_11CommentKindE")] - internal static extern void ctor(global::System.IntPtr instance, global::CppSharp.Parser.AST.CommentKind Kind); + EntryPoint="_ZN8CppSharp9CppParser3AST21InjectedClassNameTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19BlockContentCommentC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST21InjectedClassNameTypeC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); } - internal static new global::CppSharp.Parser.AST.BlockContentComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.InjectedClassNameType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.BlockContentComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.InjectedClassNameType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.BlockContentComment __CreateInstance(global::CppSharp.Parser.AST.BlockContentComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.InjectedClassNameType __CreateInstance(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.BlockContentComment(native, skipVTables); + return new global::CppSharp.Parser.AST.InjectedClassNameType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.BlockContentComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); - *(global::CppSharp.Parser.AST.BlockContentComment.__Internal*) ret = native; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); + global::CppSharp.Parser.AST.InjectedClassNameType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private BlockContentComment(global::CppSharp.Parser.AST.BlockContentComment.__Internal native, bool skipVTables = false) + private InjectedClassNameType(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected BlockContentComment(void* native, bool skipVTables = false) + protected InjectedClassNameType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -2508,181 +2524,319 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public BlockContentComment() + public InjectedClassNameType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public BlockContentComment(global::CppSharp.Parser.AST.CommentKind Kind) + public InjectedClassNameType(global::CppSharp.Parser.AST.InjectedClassNameType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), Kind); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public BlockContentComment(global::CppSharp.Parser.AST.BlockContentComment _0) - : this((void*) null) + public global::CppSharp.Parser.AST.QualifiedType InjectedSpecializationType { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.BlockContentComment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.BlockContentComment.__Internal*) _0.__Instance); + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->injectedSpecializationType)); + } + + set + { + ((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*)__Instance)->injectedSpecializationType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } } - public static implicit operator global::CppSharp.Parser.AST.BlockContentComment(global::CppSharp.Parser.AST.CommentKind Kind) + public global::CppSharp.Parser.AST.Class Class { - return new global::CppSharp.Parser.AST.BlockContentComment(Kind); + get + { + global::CppSharp.Parser.AST.Class __result0; + if (((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class)) + __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class]; + else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*)__Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } } } - public unsafe partial class Namespace : global::CppSharp.Parser.AST.DeclarationContext, IDisposable + public unsafe partial class DependentNameType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 448)] + [StructLayout(LayoutKind.Explicit, Size = 48)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + internal global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - internal int maxFieldAlignment; + internal byte isDependent; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifier; [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C identifier; - [FieldOffset(28)] - internal int lineNumberStart; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17DependentNameTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); - [FieldOffset(32)] - internal int lineNumberEnd; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17DependentNameTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17DependentNameTypeD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); + } - [FieldOffset(64)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + internal static new global::CppSharp.Parser.AST.DependentNameType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DependentNameType(native.ToPointer(), skipVTables); + } - [FieldOffset(88)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + internal static global::CppSharp.Parser.AST.DependentNameType __CreateInstance(global::CppSharp.Parser.AST.DependentNameType.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DependentNameType(native, skipVTables); + } - [FieldOffset(112)] - internal byte isIncomplete; + private static void* __CopyValue(global::CppSharp.Parser.AST.DependentNameType.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); + global::CppSharp.Parser.AST.DependentNameType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(113)] - internal byte isDependent; + private DependentNameType(global::CppSharp.Parser.AST.DependentNameType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(114)] - internal byte isImplicit; + protected DependentNameType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(115)] - internal byte isInvalid; + public DependentNameType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - [FieldOffset(120)] - internal global::System.IntPtr completeDeclaration; + public DependentNameType(global::CppSharp.Parser.AST.DependentNameType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(128)] - internal uint definitionOrder; + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Type __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } - [FieldOffset(136)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + public global::CppSharp.Parser.AST.QualifiedType Qualifier + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentNameType.__Internal*) __Instance)->qualifier)); + } - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + set + { + ((global::CppSharp.Parser.AST.DependentNameType.__Internal*)__Instance)->qualifier = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } - [FieldOffset(184)] - internal global::System.IntPtr originalPtr; + public string Identifier + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentNameType.__Internal*) __Instance)->identifier)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } - [FieldOffset(192)] - internal global::System.IntPtr comment; + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentNameType.__Internal*)__Instance)->identifier), value); + } + } + } - [FieldOffset(200)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ Namespaces; + public unsafe partial class PackExpansionType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 8)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; - [FieldOffset(224)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; + [FieldOffset(4)] + internal byte isDependent; - [FieldOffset(248)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17PackExpansionTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); - [FieldOffset(272)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17PackExpansionTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + } - [FieldOffset(296)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; + internal static new global::CppSharp.Parser.AST.PackExpansionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.PackExpansionType(native.ToPointer(), skipVTables); + } - [FieldOffset(320)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; + internal static global::CppSharp.Parser.AST.PackExpansionType __CreateInstance(global::CppSharp.Parser.AST.PackExpansionType.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.PackExpansionType(native, skipVTables); + } - [FieldOffset(344)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ TypeAliases; + private static void* __CopyValue(global::CppSharp.Parser.AST.PackExpansionType.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); + global::CppSharp.Parser.AST.PackExpansionType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(368)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ Variables; + private PackExpansionType(global::CppSharp.Parser.AST.PackExpansionType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(392)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ Friends; + protected PackExpansionType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(416)] - internal global::Std.Map.__Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ anonymous; + public PackExpansionType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - [FieldOffset(440)] - internal byte isAnonymous; + public PackExpansionType(global::CppSharp.Parser.AST.PackExpansionType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + } - [FieldOffset(441)] - internal byte isInline; + public unsafe partial class UnaryTransformType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] + internal byte isDependent; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal baseType; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9NamespaceC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST18UnaryTransformTypeC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9NamespaceC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST18UnaryTransformTypeC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9NamespaceD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.Namespace __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.UnaryTransformType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Namespace(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.UnaryTransformType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Namespace __CreateInstance(global::CppSharp.Parser.AST.Namespace.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.UnaryTransformType __CreateInstance(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Namespace(native, skipVTables); + return new global::CppSharp.Parser.AST.UnaryTransformType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Namespace.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); - global::CppSharp.Parser.AST.Namespace.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); + global::CppSharp.Parser.AST.UnaryTransformType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Namespace(global::CppSharp.Parser.AST.Namespace.__Internal native, bool skipVTables = false) + private UnaryTransformType(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Namespace(void* native, bool skipVTables = false) + protected UnaryTransformType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -2691,19 +2845,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Namespace() + public UnaryTransformType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public Namespace(global::CppSharp.Parser.AST.Namespace _0) + public UnaryTransformType(global::CppSharp.Parser.AST.UnaryTransformType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -2712,1371 +2866,470 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public global::CppSharp.Parser.AST.QualifiedType Desugared { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*) __Instance)->desugared)); + } + + set + { + ((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*)__Instance)->desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } } - public bool IsInline + public global::CppSharp.Parser.AST.QualifiedType BaseType { get { - return ((global::CppSharp.Parser.AST.Namespace.__Internal*) __Instance)->isInline != 0; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*) __Instance)->baseType)); } set { - ((global::CppSharp.Parser.AST.Namespace.__Internal*)__Instance)->isInline = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*)__Instance)->baseType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } } - public unsafe partial class Enumeration : global::CppSharp.Parser.AST.DeclarationContext, IDisposable + public unsafe partial class VectorType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 488)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + internal global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - internal int maxFieldAlignment; + internal byte isDependent; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal elementType; [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; + internal uint numElements; - [FieldOffset(28)] - internal int lineNumberStart; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10VectorTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); - [FieldOffset(32)] - internal int lineNumberEnd; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10VectorTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + } - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + internal static new global::CppSharp.Parser.AST.VectorType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.VectorType(native.ToPointer(), skipVTables); + } - [FieldOffset(64)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + internal static global::CppSharp.Parser.AST.VectorType __CreateInstance(global::CppSharp.Parser.AST.VectorType.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.VectorType(native, skipVTables); + } - [FieldOffset(88)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + private static void* __CopyValue(global::CppSharp.Parser.AST.VectorType.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); + global::CppSharp.Parser.AST.VectorType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(112)] - internal byte isIncomplete; + private VectorType(global::CppSharp.Parser.AST.VectorType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(113)] - internal byte isDependent; + protected VectorType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(114)] - internal byte isImplicit; + public VectorType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - [FieldOffset(115)] - internal byte isInvalid; + public VectorType(global::CppSharp.Parser.AST.VectorType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(120)] - internal global::System.IntPtr completeDeclaration; + public global::CppSharp.Parser.AST.QualifiedType ElementType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VectorType.__Internal*) __Instance)->elementType)); + } - [FieldOffset(128)] - internal uint definitionOrder; + set + { + ((global::CppSharp.Parser.AST.VectorType.__Internal*)__Instance)->elementType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } - [FieldOffset(136)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + public uint NumElements + { + get + { + return ((global::CppSharp.Parser.AST.VectorType.__Internal*) __Instance)->numElements; + } - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + set + { + ((global::CppSharp.Parser.AST.VectorType.__Internal*)__Instance)->numElements = value; + } + } + } - [FieldOffset(184)] - internal global::System.IntPtr originalPtr; + public unsafe partial class BuiltinType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 12)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; - [FieldOffset(192)] - internal global::System.IntPtr comment; + [FieldOffset(4)] + internal byte isDependent; - [FieldOffset(200)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ Namespaces; + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.PrimitiveType type; - [FieldOffset(224)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11BuiltinTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); - [FieldOffset(248)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11BuiltinTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + } - [FieldOffset(272)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; + internal static new global::CppSharp.Parser.AST.BuiltinType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.BuiltinType(native.ToPointer(), skipVTables); + } - [FieldOffset(296)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; + internal static global::CppSharp.Parser.AST.BuiltinType __CreateInstance(global::CppSharp.Parser.AST.BuiltinType.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.BuiltinType(native, skipVTables); + } - [FieldOffset(320)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; + private static void* __CopyValue(global::CppSharp.Parser.AST.BuiltinType.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); + global::CppSharp.Parser.AST.BuiltinType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(344)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ TypeAliases; + private BuiltinType(global::CppSharp.Parser.AST.BuiltinType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(368)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ Variables; + protected BuiltinType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(392)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ Friends; + public BuiltinType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - [FieldOffset(416)] - internal global::Std.Map.__Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ anonymous; + public BuiltinType(global::CppSharp.Parser.AST.BuiltinType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(440)] - internal byte isAnonymous; + public global::CppSharp.Parser.AST.PrimitiveType Type + { + get + { + return ((global::CppSharp.Parser.AST.BuiltinType.__Internal*) __Instance)->type; + } - [FieldOffset(444)] - internal global::CppSharp.Parser.AST.Enumeration.EnumModifiers modifiers; + set + { + ((global::CppSharp.Parser.AST.BuiltinType.__Internal*)__Instance)->type = value; + } + } + } - [FieldOffset(448)] - internal global::System.IntPtr type; + public unsafe partial class VTableComponent : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 16)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.VTableComponentKind kind; - [FieldOffset(456)] - internal global::System.IntPtr builtinType; + [FieldOffset(4)] + internal uint offset; - [FieldOffset(464)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration_S_Item___N_std_N___1_S_allocator__S0_ Items; + [FieldOffset(8)] + internal global::System.IntPtr declaration; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11EnumerationC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST15VTableComponentC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11EnumerationC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST15VTableComponentC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11EnumerationD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration8getItemsEj")] - internal static extern global::System.IntPtr GetItems(global::System.IntPtr instance, uint i); + public global::System.IntPtr __Instance { get; protected set; } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration8addItemsERPNS2_4ItemE")] - internal static extern void AddItems(global::System.IntPtr instance, global::System.IntPtr s); + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration10clearItemsEv")] - internal static extern void ClearItems(global::System.IntPtr instance); + protected bool __ownsNativeInstance; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration14FindItemByNameERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEE")] - internal static extern global::System.IntPtr FindItemByName(global::System.IntPtr instance, global::System.IntPtr Name); + internal static global::CppSharp.Parser.AST.VTableComponent __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.VTableComponent(native.ToPointer(), skipVTables); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration13getItemsCountEv")] - internal static extern uint GetItemsCount(global::System.IntPtr instance); + internal static global::CppSharp.Parser.AST.VTableComponent __CreateInstance(global::CppSharp.Parser.AST.VTableComponent.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.VTableComponent(native, skipVTables); } - [Flags] - public enum EnumModifiers + private static void* __CopyValue(global::CppSharp.Parser.AST.VTableComponent.__Internal native) { - Anonymous = 1, - Scoped = 2, - Flags = 4 + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); + *(global::CppSharp.Parser.AST.VTableComponent.__Internal*) ret = native; + return ret.ToPointer(); } - public unsafe partial class Item : global::CppSharp.Parser.AST.Declaration, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 232)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; - - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; - - [FieldOffset(32)] - internal int lineNumberEnd; - - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; - - [FieldOffset(64)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - - [FieldOffset(88)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; - - [FieldOffset(112)] - internal byte isIncomplete; - - [FieldOffset(113)] - internal byte isDependent; - - [FieldOffset(114)] - internal byte isImplicit; - - [FieldOffset(115)] - internal byte isInvalid; - - [FieldOffset(120)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(128)] - internal uint definitionOrder; - - [FieldOffset(136)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; - - [FieldOffset(184)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(192)] - internal global::System.IntPtr comment; - - [FieldOffset(200)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C expression; - - [FieldOffset(224)] - internal ulong value; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4ItemC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4ItemC2ERKS3_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4ItemD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); - } - - internal static new global::CppSharp.Parser.AST.Enumeration.Item __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Enumeration.Item(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.Enumeration.Item __CreateInstance(global::CppSharp.Parser.AST.Enumeration.Item.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Enumeration.Item(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.Enumeration.Item.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); - global::CppSharp.Parser.AST.Enumeration.Item.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private Item(global::CppSharp.Parser.AST.Enumeration.Item.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected Item(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public Item() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } - - public Item(global::CppSharp.Parser.AST.Enumeration.Item _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } - - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - - public string Expression - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*) __Instance)->expression)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*)__Instance)->expression), value); - } - } - - public ulong Value - { - get - { - return ((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*) __Instance)->value; - } - - set - { - ((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*)__Instance)->value = value; - } - } - } - - internal static new global::CppSharp.Parser.AST.Enumeration __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Enumeration(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.Enumeration __CreateInstance(global::CppSharp.Parser.AST.Enumeration.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Enumeration(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.Enumeration.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); - global::CppSharp.Parser.AST.Enumeration.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private Enumeration(global::CppSharp.Parser.AST.Enumeration.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected Enumeration(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public Enumeration() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } - - public Enumeration(global::CppSharp.Parser.AST.Enumeration _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } - - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - - public global::CppSharp.Parser.AST.Enumeration.Item GetItems(uint i) - { - var __ret = __Internal.GetItems((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Enumeration.Item __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Enumeration.Item) global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Enumeration.Item.__CreateInstance(__ret); - return __result0; - } - - public void AddItems(global::CppSharp.Parser.AST.Enumeration.Item s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddItems((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearItems() - { - __Internal.ClearItems((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.Enumeration.Item FindItemByName(string Name) - { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, Name); - var __arg0 = __basicString0.__Instance; - var __ret = __Internal.FindItemByName((__Instance + __PointerAdjustment), __arg0); - __basicString0.Dispose(false); - global::CppSharp.Parser.AST.Enumeration.Item __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Enumeration.Item) global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Enumeration.Item.__CreateInstance(__ret); - return __result0; - } - - public global::CppSharp.Parser.AST.Enumeration.EnumModifiers Modifiers - { - get - { - return ((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->modifiers; - } - - set - { - ((global::CppSharp.Parser.AST.Enumeration.__Internal*)__Instance)->modifiers = value; - } - } - - public global::CppSharp.Parser.AST.Type Type - { - get - { - global::CppSharp.Parser.AST.Type __result0; - if (((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type)) - __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type]; - else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.Enumeration.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } - - public global::CppSharp.Parser.AST.BuiltinType BuiltinType - { - get - { - global::CppSharp.Parser.AST.BuiltinType __result0; - if (((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.BuiltinType.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType)) - __result0 = (global::CppSharp.Parser.AST.BuiltinType) global::CppSharp.Parser.AST.BuiltinType.NativeToManagedMap[((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType]; - else __result0 = global::CppSharp.Parser.AST.BuiltinType.__CreateInstance(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.Enumeration.__Internal*)__Instance)->builtinType = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } - - public uint ItemsCount - { - get - { - var __ret = __Internal.GetItemsCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - } - - public unsafe partial class Function : global::CppSharp.Parser.AST.DeclarationContext, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 616)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; - - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; - - [FieldOffset(32)] - internal int lineNumberEnd; - - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; - - [FieldOffset(64)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - - [FieldOffset(88)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; - - [FieldOffset(112)] - internal byte isIncomplete; - - [FieldOffset(113)] - internal byte isDependent; - - [FieldOffset(114)] - internal byte isImplicit; - - [FieldOffset(115)] - internal byte isInvalid; - - [FieldOffset(120)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(128)] - internal uint definitionOrder; - - [FieldOffset(136)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; - - [FieldOffset(184)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(192)] - internal global::System.IntPtr comment; - - [FieldOffset(200)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ Namespaces; - - [FieldOffset(224)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; - - [FieldOffset(248)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; - - [FieldOffset(272)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; - - [FieldOffset(296)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; - - [FieldOffset(320)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; - - [FieldOffset(344)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ TypeAliases; - - [FieldOffset(368)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ Variables; - - [FieldOffset(392)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ Friends; - - [FieldOffset(416)] - internal global::Std.Map.__Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ anonymous; - - [FieldOffset(440)] - internal byte isAnonymous; - - [FieldOffset(448)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; - - [FieldOffset(464)] - internal byte isReturnIndirect; - - [FieldOffset(465)] - internal byte hasThisReturn; - - [FieldOffset(466)] - internal byte isConstExpr; - - [FieldOffset(467)] - internal byte isVariadic; - - [FieldOffset(468)] - internal byte isInline; - - [FieldOffset(469)] - internal byte isPure; - - [FieldOffset(470)] - internal byte isDeleted; - - [FieldOffset(471)] - internal byte isDefaulted; - - [FieldOffset(472)] - internal global::CppSharp.Parser.AST.FriendKind friendKind; - - [FieldOffset(476)] - internal global::CppSharp.Parser.AST.CXXOperatorKind operatorKind; - - [FieldOffset(480)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C mangled; - - [FieldOffset(504)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C signature; - - [FieldOffset(528)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C body; - - [FieldOffset(552)] - internal global::CppSharp.Parser.AST.CallingConvention callingConvention; - - [FieldOffset(560)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_N___1_S_allocator__S0_ Parameters; - - [FieldOffset(584)] - internal global::System.IntPtr specializationInfo; - - [FieldOffset(592)] - internal global::System.IntPtr instantiatedFrom; - - [FieldOffset(600)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8FunctionC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8FunctionC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8FunctionD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Function13getParametersEj")] - internal static extern global::System.IntPtr GetParameters(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Function13addParametersERPNS1_9ParameterE")] - internal static extern void AddParameters(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Function15clearParametersEv")] - internal static extern void ClearParameters(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Function18getParametersCountEv")] - internal static extern uint GetParametersCount(global::System.IntPtr instance); - } - - internal static new global::CppSharp.Parser.AST.Function __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Function(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.Function __CreateInstance(global::CppSharp.Parser.AST.Function.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Function(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.Function.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); - global::CppSharp.Parser.AST.Function.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private Function(global::CppSharp.Parser.AST.Function.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) + private VTableComponent(global::CppSharp.Parser.AST.VTableComponent.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Function(void* native, bool skipVTables = false) - : base((void*) null) + protected VTableComponent(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public Function() - : this((void*) null) + public VTableComponent() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public Function(global::CppSharp.Parser.AST.Function _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } - - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - - public global::CppSharp.Parser.AST.Parameter GetParameters(uint i) - { - var __ret = __Internal.GetParameters((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Parameter __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Parameter.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Parameter) global::CppSharp.Parser.AST.Parameter.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Parameter.__CreateInstance(__ret); - return __result0; - } - - public void AddParameters(global::CppSharp.Parser.AST.Parameter s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddParameters((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearParameters() - { - __Internal.ClearParameters((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.QualifiedType ReturnType - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->returnType)); - } - - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->returnType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } - } - - public bool IsReturnIndirect - { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isReturnIndirect != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isReturnIndirect = (byte) (value ? 1 : 0); - } - } - - public bool HasThisReturn - { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->hasThisReturn != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->hasThisReturn = (byte) (value ? 1 : 0); - } - } - - public bool IsConstExpr - { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isConstExpr != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isConstExpr = (byte) (value ? 1 : 0); - } - } - - public bool IsVariadic - { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isVariadic != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isVariadic = (byte) (value ? 1 : 0); - } - } - - public bool IsInline - { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isInline != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isInline = (byte) (value ? 1 : 0); - } - } - - public bool IsPure - { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isPure != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isPure = (byte) (value ? 1 : 0); - } - } - - public bool IsDeleted - { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isDeleted != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isDeleted = (byte) (value ? 1 : 0); - } - } - - public bool IsDefaulted - { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isDefaulted != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isDefaulted = (byte) (value ? 1 : 0); - } - } - - public global::CppSharp.Parser.AST.FriendKind FriendKind - { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->friendKind; - } - - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->friendKind = value; - } - } - - public global::CppSharp.Parser.AST.CXXOperatorKind OperatorKind - { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->operatorKind; - } - - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->operatorKind = value; - } - } - - public string Mangled - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->mangled)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->mangled), value); - } - } - - public string Signature - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->signature)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->signature), value); - } - } - - public string Body - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->body)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->body), value); - } + public VTableComponent(global::CppSharp.Parser.AST.VTableComponent _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.VTableComponent.__Internal*) _0.__Instance); } - public global::CppSharp.Parser.AST.CallingConvention CallingConvention + public void Dispose() { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->callingConvention; - } + Dispose(disposing: true); + } - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->callingConvention = value; - } + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.VTableComponent __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.FunctionTemplateSpecialization SpecializationInfo + public global::CppSharp.Parser.AST.VTableComponentKind Kind { get { - global::CppSharp.Parser.AST.FunctionTemplateSpecialization __result0; - if (((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo)) - __result0 = (global::CppSharp.Parser.AST.FunctionTemplateSpecialization) global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap[((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo]; - else __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__CreateInstance(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo); - return __result0; + return ((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->kind; } set { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->specializationInfo = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.VTableComponent.__Internal*)__Instance)->kind = value; } } - public global::CppSharp.Parser.AST.Function InstantiatedFrom + public uint Offset { get { - global::CppSharp.Parser.AST.Function __result0; - if (((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom)) - __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom]; - else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom); - return __result0; + return ((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->offset; } set { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->instantiatedFrom = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.VTableComponent.__Internal*)__Instance)->offset = value; } } - public global::CppSharp.Parser.AST.QualifiedType QualifiedType + public global::CppSharp.Parser.AST.Declaration Declaration { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->qualifiedType)); + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration); + return __result0; } set { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } - } - - public uint ParametersCount - { - get - { - var __ret = __Internal.GetParametersCount((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.VTableComponent.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } - public unsafe partial class Class : global::CppSharp.Parser.AST.DeclarationContext, IDisposable + public unsafe partial class VTableLayout : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 568)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 24)] + public partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; - - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; - - [FieldOffset(32)] - internal int lineNumberEnd; - - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; - - [FieldOffset(64)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - - [FieldOffset(88)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; - - [FieldOffset(112)] - internal byte isIncomplete; - - [FieldOffset(113)] - internal byte isDependent; - - [FieldOffset(114)] - internal byte isImplicit; - - [FieldOffset(115)] - internal byte isInvalid; - - [FieldOffset(120)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(128)] - internal uint definitionOrder; - - [FieldOffset(136)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; - - [FieldOffset(184)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(192)] - internal global::System.IntPtr comment; - - [FieldOffset(200)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ Namespaces; - - [FieldOffset(224)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; - - [FieldOffset(248)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; - - [FieldOffset(272)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; - - [FieldOffset(296)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; - - [FieldOffset(320)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; - - [FieldOffset(344)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ TypeAliases; - - [FieldOffset(368)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ Variables; - - [FieldOffset(392)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ Friends; - - [FieldOffset(416)] - internal global::Std.Map.__Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ anonymous; - - [FieldOffset(440)] - internal byte isAnonymous; - - [FieldOffset(448)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BaseClassSpecifier___N_std_N___1_S_allocator__S0_ Bases; - - [FieldOffset(472)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Field___N_std_N___1_S_allocator__S0_ Fields; - - [FieldOffset(496)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_N___1_S_allocator__S0_ Methods; - - [FieldOffset(520)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_AccessSpecifierDecl___N_std_N___1_S_allocator__S0_ Specifiers; - - [FieldOffset(544)] - internal byte isPOD; - - [FieldOffset(545)] - internal byte isAbstract; - - [FieldOffset(546)] - internal byte isUnion; - - [FieldOffset(547)] - internal byte isDynamic; - - [FieldOffset(548)] - internal byte isPolymorphic; - - [FieldOffset(549)] - internal byte hasNonTrivialDefaultConstructor; - - [FieldOffset(550)] - internal byte hasNonTrivialCopyConstructor; - - [FieldOffset(551)] - internal byte hasNonTrivialDestructor; - - [FieldOffset(552)] - internal byte isExternCContext; - - [FieldOffset(553)] - internal byte isInjected; - - [FieldOffset(560)] - internal global::System.IntPtr layout; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5ClassC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5ClassC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5ClassD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class8getBasesEj")] - internal static extern global::System.IntPtr GetBases(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class8addBasesERPNS1_18BaseClassSpecifierE")] - internal static extern void AddBases(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class10clearBasesEv")] - internal static extern void ClearBases(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class9getFieldsEj")] - internal static extern global::System.IntPtr GetFields(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class9addFieldsERPNS1_5FieldE")] - internal static extern void AddFields(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class11clearFieldsEv")] - internal static extern void ClearFields(global::System.IntPtr instance); + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_VTableComponent___N_std_N___1_S_allocator__S0_ Components; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class10getMethodsEj")] - internal static extern global::System.IntPtr GetMethods(global::System.IntPtr instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayoutC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class10addMethodsERPNS1_6MethodE")] - internal static extern void AddMethods(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayoutC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class12clearMethodsEv")] - internal static extern void ClearMethods(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayoutD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class13getSpecifiersEj")] - internal static extern global::System.IntPtr GetSpecifiers(global::System.IntPtr instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayout13getComponentsEj")] + internal static extern global::CppSharp.Parser.AST.VTableComponent.__Internal GetComponents(global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class13addSpecifiersERPNS1_19AccessSpecifierDeclE")] - internal static extern void AddSpecifiers(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayout13addComponentsERNS1_15VTableComponentE")] + internal static extern void AddComponents(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class15clearSpecifiersEv")] - internal static extern void ClearSpecifiers(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayout15clearComponentsEv")] + internal static extern void ClearComponents(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class13getBasesCountEv")] - internal static extern uint GetBasesCount(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayout18getComponentsCountEv")] + internal static extern uint GetComponentsCount(global::System.IntPtr instance); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class14getFieldsCountEv")] - internal static extern uint GetFieldsCount(global::System.IntPtr instance); + public global::System.IntPtr __Instance { get; protected set; } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class15getMethodsCountEv")] - internal static extern uint GetMethodsCount(global::System.IntPtr instance); + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class18getSpecifiersCountEv")] - internal static extern uint GetSpecifiersCount(global::System.IntPtr instance); - } + protected bool __ownsNativeInstance; - internal static new global::CppSharp.Parser.AST.Class __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.VTableLayout __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Class(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.VTableLayout(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Class __CreateInstance(global::CppSharp.Parser.AST.Class.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.VTableLayout __CreateInstance(global::CppSharp.Parser.AST.VTableLayout.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Class(native, skipVTables); + return new global::CppSharp.Parser.AST.VTableLayout(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Class.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VTableLayout.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); - global::CppSharp.Parser.AST.Class.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); + global::CppSharp.Parser.AST.VTableLayout.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Class(global::CppSharp.Parser.AST.Class.__Internal native, bool skipVTables = false) + private VTableLayout(global::CppSharp.Parser.AST.VTableLayout.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Class(void* native, bool skipVTables = false) - : base((void*) null) + protected VTableLayout(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public Class() - : this((void*) null) + public VTableLayout() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public Class(global::CppSharp.Parser.AST.Class _0) - : this((void*) null) + public VTableLayout(global::CppSharp.Parser.AST.VTableLayout _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -4085,11 +3338,16 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.VTableLayout __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -4098,467 +3356,457 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.BaseClassSpecifier GetBases(uint i) + public global::CppSharp.Parser.AST.VTableComponent GetComponents(uint i) { - var __ret = __Internal.GetBases((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.BaseClassSpecifier __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.BaseClassSpecifier.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.BaseClassSpecifier) global::CppSharp.Parser.AST.BaseClassSpecifier.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.BaseClassSpecifier.__CreateInstance(__ret); - return __result0; + var __ret = __Internal.GetComponents((__Instance + __PointerAdjustment), i); + return global::CppSharp.Parser.AST.VTableComponent.__CreateInstance(__ret); } - public void AddBases(global::CppSharp.Parser.AST.BaseClassSpecifier s) + public void AddComponents(global::CppSharp.Parser.AST.VTableComponent s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddBases((__Instance + __PointerAdjustment), __arg0); + __Internal.AddComponents((__Instance + __PointerAdjustment), __arg0); } - public void ClearBases() + public void ClearComponents() { - __Internal.ClearBases((__Instance + __PointerAdjustment)); + __Internal.ClearComponents((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.Field GetFields(uint i) + public uint ComponentsCount { - var __ret = __Internal.GetFields((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Field __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Field.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Field) global::CppSharp.Parser.AST.Field.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Field.__CreateInstance(__ret); - return __result0; + get + { + var __ret = __Internal.GetComponentsCount((__Instance + __PointerAdjustment)); + return __ret; + } } + } - public void AddFields(global::CppSharp.Parser.AST.Field s) + public unsafe partial class VFTableInfo : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public partial struct __Internal { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddFields((__Instance + __PointerAdjustment), __arg0); + [FieldOffset(0)] + internal ulong VBTableIndex; + + [FieldOffset(8)] + internal uint VFPtrOffset; + + [FieldOffset(12)] + internal uint VFPtrFullOffset; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.VTableLayout.__Internal layout; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11VFTableInfoC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11VFTableInfoC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11VFTableInfoD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); } - public void ClearFields() + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.VFTableInfo __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - __Internal.ClearFields((__Instance + __PointerAdjustment)); + return new global::CppSharp.Parser.AST.VFTableInfo(native.ToPointer(), skipVTables); } - public global::CppSharp.Parser.AST.Method GetMethods(uint i) + internal static global::CppSharp.Parser.AST.VFTableInfo __CreateInstance(global::CppSharp.Parser.AST.VFTableInfo.__Internal native, bool skipVTables = false) { - var __ret = __Internal.GetMethods((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Method __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Method.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Method) global::CppSharp.Parser.AST.Method.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Method.__CreateInstance(__ret); - return __result0; + return new global::CppSharp.Parser.AST.VFTableInfo(native, skipVTables); } - public void AddMethods(global::CppSharp.Parser.AST.Method s) + private static void* __CopyValue(global::CppSharp.Parser.AST.VFTableInfo.__Internal native) { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddMethods((__Instance + __PointerAdjustment), __arg0); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); + global::CppSharp.Parser.AST.VFTableInfo.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); } - public void ClearMethods() + private VFTableInfo(global::CppSharp.Parser.AST.VFTableInfo.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - __Internal.ClearMethods((__Instance + __PointerAdjustment)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; } - public global::CppSharp.Parser.AST.AccessSpecifierDecl GetSpecifiers(uint i) + protected VFTableInfo(void* native, bool skipVTables = false) { - var __ret = __Internal.GetSpecifiers((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.AccessSpecifierDecl __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.AccessSpecifierDecl.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.AccessSpecifierDecl) global::CppSharp.Parser.AST.AccessSpecifierDecl.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.AccessSpecifierDecl.__CreateInstance(__ret); - return __result0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - public void AddSpecifiers(global::CppSharp.Parser.AST.AccessSpecifierDecl s) + public VFTableInfo() { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddSpecifiers((__Instance + __PointerAdjustment), __arg0); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); } - public void ClearSpecifiers() + public VFTableInfo(global::CppSharp.Parser.AST.VFTableInfo _0) { - __Internal.ClearSpecifiers((__Instance + __PointerAdjustment)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public bool IsPOD + public void Dispose() { - get - { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isPOD != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isPOD = (byte) (value ? 1 : 0); - } + Dispose(disposing: true); } - public bool IsAbstract + public virtual void Dispose(bool disposing) { - get - { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isAbstract != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isAbstract = (byte) (value ? 1 : 0); - } + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.VFTableInfo __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; } - public bool IsUnion + public ulong VBTableIndex { get { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isUnion != 0; + return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VBTableIndex; } set { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isUnion = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->VBTableIndex = value; } } - public bool IsDynamic + public uint VFPtrOffset { get { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isDynamic != 0; + return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VFPtrOffset; } set { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isDynamic = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->VFPtrOffset = value; } } - public bool IsPolymorphic + public uint VFPtrFullOffset { get { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isPolymorphic != 0; + return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VFPtrFullOffset; } set { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isPolymorphic = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->VFPtrFullOffset = value; } } - public bool HasNonTrivialDefaultConstructor + public global::CppSharp.Parser.AST.VTableLayout Layout { get { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->hasNonTrivialDefaultConstructor != 0; + return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->layout)); } set { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->hasNonTrivialDefaultConstructor = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->layout = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.VTableLayout.__Internal() : *(global::CppSharp.Parser.AST.VTableLayout.__Internal*) value.__Instance; } } + } - public bool HasNonTrivialCopyConstructor + public unsafe partial class LayoutField : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public partial struct __Internal { - get - { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->hasNonTrivialCopyConstructor != 0; - } + [FieldOffset(0)] + internal uint offset; - set - { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->hasNonTrivialCopyConstructor = (byte) (value ? 1 : 0); - } + [FieldOffset(8)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(32)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(48)] + internal global::System.IntPtr fieldPtr; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutFieldC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutFieldC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr other); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutFieldD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); } - public bool HasNonTrivialDestructor + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.LayoutField __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - get - { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->hasNonTrivialDestructor != 0; - } + return new global::CppSharp.Parser.AST.LayoutField(native.ToPointer(), skipVTables); + } - set - { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->hasNonTrivialDestructor = (byte) (value ? 1 : 0); - } + internal static global::CppSharp.Parser.AST.LayoutField __CreateInstance(global::CppSharp.Parser.AST.LayoutField.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.LayoutField(native, skipVTables); } - public bool IsExternCContext + private static void* __CopyValue(global::CppSharp.Parser.AST.LayoutField.__Internal native) { - get - { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isExternCContext != 0; - } + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); + global::CppSharp.Parser.AST.LayoutField.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - set - { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isExternCContext = (byte) (value ? 1 : 0); - } + private LayoutField(global::CppSharp.Parser.AST.LayoutField.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; } - public bool IsInjected + protected LayoutField(void* native, bool skipVTables = false) { - get - { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isInjected != 0; - } + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - set - { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isInjected = (byte) (value ? 1 : 0); - } + public LayoutField() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.ClassLayout Layout + public LayoutField(global::CppSharp.Parser.AST.LayoutField other) { - get - { - global::CppSharp.Parser.AST.ClassLayout __result0; - if (((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.ClassLayout.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout)) - __result0 = (global::CppSharp.Parser.AST.ClassLayout) global::CppSharp.Parser.AST.ClassLayout.NativeToManagedMap[((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout]; - else __result0 = global::CppSharp.Parser.AST.ClassLayout.__CreateInstance(((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout); - return __result0; - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(other, null)) + throw new global::System.ArgumentNullException("other", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = other.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } - set - { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->layout = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + public void Dispose() + { + Dispose(disposing: true); } - public uint BasesCount + public virtual void Dispose(bool disposing) { - get - { - var __ret = __Internal.GetBasesCount((__Instance + __PointerAdjustment)); - return __ret; - } + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.LayoutField __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; } - public uint FieldsCount + public uint Offset { get { - var __ret = __Internal.GetFieldsCount((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->offset; } - } - public uint MethodsCount - { - get + set { - var __ret = __Internal.GetMethodsCount((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->offset = value; } } - public uint SpecifiersCount + public string Name { get { - var __ret = __Internal.GetSpecifiersCount((__Instance + __PointerAdjustment)); - return __ret; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->name)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->name), value); } } - } - public unsafe partial class Template : global::CppSharp.Parser.AST.Declaration, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 232)] - public new partial struct __Internal + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; - - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; - - [FieldOffset(32)] - internal int lineNumberEnd; - - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; - - [FieldOffset(64)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - - [FieldOffset(88)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; - - [FieldOffset(112)] - internal byte isIncomplete; - - [FieldOffset(113)] - internal byte isDependent; - - [FieldOffset(114)] - internal byte isImplicit; - - [FieldOffset(115)] - internal byte isInvalid; - - [FieldOffset(120)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(128)] - internal uint definitionOrder; - - [FieldOffset(136)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->qualifiedType)); + } - [FieldOffset(184)] - internal global::System.IntPtr originalPtr; + set + { + ((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } - [FieldOffset(192)] - internal global::System.IntPtr comment; + public global::System.IntPtr FieldPtr + { + get + { + return ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->fieldPtr; + } - [FieldOffset(200)] - internal global::System.IntPtr TemplatedDecl; + set + { + ((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->fieldPtr = (global::System.IntPtr) value; + } + } + } - [FieldOffset(208)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Parameters; + public unsafe partial class LayoutBase : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 16)] + public partial struct __Internal + { + [FieldOffset(0)] + internal uint offset; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateC2ENS1_15DeclarationKindE")] - internal static extern void ctor(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); + [FieldOffset(8)] + internal global::System.IntPtr _class; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST10LayoutBaseC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST10LayoutBaseC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr other); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST10LayoutBaseD2Ev")] internal static extern void dtor(global::System.IntPtr instance); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Template13getParametersEj")] - internal static extern global::System.IntPtr GetParameters(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Template13addParametersERPNS1_11DeclarationE")] - internal static extern void AddParameters(global::System.IntPtr instance, global::System.IntPtr s); + public global::System.IntPtr __Instance { get; protected set; } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Template15clearParametersEv")] - internal static extern void ClearParameters(global::System.IntPtr instance); + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Template18getParametersCountEv")] - internal static extern uint GetParametersCount(global::System.IntPtr instance); - } + protected bool __ownsNativeInstance; - internal static new global::CppSharp.Parser.AST.Template __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.LayoutBase __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Template(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.LayoutBase(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Template __CreateInstance(global::CppSharp.Parser.AST.Template.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.LayoutBase __CreateInstance(global::CppSharp.Parser.AST.LayoutBase.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Template(native, skipVTables); + return new global::CppSharp.Parser.AST.LayoutBase(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Template.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.LayoutBase.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); - global::CppSharp.Parser.AST.Template.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); + global::CppSharp.Parser.AST.LayoutBase.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Template(global::CppSharp.Parser.AST.Template.__Internal native, bool skipVTables = false) + private LayoutBase(global::CppSharp.Parser.AST.LayoutBase.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Template(void* native, bool skipVTables = false) - : base((void*) null) + protected LayoutBase(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public Template(global::CppSharp.Parser.AST.DeclarationKind kind) - : this((void*) null) + public LayoutBase() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), kind); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public Template() - : this((void*) null) + public LayoutBase(global::CppSharp.Parser.AST.LayoutBase other) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + if (ReferenceEquals(other, null)) + throw new global::System.ArgumentNullException("other", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = other.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public Template(global::CppSharp.Parser.AST.Template _0) - : this((void*) null) + public void Dispose() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + Dispose(disposing: true); } - public override void Dispose(bool disposing) + public virtual void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.LayoutBase __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -4567,193 +3815,199 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.Declaration GetParameters(uint i) - { - var __ret = __Internal.GetParameters((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Declaration __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(__ret); - return __result0; - } - - public void AddParameters(global::CppSharp.Parser.AST.Declaration s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddParameters((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearParameters() - { - __Internal.ClearParameters((__Instance + __PointerAdjustment)); - } - - public static implicit operator global::CppSharp.Parser.AST.Template(global::CppSharp.Parser.AST.DeclarationKind kind) - { - return new global::CppSharp.Parser.AST.Template(kind); - } - - public global::CppSharp.Parser.AST.Declaration TemplatedDecl + public uint Offset { get { - global::CppSharp.Parser.AST.Declaration __result0; - if (((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl); - return __result0; + return ((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->offset; } set { - ((global::CppSharp.Parser.AST.Template.__Internal*)__Instance)->TemplatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.LayoutBase.__Internal*)__Instance)->offset = value; } } - public uint ParametersCount + public global::CppSharp.Parser.AST.Class Class { get { - var __ret = __Internal.GetParametersCount((__Instance + __PointerAdjustment)); - return __ret; + global::CppSharp.Parser.AST.Class __result0; + if (((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class)) + __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class]; + else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.LayoutBase.__Internal*)__Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } - public unsafe partial class TypedefDecl : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable + public unsafe partial class ClassLayout : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 216)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 136)] + public partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; + internal global::CppSharp.Parser.AST.CppAbi ABI; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_VFTableInfo___N_std_N___1_S_allocator__S0_ VFTables; - [FieldOffset(16)] - internal global::System.IntPtr _namespace; + [FieldOffset(32)] + internal global::CppSharp.Parser.AST.VTableLayout.__Internal layout; - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; + [FieldOffset(56)] + internal byte hasOwnVFPtr; - [FieldOffset(28)] - internal int lineNumberStart; + [FieldOffset(64)] + internal long VBPtrOffset; - [FieldOffset(32)] - internal int lineNumberEnd; + [FieldOffset(72)] + internal int alignment; - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + [FieldOffset(76)] + internal int size; - [FieldOffset(64)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + [FieldOffset(80)] + internal int dataSize; [FieldOffset(88)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_LayoutField___N_std_N___1_S_allocator__S0_ Fields; [FieldOffset(112)] - internal byte isIncomplete; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_LayoutBase___N_std_N___1_S_allocator__S0_ Bases; - [FieldOffset(113)] - internal byte isDependent; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayoutC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); - [FieldOffset(114)] - internal byte isImplicit; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayoutC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - [FieldOffset(115)] - internal byte isInvalid; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayoutD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); - [FieldOffset(120)] - internal global::System.IntPtr completeDeclaration; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout11getVFTablesEj")] + internal static extern void GetVFTables(global::System.IntPtr @return, global::System.IntPtr instance, uint i); - [FieldOffset(128)] - internal uint definitionOrder; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout11addVFTablesERNS1_11VFTableInfoE")] + internal static extern void AddVFTables(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout13clearVFTablesEv")] + internal static extern void ClearVFTables(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout9getFieldsEj")] + internal static extern void GetFields(global::System.IntPtr @return, global::System.IntPtr instance, uint i); - [FieldOffset(136)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout9addFieldsERNS1_11LayoutFieldE")] + internal static extern void AddFields(global::System.IntPtr instance, global::System.IntPtr s); - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout11clearFieldsEv")] + internal static extern void ClearFields(global::System.IntPtr instance); - [FieldOffset(184)] - internal global::System.IntPtr originalPtr; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout8getBasesEj")] + internal static extern void GetBases(global::System.IntPtr @return, global::System.IntPtr instance, uint i); - [FieldOffset(192)] - internal global::System.IntPtr comment; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout8addBasesERNS1_10LayoutBaseE")] + internal static extern void AddBases(global::System.IntPtr instance, global::System.IntPtr s); - [FieldOffset(200)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout10clearBasesEv")] + internal static extern void ClearBases(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefDeclC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout16getVFTablesCountEv")] + internal static extern uint GetVFTablesCount(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefDeclC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout14getFieldsCountEv")] + internal static extern uint GetFieldsCount(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefDeclD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout13getBasesCountEv")] + internal static extern uint GetBasesCount(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.TypedefDecl __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.ClassLayout __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypedefDecl(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.ClassLayout(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TypedefDecl __CreateInstance(global::CppSharp.Parser.AST.TypedefDecl.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.ClassLayout __CreateInstance(global::CppSharp.Parser.AST.ClassLayout.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypedefDecl(native, skipVTables); + return new global::CppSharp.Parser.AST.ClassLayout(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefDecl.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.ClassLayout.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); - global::CppSharp.Parser.AST.TypedefDecl.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); + global::CppSharp.Parser.AST.ClassLayout.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TypedefDecl(global::CppSharp.Parser.AST.TypedefDecl.__Internal native, bool skipVTables = false) + private ClassLayout(global::CppSharp.Parser.AST.ClassLayout.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TypedefDecl(void* native, bool skipVTables = false) - : base((void*) null) + protected ClassLayout(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public TypedefDecl() - : this((void*) null) + public ClassLayout() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TypedefDecl(global::CppSharp.Parser.AST.TypedefDecl _0) - : this((void*) null) + public ClassLayout(global::CppSharp.Parser.AST.ClassLayout _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -4762,11 +4016,16 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.ClassLayout __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -4774,12 +4033,190 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } + + public global::CppSharp.Parser.AST.VFTableInfo GetVFTables(uint i) + { + var __ret = new global::CppSharp.Parser.AST.VFTableInfo.__Internal(); + __Internal.GetVFTables(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); + return global::CppSharp.Parser.AST.VFTableInfo.__CreateInstance(__ret); + } + + public void AddVFTables(global::CppSharp.Parser.AST.VFTableInfo s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddVFTables((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearVFTables() + { + __Internal.ClearVFTables((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.LayoutField GetFields(uint i) + { + var __ret = new global::CppSharp.Parser.AST.LayoutField.__Internal(); + __Internal.GetFields(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); + return global::CppSharp.Parser.AST.LayoutField.__CreateInstance(__ret); + } + + public void AddFields(global::CppSharp.Parser.AST.LayoutField s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddFields((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearFields() + { + __Internal.ClearFields((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.LayoutBase GetBases(uint i) + { + var __ret = new global::CppSharp.Parser.AST.LayoutBase.__Internal(); + __Internal.GetBases(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); + return global::CppSharp.Parser.AST.LayoutBase.__CreateInstance(__ret); + } + + public void AddBases(global::CppSharp.Parser.AST.LayoutBase s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddBases((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearBases() + { + __Internal.ClearBases((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.CppAbi ABI + { + get + { + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->ABI; + } + + set + { + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->ABI = value; + } + } + + public global::CppSharp.Parser.AST.VTableLayout Layout + { + get + { + return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->layout)); + } + + set + { + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->layout = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.VTableLayout.__Internal() : *(global::CppSharp.Parser.AST.VTableLayout.__Internal*) value.__Instance; + } + } + + public bool HasOwnVFPtr + { + get + { + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->hasOwnVFPtr != 0; + } + + set + { + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->hasOwnVFPtr = (byte) (value ? 1 : 0); + } + } + + public long VBPtrOffset + { + get + { + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->VBPtrOffset; + } + + set + { + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->VBPtrOffset = value; + } + } + + public int Alignment + { + get + { + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->alignment; + } + + set + { + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->alignment = value; + } + } + + public int Size + { + get + { + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->size; + } + + set + { + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->size = value; + } + } + + public int DataSize + { + get + { + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->dataSize; + } + + set + { + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->dataSize = value; + } + } + + public uint VFTablesCount + { + get + { + var __ret = __Internal.GetVFTablesCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + + public uint FieldsCount + { + get + { + var __ret = __Internal.GetFieldsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + + public uint BasesCount + { + get + { + var __ret = __Internal.GetBasesCount((__Instance + __PointerAdjustment)); + return __ret; + } + } } - public unsafe partial class TypedefNameDecl : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class Declaration : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 216)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 200)] + public partial struct __Internal { [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; @@ -4841,71 +4278,112 @@ namespace CppSharp [FieldOffset(192)] internal global::System.IntPtr comment; - [FieldOffset(200)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TypedefNameDeclC2ENS1_15DeclarationKindE")] + EntryPoint="_ZN8CppSharp9CppParser3AST11DeclarationC2ENS1_15DeclarationKindE")] internal static extern void ctor(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TypedefNameDeclC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST11DeclarationC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TypedefNameDeclD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11DeclarationD2Ev")] internal static extern void dtor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration23getPreprocessedEntitiesEj")] + internal static extern global::System.IntPtr GetPreprocessedEntities(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration23addPreprocessedEntitiesERPNS1_18PreprocessedEntityE")] + internal static extern void AddPreprocessedEntities(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration25clearPreprocessedEntitiesEv")] + internal static extern void ClearPreprocessedEntities(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration17getRedeclarationsEj")] + internal static extern global::System.IntPtr GetRedeclarations(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration17addRedeclarationsERPS2_")] + internal static extern void AddRedeclarations(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration19clearRedeclarationsEv")] + internal static extern void ClearRedeclarations(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration28getPreprocessedEntitiesCountEv")] + internal static extern uint GetPreprocessedEntitiesCount(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration22getRedeclarationsCountEv")] + internal static extern uint GetRedeclarationsCount(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.TypedefNameDecl __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.Declaration __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypedefNameDecl(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Declaration(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TypedefNameDecl __CreateInstance(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Declaration __CreateInstance(global::CppSharp.Parser.AST.Declaration.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypedefNameDecl(native, skipVTables); + return new global::CppSharp.Parser.AST.Declaration(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Declaration.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); - global::CppSharp.Parser.AST.TypedefNameDecl.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); + global::CppSharp.Parser.AST.Declaration.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TypedefNameDecl(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal native, bool skipVTables = false) + private Declaration(global::CppSharp.Parser.AST.Declaration.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TypedefNameDecl(void* native, bool skipVTables = false) - : base((void*) null) + protected Declaration(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public TypedefNameDecl(global::CppSharp.Parser.AST.DeclarationKind kind) - : this((void*) null) + public Declaration(global::CppSharp.Parser.AST.DeclarationKind kind) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment), kind); } - public TypedefNameDecl(global::CppSharp.Parser.AST.TypedefNameDecl _0) - : this((void*) null) + public Declaration(global::CppSharp.Parser.AST.Declaration _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -4914,7 +4392,12 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; @@ -4927,201 +4410,339 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public static implicit operator global::CppSharp.Parser.AST.TypedefNameDecl(global::CppSharp.Parser.AST.DeclarationKind kind) - { - return new global::CppSharp.Parser.AST.TypedefNameDecl(kind); + public global::CppSharp.Parser.AST.PreprocessedEntity GetPreprocessedEntities(uint i) + { + var __ret = __Internal.GetPreprocessedEntities((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.PreprocessedEntity __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.PreprocessedEntity.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.PreprocessedEntity) global::CppSharp.Parser.AST.PreprocessedEntity.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.PreprocessedEntity.__CreateInstance(__ret); + return __result0; + } + + public void AddPreprocessedEntities(global::CppSharp.Parser.AST.PreprocessedEntity s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddPreprocessedEntities((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearPreprocessedEntities() + { + __Internal.ClearPreprocessedEntities((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.Declaration GetRedeclarations(uint i) + { + var __ret = __Internal.GetRedeclarations((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Declaration __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(__ret); + return __result0; + } + + public void AddRedeclarations(global::CppSharp.Parser.AST.Declaration s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddRedeclarations((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearRedeclarations() + { + __Internal.ClearRedeclarations((__Instance + __PointerAdjustment)); + } + + public static implicit operator global::CppSharp.Parser.AST.Declaration(global::CppSharp.Parser.AST.DeclarationKind kind) + { + return new global::CppSharp.Parser.AST.Declaration(kind); + } + + public global::CppSharp.Parser.AST.DeclarationKind Kind + { + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->kind; + } + + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->kind = value; + } + } + + public int MaxFieldAlignment + { + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->maxFieldAlignment; + } + + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->maxFieldAlignment = value; + } + } + + public global::CppSharp.Parser.AST.AccessSpecifier Access + { + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->access; + } + + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->access = value; + } + } + + public global::CppSharp.Parser.AST.DeclarationContext Namespace + { + get + { + global::CppSharp.Parser.AST.DeclarationContext __result0; + if (((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.DeclarationContext.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace)) + __result0 = (global::CppSharp.Parser.AST.DeclarationContext) global::CppSharp.Parser.AST.DeclarationContext.NativeToManagedMap[((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace]; + else __result0 = global::CppSharp.Parser.AST.DeclarationContext.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->_namespace = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation Location + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->location); + } + + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->location = value.__Instance; + } + } + + public int LineNumberStart + { + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->lineNumberStart; + } + + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->lineNumberStart = value; + } + } + + public int LineNumberEnd + { + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->lineNumberEnd; + } + + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->lineNumberEnd = value; + } } - public global::CppSharp.Parser.AST.QualifiedType QualifiedType + public string Name { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TypedefNameDecl.__Internal*) __Instance)->qualifiedType)); + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->name)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.TypedefNameDecl.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->name), value); } } - } - public unsafe partial class TypeAlias : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 224)] - public new partial struct __Internal + public string USR { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; - - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; - - [FieldOffset(32)] - internal int lineNumberEnd; - - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; - - [FieldOffset(64)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - - [FieldOffset(88)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; - - [FieldOffset(112)] - internal byte isIncomplete; - - [FieldOffset(113)] - internal byte isDependent; - - [FieldOffset(114)] - internal byte isImplicit; - - [FieldOffset(115)] - internal byte isInvalid; - - [FieldOffset(120)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(128)] - internal uint definitionOrder; - - [FieldOffset(136)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; - - [FieldOffset(184)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(192)] - internal global::System.IntPtr comment; - - [FieldOffset(200)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - - [FieldOffset(216)] - internal global::System.IntPtr describedAliasTemplate; + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->USR)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9TypeAliasC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->USR), value); + } + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9TypeAliasC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + public string DebugText + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->debugText)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9TypeAliasD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->debugText), value); + } } - internal static new global::CppSharp.Parser.AST.TypeAlias __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public bool IsIncomplete { - return new global::CppSharp.Parser.AST.TypeAlias(native.ToPointer(), skipVTables); + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isIncomplete != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isIncomplete = (byte) (value ? 1 : 0); + } } - internal static global::CppSharp.Parser.AST.TypeAlias __CreateInstance(global::CppSharp.Parser.AST.TypeAlias.__Internal native, bool skipVTables = false) + public bool IsDependent { - return new global::CppSharp.Parser.AST.TypeAlias(native, skipVTables); + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isDependent != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isDependent = (byte) (value ? 1 : 0); + } } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypeAlias.__Internal native) + public bool IsImplicit { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); - global::CppSharp.Parser.AST.TypeAlias.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isImplicit != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isImplicit = (byte) (value ? 1 : 0); + } } - private TypeAlias(global::CppSharp.Parser.AST.TypeAlias.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) + public bool IsInvalid { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isInvalid != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isInvalid = (byte) (value ? 1 : 0); + } } - protected TypeAlias(void* native, bool skipVTables = false) - : base((void*) null) + public global::CppSharp.Parser.AST.Declaration CompleteDeclaration { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); + get + { + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->completeDeclaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } } - public TypeAlias() - : this((void*) null) + public uint DefinitionOrder { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->definitionOrder; + } + + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->definitionOrder = value; + } } - public TypeAlias(global::CppSharp.Parser.AST.TypeAlias _0) - : this((void*) null) + public global::System.IntPtr OriginalPtr { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->originalPtr; + } + + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->originalPtr = (global::System.IntPtr) value; + } } - public override void Dispose(bool disposing) + public global::CppSharp.Parser.AST.RawComment Comment { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; + get + { + global::CppSharp.Parser.AST.RawComment __result0; + if (((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.RawComment.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment)) + __result0 = (global::CppSharp.Parser.AST.RawComment) global::CppSharp.Parser.AST.RawComment.NativeToManagedMap[((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment]; + else __result0 = global::CppSharp.Parser.AST.RawComment.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->comment = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } } - public global::CppSharp.Parser.AST.TypeAliasTemplate DescribedAliasTemplate + public uint PreprocessedEntitiesCount { get { - global::CppSharp.Parser.AST.TypeAliasTemplate __result0; - if (((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TypeAliasTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate)) - __result0 = (global::CppSharp.Parser.AST.TypeAliasTemplate) global::CppSharp.Parser.AST.TypeAliasTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate]; - else __result0 = global::CppSharp.Parser.AST.TypeAliasTemplate.__CreateInstance(((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate); - return __result0; + var __ret = __Internal.GetPreprocessedEntitiesCount((__Instance + __PointerAdjustment)); + return __ret; } + } - set + public uint RedeclarationsCount + { + get { - ((global::CppSharp.Parser.AST.TypeAlias.__Internal*)__Instance)->describedAliasTemplate = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + var __ret = __Internal.GetRedeclarationsCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class TypeAliasTemplate : global::CppSharp.Parser.AST.Template, IDisposable + public unsafe partial class DeclarationContext : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 232)] + [StructLayout(LayoutKind.Explicit, Size = 448)] public new partial struct __Internal { [FieldOffset(0)] @@ -5185,207 +4806,259 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(200)] - internal global::System.IntPtr TemplatedDecl; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ Namespaces; - [FieldOffset(208)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Parameters; + [FieldOffset(224)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; + + [FieldOffset(248)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; + + [FieldOffset(272)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; + + [FieldOffset(296)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; + + [FieldOffset(320)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; + + [FieldOffset(344)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ TypeAliases; + + [FieldOffset(368)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ Variables; + + [FieldOffset(392)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ Friends; + + [FieldOffset(416)] + internal global::Std.Map.__Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ anonymous; + + [FieldOffset(440)] + internal byte isAnonymous; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17TypeAliasTemplateC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContextC2ENS1_15DeclarationKindE")] + internal static extern void ctor(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17TypeAliasTemplateC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContextC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17TypeAliasTemplateD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContextD2Ev")] internal static extern void dtor(global::System.IntPtr instance); - } - internal static new global::CppSharp.Parser.AST.TypeAliasTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.TypeAliasTemplate(native.ToPointer(), skipVTables); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext13getNamespacesEj")] + internal static extern global::System.IntPtr GetNamespaces(global::System.IntPtr instance, uint i); - internal static global::CppSharp.Parser.AST.TypeAliasTemplate __CreateInstance(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.TypeAliasTemplate(native, skipVTables); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext13addNamespacesERPNS1_9NamespaceE")] + internal static extern void AddNamespaces(global::System.IntPtr instance, global::System.IntPtr s); - private static void* __CopyValue(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); - global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext15clearNamespacesEv")] + internal static extern void ClearNamespaces(global::System.IntPtr instance); - private TypeAliasTemplate(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext8getEnumsEj")] + internal static extern global::System.IntPtr GetEnums(global::System.IntPtr instance, uint i); - protected TypeAliasTemplate(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext8addEnumsERPNS1_11EnumerationE")] + internal static extern void AddEnums(global::System.IntPtr instance, global::System.IntPtr s); - public TypeAliasTemplate() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10clearEnumsEv")] + internal static extern void ClearEnums(global::System.IntPtr instance); - public TypeAliasTemplate(global::CppSharp.Parser.AST.TypeAliasTemplate _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12getFunctionsEj")] + internal static extern global::System.IntPtr GetFunctions(global::System.IntPtr instance, uint i); - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12addFunctionsERPNS1_8FunctionE")] + internal static extern void AddFunctions(global::System.IntPtr instance, global::System.IntPtr s); - public unsafe partial class Variable : global::CppSharp.Parser.AST.Declaration, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 240)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14clearFunctionsEv")] + internal static extern void ClearFunctions(global::System.IntPtr instance); - [FieldOffset(4)] - internal int maxFieldAlignment; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10getClassesEj")] + internal static extern global::System.IntPtr GetClasses(global::System.IntPtr instance, uint i); - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10addClassesERPNS1_5ClassE")] + internal static extern void AddClasses(global::System.IntPtr instance, global::System.IntPtr s); - [FieldOffset(16)] - internal global::System.IntPtr _namespace; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12clearClassesEv")] + internal static extern void ClearClasses(global::System.IntPtr instance); - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12getTemplatesEj")] + internal static extern global::System.IntPtr GetTemplates(global::System.IntPtr instance, uint i); - [FieldOffset(28)] - internal int lineNumberStart; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12addTemplatesERPNS1_8TemplateE")] + internal static extern void AddTemplates(global::System.IntPtr instance, global::System.IntPtr s); - [FieldOffset(32)] - internal int lineNumberEnd; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14clearTemplatesEv")] + internal static extern void ClearTemplates(global::System.IntPtr instance); - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext11getTypedefsEj")] + internal static extern global::System.IntPtr GetTypedefs(global::System.IntPtr instance, uint i); - [FieldOffset(64)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext11addTypedefsERPNS1_11TypedefDeclE")] + internal static extern void AddTypedefs(global::System.IntPtr instance, global::System.IntPtr s); - [FieldOffset(88)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext13clearTypedefsEv")] + internal static extern void ClearTypedefs(global::System.IntPtr instance); - [FieldOffset(112)] - internal byte isIncomplete; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14getTypeAliasesEj")] + internal static extern global::System.IntPtr GetTypeAliases(global::System.IntPtr instance, uint i); - [FieldOffset(113)] - internal byte isDependent; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14addTypeAliasesERPNS1_9TypeAliasE")] + internal static extern void AddTypeAliases(global::System.IntPtr instance, global::System.IntPtr s); - [FieldOffset(114)] - internal byte isImplicit; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext16clearTypeAliasesEv")] + internal static extern void ClearTypeAliases(global::System.IntPtr instance); - [FieldOffset(115)] - internal byte isInvalid; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12getVariablesEj")] + internal static extern global::System.IntPtr GetVariables(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12addVariablesERPNS1_8VariableE")] + internal static extern void AddVariables(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14clearVariablesEv")] + internal static extern void ClearVariables(global::System.IntPtr instance); - [FieldOffset(120)] - internal global::System.IntPtr completeDeclaration; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10getFriendsEj")] + internal static extern global::System.IntPtr GetFriends(global::System.IntPtr instance, uint i); - [FieldOffset(128)] - internal uint definitionOrder; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10addFriendsERPNS1_6FriendE")] + internal static extern void AddFriends(global::System.IntPtr instance, global::System.IntPtr s); - [FieldOffset(136)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12clearFriendsEv")] + internal static extern void ClearFriends(global::System.IntPtr instance); - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext18getNamespacesCountEv")] + internal static extern uint GetNamespacesCount(global::System.IntPtr instance); - [FieldOffset(184)] - internal global::System.IntPtr originalPtr; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext13getEnumsCountEv")] + internal static extern uint GetEnumsCount(global::System.IntPtr instance); - [FieldOffset(192)] - internal global::System.IntPtr comment; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext17getFunctionsCountEv")] + internal static extern uint GetFunctionsCount(global::System.IntPtr instance); - [FieldOffset(200)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C mangled; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext15getClassesCountEv")] + internal static extern uint GetClassesCount(global::System.IntPtr instance); - [FieldOffset(224)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext17getTemplatesCountEv")] + internal static extern uint GetTemplatesCount(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8VariableC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext16getTypedefsCountEv")] + internal static extern uint GetTypedefsCount(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8VariableC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext19getTypeAliasesCountEv")] + internal static extern uint GetTypeAliasesCount(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8VariableD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext17getVariablesCountEv")] + internal static extern uint GetVariablesCount(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext15getFriendsCountEv")] + internal static extern uint GetFriendsCount(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.Variable __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.DeclarationContext __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Variable(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.DeclarationContext(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Variable __CreateInstance(global::CppSharp.Parser.AST.Variable.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.DeclarationContext __CreateInstance(global::CppSharp.Parser.AST.DeclarationContext.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Variable(native, skipVTables); + return new global::CppSharp.Parser.AST.DeclarationContext(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Variable.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.DeclarationContext.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); - global::CppSharp.Parser.AST.Variable.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal)); + global::CppSharp.Parser.AST.DeclarationContext.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Variable(global::CppSharp.Parser.AST.Variable.__Internal native, bool skipVTables = false) + private DeclarationContext(global::CppSharp.Parser.AST.DeclarationContext.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Variable(void* native, bool skipVTables = false) + protected DeclarationContext(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -5394,19 +5067,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Variable() + public DeclarationContext(global::CppSharp.Parser.AST.DeclarationKind kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + __Internal.ctor((__Instance + __PointerAdjustment), kind); } - public Variable(global::CppSharp.Parser.AST.Variable _0) + public DeclarationContext(global::CppSharp.Parser.AST.DeclarationContext _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -5428,366 +5101,325 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public string Mangled + public global::CppSharp.Parser.AST.Namespace GetNamespaces(uint i) { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Variable.__Internal*) __Instance)->mangled)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Variable.__Internal*)__Instance)->mangled), value); - } + var __ret = __Internal.GetNamespaces((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Namespace __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Namespace.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Namespace) global::CppSharp.Parser.AST.Namespace.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Namespace.__CreateInstance(__ret); + return __result0; } - public global::CppSharp.Parser.AST.QualifiedType QualifiedType + public void AddNamespaces(global::CppSharp.Parser.AST.Namespace s) { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Variable.__Internal*) __Instance)->qualifiedType)); - } - - set - { - ((global::CppSharp.Parser.AST.Variable.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddNamespaces((__Instance + __PointerAdjustment), __arg0); } - } - public unsafe partial class Friend : global::CppSharp.Parser.AST.Declaration, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 208)] - public new partial struct __Internal + public void ClearNamespaces() { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; - - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; - - [FieldOffset(32)] - internal int lineNumberEnd; - - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; - - [FieldOffset(64)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - - [FieldOffset(88)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; - - [FieldOffset(112)] - internal byte isIncomplete; - - [FieldOffset(113)] - internal byte isDependent; - - [FieldOffset(114)] - internal byte isImplicit; - - [FieldOffset(115)] - internal byte isInvalid; - - [FieldOffset(120)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(128)] - internal uint definitionOrder; - - [FieldOffset(136)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + __Internal.ClearNamespaces((__Instance + __PointerAdjustment)); + } - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + public global::CppSharp.Parser.AST.Enumeration GetEnums(uint i) + { + var __ret = __Internal.GetEnums((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Enumeration __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Enumeration.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Enumeration) global::CppSharp.Parser.AST.Enumeration.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Enumeration.__CreateInstance(__ret); + return __result0; + } - [FieldOffset(184)] - internal global::System.IntPtr originalPtr; + public void AddEnums(global::CppSharp.Parser.AST.Enumeration s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddEnums((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(192)] - internal global::System.IntPtr comment; + public void ClearEnums() + { + __Internal.ClearEnums((__Instance + __PointerAdjustment)); + } - [FieldOffset(200)] - internal global::System.IntPtr declaration; + public global::CppSharp.Parser.AST.Function GetFunctions(uint i) + { + var __ret = __Internal.GetFunctions((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Function __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(__ret); + return __result0; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6FriendC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); + public void AddFunctions(global::CppSharp.Parser.AST.Function s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddFunctions((__Instance + __PointerAdjustment), __arg0); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6FriendC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + public void ClearFunctions() + { + __Internal.ClearFunctions((__Instance + __PointerAdjustment)); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6FriendD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); + public global::CppSharp.Parser.AST.Class GetClasses(uint i) + { + var __ret = __Internal.GetClasses((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Class __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(__ret); + return __result0; } - internal static new global::CppSharp.Parser.AST.Friend __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public void AddClasses(global::CppSharp.Parser.AST.Class s) { - return new global::CppSharp.Parser.AST.Friend(native.ToPointer(), skipVTables); + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddClasses((__Instance + __PointerAdjustment), __arg0); } - internal static global::CppSharp.Parser.AST.Friend __CreateInstance(global::CppSharp.Parser.AST.Friend.__Internal native, bool skipVTables = false) + public void ClearClasses() { - return new global::CppSharp.Parser.AST.Friend(native, skipVTables); + __Internal.ClearClasses((__Instance + __PointerAdjustment)); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Friend.__Internal native) + public global::CppSharp.Parser.AST.Template GetTemplates(uint i) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); - global::CppSharp.Parser.AST.Friend.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); + var __ret = __Internal.GetTemplates((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Template __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Template.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Template) global::CppSharp.Parser.AST.Template.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Template.__CreateInstance(__ret); + return __result0; } - private Friend(global::CppSharp.Parser.AST.Friend.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) + public void AddTemplates(global::CppSharp.Parser.AST.Template s) { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddTemplates((__Instance + __PointerAdjustment), __arg0); } - protected Friend(void* native, bool skipVTables = false) - : base((void*) null) + public void ClearTemplates() { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); + __Internal.ClearTemplates((__Instance + __PointerAdjustment)); } - public Friend() - : this((void*) null) + public global::CppSharp.Parser.AST.TypedefDecl GetTypedefs(uint i) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetTypedefs((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.TypedefDecl __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TypedefDecl.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.TypedefDecl) global::CppSharp.Parser.AST.TypedefDecl.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.TypedefDecl.__CreateInstance(__ret); + return __result0; } - public Friend(global::CppSharp.Parser.AST.Friend _0) - : this((void*) null) + public void AddTypedefs(global::CppSharp.Parser.AST.TypedefDecl s) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddTypedefs((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void ClearTypedefs() { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; + __Internal.ClearTypedefs((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.Declaration Declaration + public global::CppSharp.Parser.AST.TypeAlias GetTypeAliases(uint i) { - get - { - global::CppSharp.Parser.AST.Declaration __result0; - if (((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.Friend.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + var __ret = __Internal.GetTypeAliases((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.TypeAlias __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TypeAlias.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.TypeAlias) global::CppSharp.Parser.AST.TypeAlias.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.TypeAlias.__CreateInstance(__ret); + return __result0; } - } - public unsafe partial class BaseClassSpecifier : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 24)] - public partial struct __Internal + public void AddTypeAliases(global::CppSharp.Parser.AST.TypeAlias s) { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(4)] - internal byte isVirtual; - - [FieldOffset(8)] - internal global::System.IntPtr type; - - [FieldOffset(16)] - internal int offset; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18BaseClassSpecifierC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18BaseClassSpecifierC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddTypeAliases((__Instance + __PointerAdjustment), __arg0); } - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; + public void ClearTypeAliases() + { + __Internal.ClearTypeAliases((__Instance + __PointerAdjustment)); + } - internal static global::CppSharp.Parser.AST.BaseClassSpecifier __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::CppSharp.Parser.AST.Variable GetVariables(uint i) { - return new global::CppSharp.Parser.AST.BaseClassSpecifier(native.ToPointer(), skipVTables); + var __ret = __Internal.GetVariables((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Variable __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Variable.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Variable) global::CppSharp.Parser.AST.Variable.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Variable.__CreateInstance(__ret); + return __result0; } - internal static global::CppSharp.Parser.AST.BaseClassSpecifier __CreateInstance(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native, bool skipVTables = false) + public void AddVariables(global::CppSharp.Parser.AST.Variable s) { - return new global::CppSharp.Parser.AST.BaseClassSpecifier(native, skipVTables); + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddVariables((__Instance + __PointerAdjustment), __arg0); } - private static void* __CopyValue(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native) + public void ClearVariables() { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); - *(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) ret = native; - return ret.ToPointer(); + __Internal.ClearVariables((__Instance + __PointerAdjustment)); } - private BaseClassSpecifier(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) + public global::CppSharp.Parser.AST.Friend GetFriends(uint i) { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + var __ret = __Internal.GetFriends((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Friend __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Friend.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Friend) global::CppSharp.Parser.AST.Friend.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Friend.__CreateInstance(__ret); + return __result0; } - protected BaseClassSpecifier(void* native, bool skipVTables = false) + public void AddFriends(global::CppSharp.Parser.AST.Friend s) { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddFriends((__Instance + __PointerAdjustment), __arg0); } - public BaseClassSpecifier() + public void ClearFriends() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + __Internal.ClearFriends((__Instance + __PointerAdjustment)); } - public BaseClassSpecifier(global::CppSharp.Parser.AST.BaseClassSpecifier _0) + public static implicit operator global::CppSharp.Parser.AST.DeclarationContext(global::CppSharp.Parser.AST.DeclarationKind kind) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) _0.__Instance); + return new global::CppSharp.Parser.AST.DeclarationContext(kind); } - public void Dispose() + public bool IsAnonymous { - Dispose(disposing: true); + get + { + return ((global::CppSharp.Parser.AST.DeclarationContext.__Internal*) __Instance)->isAnonymous != 0; + } + + set + { + ((global::CppSharp.Parser.AST.DeclarationContext.__Internal*)__Instance)->isAnonymous = (byte) (value ? 1 : 0); + } } - public virtual void Dispose(bool disposing) + public uint NamespacesCount { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.BaseClassSpecifier __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; + get + { + var __ret = __Internal.GetNamespacesCount((__Instance + __PointerAdjustment)); + return __ret; + } } - public global::CppSharp.Parser.AST.AccessSpecifier Access + public uint EnumsCount { get { - return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->access; + var __ret = __Internal.GetEnumsCount((__Instance + __PointerAdjustment)); + return __ret; } + } - set + public uint FunctionsCount + { + get { - ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->access = value; + var __ret = __Internal.GetFunctionsCount((__Instance + __PointerAdjustment)); + return __ret; } } - public bool IsVirtual + public uint ClassesCount { get { - return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->isVirtual != 0; + var __ret = __Internal.GetClassesCount((__Instance + __PointerAdjustment)); + return __ret; } + } - set + public uint TemplatesCount + { + get { - ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->isVirtual = (byte) (value ? 1 : 0); + var __ret = __Internal.GetTemplatesCount((__Instance + __PointerAdjustment)); + return __ret; } } - public global::CppSharp.Parser.AST.Type Type + public uint TypedefsCount { get { - global::CppSharp.Parser.AST.Type __result0; - if (((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type)) - __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type]; - else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type); - return __result0; + var __ret = __Internal.GetTypedefsCount((__Instance + __PointerAdjustment)); + return __ret; } + } - set + public uint TypeAliasesCount + { + get { - ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + var __ret = __Internal.GetTypeAliasesCount((__Instance + __PointerAdjustment)); + return __ret; } } - public int Offset + public uint VariablesCount { get { - return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->offset; + var __ret = __Internal.GetVariablesCount((__Instance + __PointerAdjustment)); + return __ret; } + } - set + public uint FriendsCount + { + get { - ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->offset = value; + var __ret = __Internal.GetFriendsCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class Field : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class TypedefNameDecl : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 232)] + [StructLayout(LayoutKind.Explicit, Size = 216)] public new partial struct __Internal { [FieldOffset(0)] @@ -5853,56 +5485,47 @@ namespace CppSharp [FieldOffset(200)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - [FieldOffset(216)] - internal global::System.IntPtr _class; - - [FieldOffset(224)] - internal byte isBitField; - - [FieldOffset(228)] - internal uint bitWidth; - [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5FieldC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST15TypedefNameDeclC2ENS1_15DeclarationKindE")] + internal static extern void ctor(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5FieldC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST15TypedefNameDeclC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5FieldD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST15TypedefNameDeclD2Ev")] internal static extern void dtor(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.Field __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TypedefNameDecl __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Field(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TypedefNameDecl(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Field __CreateInstance(global::CppSharp.Parser.AST.Field.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TypedefNameDecl __CreateInstance(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Field(native, skipVTables); + return new global::CppSharp.Parser.AST.TypedefNameDecl(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Field.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); - global::CppSharp.Parser.AST.Field.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); + global::CppSharp.Parser.AST.TypedefNameDecl.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Field(global::CppSharp.Parser.AST.Field.__Internal native, bool skipVTables = false) + private TypedefNameDecl(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Field(void* native, bool skipVTables = false) + protected TypedefNameDecl(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -5911,19 +5534,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Field() + public TypedefNameDecl(global::CppSharp.Parser.AST.DeclarationKind kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + __Internal.ctor((__Instance + __PointerAdjustment), kind); } - public Field(global::CppSharp.Parser.AST.Field _0) + public TypedefNameDecl(global::CppSharp.Parser.AST.TypedefNameDecl _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -5945,67 +5568,28 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.QualifiedType QualifiedType - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->qualifiedType)); - } - - set - { - ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } - } - - public global::CppSharp.Parser.AST.Class Class - { - get - { - global::CppSharp.Parser.AST.Class __result0; - if (((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class)) - __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class]; - else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } - - public bool IsBitField + public static implicit operator global::CppSharp.Parser.AST.TypedefNameDecl(global::CppSharp.Parser.AST.DeclarationKind kind) { - get - { - return ((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->isBitField != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->isBitField = (byte) (value ? 1 : 0); - } + return new global::CppSharp.Parser.AST.TypedefNameDecl(kind); } - public uint BitWidth + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { get { - return ((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->bitWidth; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TypedefNameDecl.__Internal*) __Instance)->qualifiedType)); } set { - ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->bitWidth = value; + ((global::CppSharp.Parser.AST.TypedefNameDecl.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } } - public unsafe partial class Method : global::CppSharp.Parser.AST.Function, IDisposable + public unsafe partial class TypedefDecl : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 680)] + [StructLayout(LayoutKind.Explicit, Size = 216)] public new partial struct __Internal { [FieldOffset(0)] @@ -6038,220 +5622,80 @@ namespace CppSharp [FieldOffset(88)] internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; - [FieldOffset(112)] - internal byte isIncomplete; - - [FieldOffset(113)] - internal byte isDependent; - - [FieldOffset(114)] - internal byte isImplicit; - - [FieldOffset(115)] - internal byte isInvalid; - - [FieldOffset(120)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(128)] - internal uint definitionOrder; - - [FieldOffset(136)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; - - [FieldOffset(184)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(192)] - internal global::System.IntPtr comment; - - [FieldOffset(200)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ Namespaces; - - [FieldOffset(224)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; - - [FieldOffset(248)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; - - [FieldOffset(272)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; - - [FieldOffset(296)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; - - [FieldOffset(320)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; - - [FieldOffset(344)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ TypeAliases; - - [FieldOffset(368)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ Variables; - - [FieldOffset(392)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ Friends; - - [FieldOffset(416)] - internal global::Std.Map.__Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ anonymous; - - [FieldOffset(440)] - internal byte isAnonymous; - - [FieldOffset(448)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; - - [FieldOffset(464)] - internal byte isReturnIndirect; - - [FieldOffset(465)] - internal byte hasThisReturn; - - [FieldOffset(466)] - internal byte isConstExpr; - - [FieldOffset(467)] - internal byte isVariadic; - - [FieldOffset(468)] - internal byte isInline; - - [FieldOffset(469)] - internal byte isPure; - - [FieldOffset(470)] - internal byte isDeleted; - - [FieldOffset(471)] - internal byte isDefaulted; - - [FieldOffset(472)] - internal global::CppSharp.Parser.AST.FriendKind friendKind; - - [FieldOffset(476)] - internal global::CppSharp.Parser.AST.CXXOperatorKind operatorKind; - - [FieldOffset(480)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C mangled; - - [FieldOffset(504)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C signature; - - [FieldOffset(528)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C body; - - [FieldOffset(552)] - internal global::CppSharp.Parser.AST.CallingConvention callingConvention; - - [FieldOffset(560)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_N___1_S_allocator__S0_ Parameters; - - [FieldOffset(584)] - internal global::System.IntPtr specializationInfo; - - [FieldOffset(592)] - internal global::System.IntPtr instantiatedFrom; - - [FieldOffset(600)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - - [FieldOffset(616)] - internal byte isVirtual; + [FieldOffset(112)] + internal byte isIncomplete; - [FieldOffset(617)] - internal byte isStatic; + [FieldOffset(113)] + internal byte isDependent; - [FieldOffset(618)] - internal byte isConst; + [FieldOffset(114)] + internal byte isImplicit; - [FieldOffset(619)] - internal byte isExplicit; + [FieldOffset(115)] + internal byte isInvalid; - [FieldOffset(620)] - internal global::CppSharp.Parser.AST.CXXMethodKind methodKind; + [FieldOffset(120)] + internal global::System.IntPtr completeDeclaration; - [FieldOffset(624)] - internal byte isDefaultConstructor; + [FieldOffset(128)] + internal uint definitionOrder; - [FieldOffset(625)] - internal byte isCopyConstructor; + [FieldOffset(136)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; - [FieldOffset(626)] - internal byte isMoveConstructor; + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; - [FieldOffset(632)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal conversionType; + [FieldOffset(184)] + internal global::System.IntPtr originalPtr; - [FieldOffset(648)] - internal global::CppSharp.Parser.AST.RefQualifierKind refQualifier; + [FieldOffset(192)] + internal global::System.IntPtr comment; - [FieldOffset(656)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_N___1_S_allocator__S0_ OverriddenMethods; + [FieldOffset(200)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6MethodC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefDeclC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6MethodC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefDeclC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6MethodD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefDeclD2Ev")] internal static extern void dtor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6Method20getOverriddenMethodsEj")] - internal static extern global::System.IntPtr GetOverriddenMethods(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6Method20addOverriddenMethodsERPS2_")] - internal static extern void AddOverriddenMethods(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6Method22clearOverriddenMethodsEv")] - internal static extern void ClearOverriddenMethods(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6Method25getOverriddenMethodsCountEv")] - internal static extern uint GetOverriddenMethodsCount(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.Method __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TypedefDecl __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Method(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TypedefDecl(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Method __CreateInstance(global::CppSharp.Parser.AST.Method.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TypedefDecl __CreateInstance(global::CppSharp.Parser.AST.TypedefDecl.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Method(native, skipVTables); + return new global::CppSharp.Parser.AST.TypedefDecl(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Method.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefDecl.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); - global::CppSharp.Parser.AST.Method.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); + global::CppSharp.Parser.AST.TypedefDecl.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Method(global::CppSharp.Parser.AST.Method.__Internal native, bool skipVTables = false) + private TypedefDecl(global::CppSharp.Parser.AST.TypedefDecl.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Method(void* native, bool skipVTables = false) + protected TypedefDecl(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -6260,19 +5704,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Method() + public TypedefDecl() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public Method(global::CppSharp.Parser.AST.Method _0) + public TypedefDecl(global::CppSharp.Parser.AST.TypedefDecl _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -6293,174 +5737,184 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } + } - public global::CppSharp.Parser.AST.Method GetOverriddenMethods(uint i) + public unsafe partial class TypeAlias : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 224)] + public new partial struct __Internal { - var __ret = __Internal.GetOverriddenMethods((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Method __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Method.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Method) global::CppSharp.Parser.AST.Method.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Method.__CreateInstance(__ret); - return __result0; - } + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; - public void AddOverriddenMethods(global::CppSharp.Parser.AST.Method s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddOverriddenMethods((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(4)] + internal int maxFieldAlignment; - public void ClearOverriddenMethods() - { - __Internal.ClearOverriddenMethods((__Instance + __PointerAdjustment)); - } + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; - public bool IsVirtual - { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isVirtual != 0; - } + [FieldOffset(16)] + internal global::System.IntPtr _namespace; - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isVirtual = (byte) (value ? 1 : 0); - } - } + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; - public bool IsStatic - { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isStatic != 0; - } + [FieldOffset(28)] + internal int lineNumberStart; - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isStatic = (byte) (value ? 1 : 0); - } - } + [FieldOffset(32)] + internal int lineNumberEnd; - public bool IsConst - { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isConst != 0; - } + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isConst = (byte) (value ? 1 : 0); - } - } + [FieldOffset(64)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - public bool IsExplicit - { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isExplicit != 0; - } + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isExplicit = (byte) (value ? 1 : 0); - } - } + [FieldOffset(112)] + internal byte isIncomplete; - public global::CppSharp.Parser.AST.CXXMethodKind MethodKind - { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->methodKind; - } + [FieldOffset(113)] + internal byte isDependent; - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->methodKind = value; - } + [FieldOffset(114)] + internal byte isImplicit; + + [FieldOffset(115)] + internal byte isInvalid; + + [FieldOffset(120)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(128)] + internal uint definitionOrder; + + [FieldOffset(136)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(184)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(192)] + internal global::System.IntPtr comment; + + [FieldOffset(200)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(216)] + internal global::System.IntPtr describedAliasTemplate; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9TypeAliasC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9TypeAliasC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9TypeAliasD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); } - public bool IsDefaultConstructor + internal static new global::CppSharp.Parser.AST.TypeAlias __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isDefaultConstructor != 0; - } + return new global::CppSharp.Parser.AST.TypeAlias(native.ToPointer(), skipVTables); + } - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isDefaultConstructor = (byte) (value ? 1 : 0); - } + internal static global::CppSharp.Parser.AST.TypeAlias __CreateInstance(global::CppSharp.Parser.AST.TypeAlias.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.TypeAlias(native, skipVTables); } - public bool IsCopyConstructor + private static void* __CopyValue(global::CppSharp.Parser.AST.TypeAlias.__Internal native) { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isCopyConstructor != 0; - } + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); + global::CppSharp.Parser.AST.TypeAlias.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isCopyConstructor = (byte) (value ? 1 : 0); - } + private TypeAlias(global::CppSharp.Parser.AST.TypeAlias.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; } - public bool IsMoveConstructor + protected TypeAlias(void* native, bool skipVTables = false) + : base((void*) null) { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isMoveConstructor != 0; - } + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isMoveConstructor = (byte) (value ? 1 : 0); - } + public TypeAlias() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.QualifiedType ConversionType + public TypeAlias(global::CppSharp.Parser.AST.TypeAlias _0) + : this((void*) null) { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->conversionType)); - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->conversionType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.RefQualifierKind RefQualifier + public global::CppSharp.Parser.AST.TypeAliasTemplate DescribedAliasTemplate { get { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->refQualifier; + global::CppSharp.Parser.AST.TypeAliasTemplate __result0; + if (((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TypeAliasTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate)) + __result0 = (global::CppSharp.Parser.AST.TypeAliasTemplate) global::CppSharp.Parser.AST.TypeAliasTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate]; + else __result0 = global::CppSharp.Parser.AST.TypeAliasTemplate.__CreateInstance(((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate); + return __result0; } set { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->refQualifier = value; - } - } - - public uint OverriddenMethodsCount - { - get - { - var __ret = __Internal.GetOverriddenMethodsCount((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.TypeAlias.__Internal*)__Instance)->describedAliasTemplate = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } - public unsafe partial class Parameter : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class Friend : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 232)] + [StructLayout(LayoutKind.Explicit, Size = 208)] public new partial struct __Internal { [FieldOffset(0)] @@ -6524,61 +5978,49 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(200)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - - [FieldOffset(216)] - internal byte isIndirect; - - [FieldOffset(217)] - internal byte hasDefaultValue; - - [FieldOffset(220)] - internal uint index; - - [FieldOffset(224)] - internal global::System.IntPtr defaultArgument; + internal global::System.IntPtr declaration; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9ParameterC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST6FriendC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9ParameterC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST6FriendC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9ParameterD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST6FriendD2Ev")] internal static extern void dtor(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.Parameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Friend __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Parameter(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Friend(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Parameter __CreateInstance(global::CppSharp.Parser.AST.Parameter.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Friend __CreateInstance(global::CppSharp.Parser.AST.Friend.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Parameter(native, skipVTables); + return new global::CppSharp.Parser.AST.Friend(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Parameter.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Friend.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); - global::CppSharp.Parser.AST.Parameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); + global::CppSharp.Parser.AST.Friend.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Parameter(global::CppSharp.Parser.AST.Parameter.__Internal native, bool skipVTables = false) + private Friend(global::CppSharp.Parser.AST.Friend.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Parameter(void* native, bool skipVTables = false) + protected Friend(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -6587,19 +6029,144 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Parameter() + public Friend() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public Friend(global::CppSharp.Parser.AST.Friend _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Declaration Declaration + { + get + { + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.Friend.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class Statement : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StatementClass _class; + + [FieldOffset(8)] + internal global::System.IntPtr decl; + + [FieldOffset(16)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C @string; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9StatementC2ERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEENS1_14StatementClassEPNS1_11DeclarationE")] + internal static extern void ctor(global::System.IntPtr instance, global::System.IntPtr str, global::CppSharp.Parser.AST.StatementClass Class, global::System.IntPtr decl); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9StatementC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9StatementD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.Statement __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Statement(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.Statement __CreateInstance(global::CppSharp.Parser.AST.Statement.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Statement(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.Statement.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Statement.__Internal)); + global::CppSharp.Parser.AST.Statement.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private Statement(global::CppSharp.Parser.AST.Statement.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Statement(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public Statement(string str, global::CppSharp.Parser.AST.StatementClass Class, global::CppSharp.Parser.AST.Declaration decl) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Statement.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, str); + var __arg0 = __basicString0.__Instance; + var __arg2 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; + __Internal.ctor((__Instance + __PointerAdjustment), __arg0, Class, __arg2); + __basicString0.Dispose(false); } - public Parameter(global::CppSharp.Parser.AST.Parameter _0) - : this((void*) null) + public Statement(global::CppSharp.Parser.AST.Statement _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Statement.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -6608,11 +6175,16 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.Statement __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -6621,73 +6193,50 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.QualifiedType QualifiedType - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->qualifiedType)); - } - - set - { - ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } - } - - public bool IsIndirect - { - get - { - return ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->isIndirect != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->isIndirect = (byte) (value ? 1 : 0); - } - } - - public bool HasDefaultValue + public global::CppSharp.Parser.AST.StatementClass Class { get { - return ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->hasDefaultValue != 0; + return ((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->_class; } set { - ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->hasDefaultValue = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Statement.__Internal*)__Instance)->_class = value; } } - public uint Index + public global::CppSharp.Parser.AST.Declaration Decl { get { - return ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->index; + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->decl == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->decl)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->decl]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->decl); + return __result0; } set { - ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->index = value; + ((global::CppSharp.Parser.AST.Statement.__Internal*)__Instance)->decl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public global::CppSharp.Parser.AST.Expression DefaultArgument + public string String { get { - global::CppSharp.Parser.AST.Expression __result0; - if (((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgument == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgument)) - __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgument]; - else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgument); - return __result0; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->@string)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->defaultArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Statement.__Internal*)__Instance)->@string), value); } } } @@ -6795,10 +6344,10 @@ namespace CppSharp } } - public unsafe partial class Statement : IDisposable + public unsafe partial class BinaryOperator : global::CppSharp.Parser.AST.Expression, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 40)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 80)] + public new partial struct __Internal { [FieldOffset(0)] internal global::CppSharp.Parser.AST.StatementClass _class; @@ -6809,77 +6358,87 @@ namespace CppSharp [FieldOffset(16)] internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C @string; + [FieldOffset(40)] + internal global::System.IntPtr LHS; + + [FieldOffset(48)] + internal global::System.IntPtr RHS; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C opcodeStr; + [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9StatementC2ERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEENS1_14StatementClassEPNS1_11DeclarationE")] - internal static extern void ctor(global::System.IntPtr instance, global::System.IntPtr str, global::CppSharp.Parser.AST.StatementClass Class, global::System.IntPtr decl); + EntryPoint="_ZN8CppSharp9CppParser3AST14BinaryOperatorC2ERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEPNS1_10ExpressionESD_SB_")] + internal static extern void ctor(global::System.IntPtr instance, global::System.IntPtr str, global::System.IntPtr lhs, global::System.IntPtr rhs, global::System.IntPtr opcodeStr); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9StatementC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST14BinaryOperatorC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9StatementD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST14BinaryOperatorD2Ev")] internal static extern void dtor(global::System.IntPtr instance); } - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.Statement __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.BinaryOperator __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Statement(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.BinaryOperator(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Statement __CreateInstance(global::CppSharp.Parser.AST.Statement.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.BinaryOperator __CreateInstance(global::CppSharp.Parser.AST.BinaryOperator.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Statement(native, skipVTables); + return new global::CppSharp.Parser.AST.BinaryOperator(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Statement.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.BinaryOperator.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Statement.__Internal)); - global::CppSharp.Parser.AST.Statement.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); + global::CppSharp.Parser.AST.BinaryOperator.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Statement(global::CppSharp.Parser.AST.Statement.__Internal native, bool skipVTables = false) + private BinaryOperator(global::CppSharp.Parser.AST.BinaryOperator.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Statement(void* native, bool skipVTables = false) + protected BinaryOperator(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public Statement(string str, global::CppSharp.Parser.AST.StatementClass Class, global::CppSharp.Parser.AST.Declaration decl) + public BinaryOperator(string str, global::CppSharp.Parser.AST.Expression lhs, global::CppSharp.Parser.AST.Expression rhs, string opcodeStr) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Statement.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); global::Std.BasicStringExtensions.Assign(__basicString0, str); var __arg0 = __basicString0.__Instance; - var __arg2 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; - __Internal.ctor((__Instance + __PointerAdjustment), __arg0, Class, __arg2); + var __arg1 = ReferenceEquals(lhs, null) ? global::System.IntPtr.Zero : lhs.__Instance; + var __arg2 = ReferenceEquals(rhs, null) ? global::System.IntPtr.Zero : rhs.__Instance; + var __basicString3 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString3, opcodeStr); + var __arg3 = __basicString3.__Instance; + __Internal.ctor((__Instance + __PointerAdjustment), __arg0, __arg1, __arg2, __arg3); __basicString0.Dispose(false); + __basicString3.Dispose(false); } - public Statement(global::CppSharp.Parser.AST.Statement _0) + public BinaryOperator(global::CppSharp.Parser.AST.BinaryOperator _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Statement.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -6888,12 +6447,7 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; @@ -6906,42 +6460,47 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.StatementClass Class + public global::CppSharp.Parser.AST.Expression LHS { get { - return ((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->_class; + global::CppSharp.Parser.AST.Expression __result0; + if (((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->LHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->LHS)) + __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->LHS]; + else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->LHS); + return __result0; } set { - ((global::CppSharp.Parser.AST.Statement.__Internal*)__Instance)->_class = value; + ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->LHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public global::CppSharp.Parser.AST.Declaration Decl + public global::CppSharp.Parser.AST.Expression RHS { get { - global::CppSharp.Parser.AST.Declaration __result0; - if (((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->decl == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->decl)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->decl]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->decl); + global::CppSharp.Parser.AST.Expression __result0; + if (((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->RHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->RHS)) + __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->RHS]; + else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->RHS); return __result0; } set { - ((global::CppSharp.Parser.AST.Statement.__Internal*)__Instance)->decl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->RHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public string String + public string OpcodeStr { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->@string)); + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->opcodeStr)); var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); __basicStringRet0.Dispose(false); return __stringRet0; @@ -6949,114 +6508,115 @@ namespace CppSharp set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Statement.__Internal*)__Instance)->@string), value); + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->opcodeStr), value); } } } - public unsafe partial class FunctionTemplateSpecialization : IDisposable + public unsafe partial class CallExpr : global::CppSharp.Parser.AST.Expression, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 48)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::System.IntPtr _template; + internal global::CppSharp.Parser.AST.StatementClass _class; [FieldOffset(8)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_N___1_S_allocator__S0_ Arguments; + internal global::System.IntPtr decl; - [FieldOffset(32)] - internal global::System.IntPtr specializedFunction; + [FieldOffset(16)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C @string; [FieldOffset(40)] - internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expression___N_std_N___1_S_allocator__S0_ Arguments; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecializationC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExprC2ERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEPNS1_11DeclarationE")] + internal static extern void ctor(global::System.IntPtr instance, global::System.IntPtr str, global::System.IntPtr decl); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecializationC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExprC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecializationD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExprD2Ev")] internal static extern void dtor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization12getArgumentsEj")] - internal static extern void GetArguments(global::System.IntPtr @return, global::System.IntPtr instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr12getArgumentsEj")] + internal static extern global::System.IntPtr GetArguments(global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization12addArgumentsERNS1_16TemplateArgumentE")] + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr12addArgumentsERPNS1_10ExpressionE")] internal static extern void AddArguments(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization14clearArgumentsEv")] + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr14clearArgumentsEv")] internal static extern void ClearArguments(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization17getArgumentsCountEv")] + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr17getArgumentsCountEv")] internal static extern uint GetArgumentsCount(global::System.IntPtr instance); } - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.FunctionTemplateSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.CallExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.FunctionTemplateSpecialization(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.CallExpr(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.FunctionTemplateSpecialization __CreateInstance(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.CallExpr __CreateInstance(global::CppSharp.Parser.AST.CallExpr.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.FunctionTemplateSpecialization(native, skipVTables); + return new global::CppSharp.Parser.AST.CallExpr(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.CallExpr.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); - global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); + global::CppSharp.Parser.AST.CallExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private FunctionTemplateSpecialization(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal native, bool skipVTables = false) + private CallExpr(global::CppSharp.Parser.AST.CallExpr.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected FunctionTemplateSpecialization(void* native, bool skipVTables = false) + protected CallExpr(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public FunctionTemplateSpecialization() + public CallExpr(string str, global::CppSharp.Parser.AST.Declaration decl) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, str); + var __arg0 = __basicString0.__Instance; + var __arg1 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; + __Internal.ctor((__Instance + __PointerAdjustment), __arg0, __arg1); + __basicString0.Dispose(false); } - public FunctionTemplateSpecialization(global::CppSharp.Parser.AST.FunctionTemplateSpecialization _0) + public CallExpr(global::CppSharp.Parser.AST.CallExpr _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -7065,16 +6625,11 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.FunctionTemplateSpecialization __dummy; + global::CppSharp.Parser.AST.Statement __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -7083,14 +6638,18 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) + public global::CppSharp.Parser.AST.Expression GetArguments(uint i) { - var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); - __Internal.GetArguments(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); + var __ret = __Internal.GetArguments((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Expression __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(__ret); + return __result0; } - public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) + public void AddArguments(global::CppSharp.Parser.AST.Expression s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); @@ -7103,55 +6662,6 @@ namespace CppSharp __Internal.ClearArguments((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.FunctionTemplate Template - { - get - { - global::CppSharp.Parser.AST.FunctionTemplate __result0; - if (((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.FunctionTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template)) - __result0 = (global::CppSharp.Parser.AST.FunctionTemplate) global::CppSharp.Parser.AST.FunctionTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template]; - else __result0 = global::CppSharp.Parser.AST.FunctionTemplate.__CreateInstance(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*)__Instance)->_template = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } - - public global::CppSharp.Parser.AST.Function SpecializedFunction - { - get - { - global::CppSharp.Parser.AST.Function __result0; - if (((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction)) - __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction]; - else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*)__Instance)->specializedFunction = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } - - public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind - { - get - { - return ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializationKind; - } - - set - { - ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*)__Instance)->specializationKind = value; - } - } - public uint ArgumentsCount { get @@ -7162,146 +6672,84 @@ namespace CppSharp } } - public unsafe partial class FunctionTemplate : global::CppSharp.Parser.AST.Template, IDisposable + public unsafe partial class CXXConstructExpr : global::CppSharp.Parser.AST.Expression, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 256)] + [StructLayout(LayoutKind.Explicit, Size = 64)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; + internal global::CppSharp.Parser.AST.StatementClass _class; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; + internal global::System.IntPtr decl; [FieldOffset(16)] - internal global::System.IntPtr _namespace; - - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; - - [FieldOffset(32)] - internal int lineNumberEnd; + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C @string; [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; - - [FieldOffset(64)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - - [FieldOffset(88)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; - - [FieldOffset(112)] - internal byte isIncomplete; - - [FieldOffset(113)] - internal byte isDependent; - - [FieldOffset(114)] - internal byte isImplicit; - - [FieldOffset(115)] - internal byte isInvalid; - - [FieldOffset(120)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(128)] - internal uint definitionOrder; - - [FieldOffset(136)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; - - [FieldOffset(184)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(192)] - internal global::System.IntPtr comment; - - [FieldOffset(200)] - internal global::System.IntPtr TemplatedDecl; - - [FieldOffset(208)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Parameters; - - [FieldOffset(232)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_FunctionTemplateSpecialization___N_std_N___1_S_allocator__S0_ Specializations; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expression___N_std_N___1_S_allocator__S0_ Arguments; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplateC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExprC2ERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEPNS1_11DeclarationE")] + internal static extern void ctor(global::System.IntPtr instance, global::System.IntPtr str, global::System.IntPtr decl); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplateC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExprC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplateD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExprD2Ev")] internal static extern void dtor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate18getSpecializationsEj")] - internal static extern global::System.IntPtr GetSpecializations(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate18addSpecializationsERPNS1_30FunctionTemplateSpecializationE")] - internal static extern void AddSpecializations(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr12getArgumentsEj")] + internal static extern global::System.IntPtr GetArguments(global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate20clearSpecializationsEv")] - internal static extern void ClearSpecializations(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr12addArgumentsERPNS1_10ExpressionE")] + internal static extern void AddArguments(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate18FindSpecializationERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEE")] - internal static extern global::System.IntPtr FindSpecialization(global::System.IntPtr instance, global::System.IntPtr usr); + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr14clearArgumentsEv")] + internal static extern void ClearArguments(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate23getSpecializationsCountEv")] - internal static extern uint GetSpecializationsCount(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr17getArgumentsCountEv")] + internal static extern uint GetArgumentsCount(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.FunctionTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.CXXConstructExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.FunctionTemplate(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.CXXConstructExpr(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.FunctionTemplate __CreateInstance(global::CppSharp.Parser.AST.FunctionTemplate.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.CXXConstructExpr __CreateInstance(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.FunctionTemplate(native, skipVTables); + return new global::CppSharp.Parser.AST.CXXConstructExpr(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionTemplate.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); - global::CppSharp.Parser.AST.FunctionTemplate.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); + global::CppSharp.Parser.AST.CXXConstructExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private FunctionTemplate(global::CppSharp.Parser.AST.FunctionTemplate.__Internal native, bool skipVTables = false) + private CXXConstructExpr(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected FunctionTemplate(void* native, bool skipVTables = false) + protected CXXConstructExpr(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -7310,19 +6758,24 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public FunctionTemplate() + public CXXConstructExpr(string str, global::CppSharp.Parser.AST.Declaration decl) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, str); + var __arg0 = __basicString0.__Instance; + var __arg1 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; + __Internal.ctor((__Instance + __PointerAdjustment), __arg0, __arg1); + __basicString0.Dispose(false); } - public FunctionTemplate(global::CppSharp.Parser.AST.FunctionTemplate _0) + public CXXConstructExpr(global::CppSharp.Parser.AST.CXXConstructExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -7335,7 +6788,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.Statement __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -7344,227 +6797,277 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.FunctionTemplateSpecialization GetSpecializations(uint i) + public global::CppSharp.Parser.AST.Expression GetArguments(uint i) { - var __ret = __Internal.GetSpecializations((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.FunctionTemplateSpecialization __result0; + var __ret = __Internal.GetArguments((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Expression __result0; if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.FunctionTemplateSpecialization) global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__CreateInstance(__ret); + else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(__ret); return __result0; } - public void AddSpecializations(global::CppSharp.Parser.AST.FunctionTemplateSpecialization s) + public void AddArguments(global::CppSharp.Parser.AST.Expression s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddSpecializations((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearSpecializations() - { - __Internal.ClearSpecializations((__Instance + __PointerAdjustment)); + __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.FunctionTemplateSpecialization FindSpecialization(string usr) + public void ClearArguments() { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, usr); - var __arg0 = __basicString0.__Instance; - var __ret = __Internal.FindSpecialization((__Instance + __PointerAdjustment), __arg0); - __basicString0.Dispose(false); - global::CppSharp.Parser.AST.FunctionTemplateSpecialization __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.FunctionTemplateSpecialization) global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__CreateInstance(__ret); - return __result0; + __Internal.ClearArguments((__Instance + __PointerAdjustment)); } - public uint SpecializationsCount + public uint ArgumentsCount { get { - var __ret = __Internal.GetSpecializationsCount((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class TemplateArgument : IDisposable + public unsafe partial class Parameter : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 40)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 232)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TemplateArgument.ArgumentKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal global::System.IntPtr _namespace; [FieldOffset(24)] - internal global::System.IntPtr declaration; + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; [FieldOffset(32)] - internal long integral; + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(64)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(112)] + internal byte isIncomplete; + + [FieldOffset(113)] + internal byte isDependent; + + [FieldOffset(114)] + internal byte isImplicit; + + [FieldOffset(115)] + internal byte isInvalid; + + [FieldOffset(120)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(128)] + internal uint definitionOrder; + + [FieldOffset(136)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(184)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(192)] + internal global::System.IntPtr comment; + + [FieldOffset(200)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(216)] + internal byte isIndirect; + + [FieldOffset(217)] + internal byte hasDefaultValue; + + [FieldOffset(220)] + internal uint index; + + [FieldOffset(224)] + internal global::System.IntPtr defaultArgument; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16TemplateArgumentC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST9ParameterC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16TemplateArgumentC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST9ParameterC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - } - public enum ArgumentKind - { - Type = 0, - Declaration = 1, - NullPtr = 2, - Integral = 3, - Template = 4, - TemplateExpansion = 5, - Expression = 6, - Pack = 7 + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9ParameterD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); } - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.TemplateArgument __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Parameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateArgument(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Parameter(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TemplateArgument __CreateInstance(global::CppSharp.Parser.AST.TemplateArgument.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Parameter __CreateInstance(global::CppSharp.Parser.AST.Parameter.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateArgument(native, skipVTables); + return new global::CppSharp.Parser.AST.Parameter(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateArgument.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Parameter.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); - *(global::CppSharp.Parser.AST.TemplateArgument.__Internal*) ret = native; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); + global::CppSharp.Parser.AST.Parameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateArgument(global::CppSharp.Parser.AST.TemplateArgument.__Internal native, bool skipVTables = false) + private Parameter(global::CppSharp.Parser.AST.Parameter.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TemplateArgument(void* native, bool skipVTables = false) + protected Parameter(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public TemplateArgument() + public Parameter() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TemplateArgument(global::CppSharp.Parser.AST.TemplateArgument _0) + public Parameter(global::CppSharp.Parser.AST.Parameter _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) _0.__Instance); - } - - public void Dispose() - { - Dispose(disposing: true); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.TemplateArgument __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.TemplateArgument.ArgumentKind Kind + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { get { - return ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->kind; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->qualifiedType)); } set { - ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->kind = value; + ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public global::CppSharp.Parser.AST.QualifiedType Type + public bool IsIndirect { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->type)); + return ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->isIndirect != 0; } set { - ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->isIndirect = (byte) (value ? 1 : 0); } } - public global::CppSharp.Parser.AST.Declaration Declaration + public bool HasDefaultValue { get { - global::CppSharp.Parser.AST.Declaration __result0; - if (((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration); - return __result0; + return ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->hasDefaultValue != 0; } set { - ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->hasDefaultValue = (byte) (value ? 1 : 0); } } - public long Integral + public uint Index { get { - return ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->integral; + return ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->index; } set { - ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->integral = value; + ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->index = value; + } + } + + public global::CppSharp.Parser.AST.Expression DefaultArgument + { + get + { + global::CppSharp.Parser.AST.Expression __result0; + if (((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgument == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgument)) + __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgument]; + else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgument); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->defaultArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } - public unsafe partial class AccessSpecifierDecl : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class Function : global::CppSharp.Parser.AST.DeclarationContext, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 200)] + [StructLayout(LayoutKind.Explicit, Size = 616)] public new partial struct __Internal { [FieldOffset(0)] @@ -7627,1258 +7130,1309 @@ namespace CppSharp [FieldOffset(192)] internal global::System.IntPtr comment; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19AccessSpecifierDeclC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19AccessSpecifierDeclC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + [FieldOffset(200)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ Namespaces; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19AccessSpecifierDeclD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); - } + [FieldOffset(224)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; - internal static new global::CppSharp.Parser.AST.AccessSpecifierDecl __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.AccessSpecifierDecl(native.ToPointer(), skipVTables); - } + [FieldOffset(248)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; - internal static global::CppSharp.Parser.AST.AccessSpecifierDecl __CreateInstance(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.AccessSpecifierDecl(native, skipVTables); - } + [FieldOffset(272)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; - private static void* __CopyValue(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); - global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + [FieldOffset(296)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; - private AccessSpecifierDecl(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + [FieldOffset(320)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; - protected AccessSpecifierDecl(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [FieldOffset(344)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ TypeAliases; - public AccessSpecifierDecl() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } + [FieldOffset(368)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ Variables; - public AccessSpecifierDecl(global::CppSharp.Parser.AST.AccessSpecifierDecl _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(392)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ Friends; - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - } + [FieldOffset(416)] + internal global::Std.Map.__Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ anonymous; - public unsafe partial class ClassLayout : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 136)] - public partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CppAbi ABI; + [FieldOffset(440)] + internal byte isAnonymous; - [FieldOffset(8)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_VFTableInfo___N_std_N___1_S_allocator__S0_ VFTables; + [FieldOffset(448)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; - [FieldOffset(32)] - internal global::CppSharp.Parser.AST.VTableLayout.__Internal layout; + [FieldOffset(464)] + internal byte isReturnIndirect; - [FieldOffset(56)] - internal byte hasOwnVFPtr; + [FieldOffset(465)] + internal byte hasThisReturn; - [FieldOffset(64)] - internal long VBPtrOffset; + [FieldOffset(466)] + internal byte isConstExpr; - [FieldOffset(72)] - internal int alignment; + [FieldOffset(467)] + internal byte isVariadic; - [FieldOffset(76)] - internal int size; + [FieldOffset(468)] + internal byte isInline; - [FieldOffset(80)] - internal int dataSize; + [FieldOffset(469)] + internal byte isPure; - [FieldOffset(88)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_LayoutField___N_std_N___1_S_allocator__S0_ Fields; + [FieldOffset(470)] + internal byte isDeleted; - [FieldOffset(112)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_LayoutBase___N_std_N___1_S_allocator__S0_ Bases; + [FieldOffset(471)] + internal byte isDefaulted; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayoutC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); + [FieldOffset(472)] + internal global::CppSharp.Parser.AST.FriendKind friendKind; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayoutC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + [FieldOffset(476)] + internal global::CppSharp.Parser.AST.CXXOperatorKind operatorKind; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayoutD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); + [FieldOffset(480)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C mangled; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout11getVFTablesEj")] - internal static extern void GetVFTables(global::System.IntPtr @return, global::System.IntPtr instance, uint i); + [FieldOffset(504)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C signature; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout11addVFTablesERNS1_11VFTableInfoE")] - internal static extern void AddVFTables(global::System.IntPtr instance, global::System.IntPtr s); + [FieldOffset(528)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C body; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout13clearVFTablesEv")] - internal static extern void ClearVFTables(global::System.IntPtr instance); + [FieldOffset(552)] + internal global::CppSharp.Parser.AST.CallingConvention callingConvention; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout9getFieldsEj")] - internal static extern void GetFields(global::System.IntPtr @return, global::System.IntPtr instance, uint i); + [FieldOffset(560)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_N___1_S_allocator__S0_ Parameters; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout9addFieldsERNS1_11LayoutFieldE")] - internal static extern void AddFields(global::System.IntPtr instance, global::System.IntPtr s); + [FieldOffset(584)] + internal global::System.IntPtr specializationInfo; + + [FieldOffset(592)] + internal global::System.IntPtr instantiatedFrom; + + [FieldOffset(600)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout11clearFieldsEv")] - internal static extern void ClearFields(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST8FunctionC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout8getBasesEj")] - internal static extern void GetBases(global::System.IntPtr @return, global::System.IntPtr instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST8FunctionC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout8addBasesERNS1_10LayoutBaseE")] - internal static extern void AddBases(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST8FunctionD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout10clearBasesEv")] - internal static extern void ClearBases(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST8Function13getParametersEj")] + internal static extern global::System.IntPtr GetParameters(global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout16getVFTablesCountEv")] - internal static extern uint GetVFTablesCount(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST8Function13addParametersERPNS1_9ParameterE")] + internal static extern void AddParameters(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout14getFieldsCountEv")] - internal static extern uint GetFieldsCount(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST8Function15clearParametersEv")] + internal static extern void ClearParameters(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout13getBasesCountEv")] - internal static extern uint GetBasesCount(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST8Function18getParametersCountEv")] + internal static extern uint GetParametersCount(global::System.IntPtr instance); } - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.ClassLayout __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Function __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ClassLayout(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Function(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.ClassLayout __CreateInstance(global::CppSharp.Parser.AST.ClassLayout.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Function __CreateInstance(global::CppSharp.Parser.AST.Function.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ClassLayout(native, skipVTables); + return new global::CppSharp.Parser.AST.Function(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.ClassLayout.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Function.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); - global::CppSharp.Parser.AST.ClassLayout.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); + global::CppSharp.Parser.AST.Function.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private ClassLayout(global::CppSharp.Parser.AST.ClassLayout.__Internal native, bool skipVTables = false) + private Function(global::CppSharp.Parser.AST.Function.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected ClassLayout(void* native, bool skipVTables = false) + protected Function(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public ClassLayout() - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } - - public ClassLayout(global::CppSharp.Parser.AST.ClassLayout _0) + public Function() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } - - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.ClassLayout __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - - public global::CppSharp.Parser.AST.VFTableInfo GetVFTables(uint i) - { - var __ret = new global::CppSharp.Parser.AST.VFTableInfo.__Internal(); - __Internal.GetVFTables(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.VFTableInfo.__CreateInstance(__ret); - } - - public void AddVFTables(global::CppSharp.Parser.AST.VFTableInfo s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddVFTables((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearVFTables() - { - __Internal.ClearVFTables((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.LayoutField GetFields(uint i) - { - var __ret = new global::CppSharp.Parser.AST.LayoutField.__Internal(); - __Internal.GetFields(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.LayoutField.__CreateInstance(__ret); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public void AddFields(global::CppSharp.Parser.AST.LayoutField s) + public Function(global::CppSharp.Parser.AST.Function _0) + : this((void*) null) { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddFields((__Instance + __PointerAdjustment), __arg0); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public void ClearFields() + public override void Dispose(bool disposing) { - __Internal.ClearFields((__Instance + __PointerAdjustment)); + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.LayoutBase GetBases(uint i) + public global::CppSharp.Parser.AST.Parameter GetParameters(uint i) { - var __ret = new global::CppSharp.Parser.AST.LayoutBase.__Internal(); - __Internal.GetBases(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.LayoutBase.__CreateInstance(__ret); + var __ret = __Internal.GetParameters((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Parameter __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Parameter.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Parameter) global::CppSharp.Parser.AST.Parameter.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Parameter.__CreateInstance(__ret); + return __result0; } - public void AddBases(global::CppSharp.Parser.AST.LayoutBase s) + public void AddParameters(global::CppSharp.Parser.AST.Parameter s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddBases((__Instance + __PointerAdjustment), __arg0); + __Internal.AddParameters((__Instance + __PointerAdjustment), __arg0); } - public void ClearBases() + public void ClearParameters() { - __Internal.ClearBases((__Instance + __PointerAdjustment)); + __Internal.ClearParameters((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.CppAbi ABI + public global::CppSharp.Parser.AST.QualifiedType ReturnType { get { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->ABI; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->returnType)); } set { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->ABI = value; + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->returnType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public global::CppSharp.Parser.AST.VTableLayout Layout + public bool IsReturnIndirect { get { - return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->layout)); + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isReturnIndirect != 0; } set { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->layout = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.VTableLayout.__Internal() : *(global::CppSharp.Parser.AST.VTableLayout.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isReturnIndirect = (byte) (value ? 1 : 0); } } - public bool HasOwnVFPtr + public bool HasThisReturn { get { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->hasOwnVFPtr != 0; + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->hasThisReturn != 0; } set { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->hasOwnVFPtr = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->hasThisReturn = (byte) (value ? 1 : 0); } } - public long VBPtrOffset + public bool IsConstExpr { get { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->VBPtrOffset; + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isConstExpr != 0; } set { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->VBPtrOffset = value; + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isConstExpr = (byte) (value ? 1 : 0); } } - public int Alignment + public bool IsVariadic { get { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->alignment; + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isVariadic != 0; } set { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->alignment = value; + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isVariadic = (byte) (value ? 1 : 0); } } - public int Size + public bool IsInline { get { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->size; + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isInline != 0; } set { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->size = value; + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isInline = (byte) (value ? 1 : 0); } } - public int DataSize + public bool IsPure { get { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->dataSize; + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isPure != 0; } set { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->dataSize = value; + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isPure = (byte) (value ? 1 : 0); } } - public uint VFTablesCount + public bool IsDeleted { get { - var __ret = __Internal.GetVFTablesCount((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isDeleted != 0; } - } - public uint FieldsCount - { - get + set { - var __ret = __Internal.GetFieldsCount((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isDeleted = (byte) (value ? 1 : 0); } } - public uint BasesCount + public bool IsDefaulted { get { - var __ret = __Internal.GetBasesCount((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isDefaulted != 0; } - } - } - - public unsafe partial class VFTableInfo : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 40)] - public partial struct __Internal - { - [FieldOffset(0)] - internal ulong VBTableIndex; - - [FieldOffset(8)] - internal uint VFPtrOffset; - - [FieldOffset(12)] - internal uint VFPtrFullOffset; - - [FieldOffset(16)] - internal global::CppSharp.Parser.AST.VTableLayout.__Internal layout; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VFTableInfoC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VFTableInfoC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VFTableInfoD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isDefaulted = (byte) (value ? 1 : 0); + } } - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.VFTableInfo __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::CppSharp.Parser.AST.FriendKind FriendKind { - return new global::CppSharp.Parser.AST.VFTableInfo(native.ToPointer(), skipVTables); - } + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->friendKind; + } - internal static global::CppSharp.Parser.AST.VFTableInfo __CreateInstance(global::CppSharp.Parser.AST.VFTableInfo.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.VFTableInfo(native, skipVTables); + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->friendKind = value; + } } - private static void* __CopyValue(global::CppSharp.Parser.AST.VFTableInfo.__Internal native) + public global::CppSharp.Parser.AST.CXXOperatorKind OperatorKind { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); - global::CppSharp.Parser.AST.VFTableInfo.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->operatorKind; + } - private VFTableInfo(global::CppSharp.Parser.AST.VFTableInfo.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->operatorKind = value; + } } - protected VFTableInfo(void* native, bool skipVTables = false) + public string Mangled { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->mangled)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } - public VFTableInfo() - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->mangled), value); + } } - public VFTableInfo(global::CppSharp.Parser.AST.VFTableInfo _0) + public string Signature { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->signature)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } - public void Dispose() - { - Dispose(disposing: true); + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->signature), value); + } } - public virtual void Dispose(bool disposing) + public string Body { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.VFTableInfo __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->body)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->body), value); + } } - public ulong VBTableIndex + public global::CppSharp.Parser.AST.CallingConvention CallingConvention { get { - return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VBTableIndex; + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->callingConvention; } set { - ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->VBTableIndex = value; + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->callingConvention = value; } } - public uint VFPtrOffset + public global::CppSharp.Parser.AST.FunctionTemplateSpecialization SpecializationInfo { get { - return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VFPtrOffset; + global::CppSharp.Parser.AST.FunctionTemplateSpecialization __result0; + if (((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo)) + __result0 = (global::CppSharp.Parser.AST.FunctionTemplateSpecialization) global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap[((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo]; + else __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__CreateInstance(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo); + return __result0; } set { - ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->VFPtrOffset = value; + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->specializationInfo = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public uint VFPtrFullOffset + public global::CppSharp.Parser.AST.Function InstantiatedFrom { get { - return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VFPtrFullOffset; + global::CppSharp.Parser.AST.Function __result0; + if (((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom)) + __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom]; + else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom); + return __result0; } set { - ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->VFPtrFullOffset = value; + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->instantiatedFrom = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public global::CppSharp.Parser.AST.VTableLayout Layout + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { get { - return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->layout)); + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->qualifiedType)); } set { - ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->layout = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.VTableLayout.__Internal() : *(global::CppSharp.Parser.AST.VTableLayout.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public uint ParametersCount + { + get + { + var __ret = __Internal.GetParametersCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class VTableLayout : IDisposable + public unsafe partial class Method : global::CppSharp.Parser.AST.Function, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 24)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 680)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_VTableComponent___N_std_N___1_S_allocator__S0_ Components; + internal global::CppSharp.Parser.AST.DeclarationKind kind; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayoutC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); + [FieldOffset(4)] + internal int maxFieldAlignment; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayoutC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayoutD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); + [FieldOffset(16)] + internal global::System.IntPtr _namespace; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayout13getComponentsEj")] - internal static extern global::CppSharp.Parser.AST.VTableComponent.__Internal GetComponents(global::System.IntPtr instance, uint i); + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayout13addComponentsERNS1_15VTableComponentE")] - internal static extern void AddComponents(global::System.IntPtr instance, global::System.IntPtr s); + [FieldOffset(28)] + internal int lineNumberStart; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayout15clearComponentsEv")] - internal static extern void ClearComponents(global::System.IntPtr instance); + [FieldOffset(32)] + internal int lineNumberEnd; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayout18getComponentsCountEv")] - internal static extern uint GetComponentsCount(global::System.IntPtr instance); - } + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; - public global::System.IntPtr __Instance { get; protected set; } + [FieldOffset(64)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; - protected bool __ownsNativeInstance; + [FieldOffset(112)] + internal byte isIncomplete; - internal static global::CppSharp.Parser.AST.VTableLayout __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.VTableLayout(native.ToPointer(), skipVTables); - } + [FieldOffset(113)] + internal byte isDependent; - internal static global::CppSharp.Parser.AST.VTableLayout __CreateInstance(global::CppSharp.Parser.AST.VTableLayout.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.VTableLayout(native, skipVTables); - } + [FieldOffset(114)] + internal byte isImplicit; - private static void* __CopyValue(global::CppSharp.Parser.AST.VTableLayout.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); - global::CppSharp.Parser.AST.VTableLayout.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + [FieldOffset(115)] + internal byte isInvalid; - private VTableLayout(global::CppSharp.Parser.AST.VTableLayout.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + [FieldOffset(120)] + internal global::System.IntPtr completeDeclaration; - protected VTableLayout(void* native, bool skipVTables = false) - { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [FieldOffset(128)] + internal uint definitionOrder; - public VTableLayout() - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } + [FieldOffset(136)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; - public VTableLayout(global::CppSharp.Parser.AST.VTableLayout _0) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(184)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(192)] + internal global::System.IntPtr comment; + + [FieldOffset(200)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ Namespaces; + + [FieldOffset(224)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; + + [FieldOffset(248)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; + + [FieldOffset(272)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; + + [FieldOffset(296)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; + + [FieldOffset(320)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; + + [FieldOffset(344)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ TypeAliases; + + [FieldOffset(368)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ Variables; + + [FieldOffset(392)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ Friends; + + [FieldOffset(416)] + internal global::Std.Map.__Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ anonymous; + + [FieldOffset(440)] + internal byte isAnonymous; + + [FieldOffset(448)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; + + [FieldOffset(464)] + internal byte isReturnIndirect; + + [FieldOffset(465)] + internal byte hasThisReturn; + + [FieldOffset(466)] + internal byte isConstExpr; + + [FieldOffset(467)] + internal byte isVariadic; + + [FieldOffset(468)] + internal byte isInline; + + [FieldOffset(469)] + internal byte isPure; + + [FieldOffset(470)] + internal byte isDeleted; + + [FieldOffset(471)] + internal byte isDefaulted; + + [FieldOffset(472)] + internal global::CppSharp.Parser.AST.FriendKind friendKind; + + [FieldOffset(476)] + internal global::CppSharp.Parser.AST.CXXOperatorKind operatorKind; + + [FieldOffset(480)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C mangled; + + [FieldOffset(504)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C signature; + + [FieldOffset(528)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C body; + + [FieldOffset(552)] + internal global::CppSharp.Parser.AST.CallingConvention callingConvention; + + [FieldOffset(560)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_N___1_S_allocator__S0_ Parameters; + + [FieldOffset(584)] + internal global::System.IntPtr specializationInfo; + + [FieldOffset(592)] + internal global::System.IntPtr instantiatedFrom; + + [FieldOffset(600)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - public void Dispose() - { - Dispose(disposing: true); - } + [FieldOffset(616)] + internal byte isVirtual; - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.VTableLayout __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } + [FieldOffset(617)] + internal byte isStatic; - public global::CppSharp.Parser.AST.VTableComponent GetComponents(uint i) - { - var __ret = __Internal.GetComponents((__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.VTableComponent.__CreateInstance(__ret); - } + [FieldOffset(618)] + internal byte isConst; - public void AddComponents(global::CppSharp.Parser.AST.VTableComponent s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddComponents((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(619)] + internal byte isExplicit; - public void ClearComponents() - { - __Internal.ClearComponents((__Instance + __PointerAdjustment)); - } + [FieldOffset(620)] + internal global::CppSharp.Parser.AST.CXXMethodKind methodKind; - public uint ComponentsCount - { - get - { - var __ret = __Internal.GetComponentsCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - } + [FieldOffset(624)] + internal byte isDefaultConstructor; - public unsafe partial class VTableComponent : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 16)] - public partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.VTableComponentKind kind; + [FieldOffset(625)] + internal byte isCopyConstructor; - [FieldOffset(4)] - internal uint offset; + [FieldOffset(626)] + internal byte isMoveConstructor; - [FieldOffset(8)] - internal global::System.IntPtr declaration; + [FieldOffset(632)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal conversionType; + + [FieldOffset(648)] + internal global::CppSharp.Parser.AST.RefQualifierKind refQualifier; + + [FieldOffset(656)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_N___1_S_allocator__S0_ OverriddenMethods; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15VTableComponentC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST6MethodC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15VTableComponentC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST6MethodC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - } - public global::System.IntPtr __Instance { get; protected set; } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST6MethodD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST6Method20getOverriddenMethodsEj")] + internal static extern global::System.IntPtr GetOverriddenMethods(global::System.IntPtr instance, uint i); - protected bool __ownsNativeInstance; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST6Method20addOverriddenMethodsERPS2_")] + internal static extern void AddOverriddenMethods(global::System.IntPtr instance, global::System.IntPtr s); - internal static global::CppSharp.Parser.AST.VTableComponent __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST6Method22clearOverriddenMethodsEv")] + internal static extern void ClearOverriddenMethods(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST6Method25getOverriddenMethodsCountEv")] + internal static extern uint GetOverriddenMethodsCount(global::System.IntPtr instance); + } + + internal static new global::CppSharp.Parser.AST.Method __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VTableComponent(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Method(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.VTableComponent __CreateInstance(global::CppSharp.Parser.AST.VTableComponent.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Method __CreateInstance(global::CppSharp.Parser.AST.Method.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VTableComponent(native, skipVTables); + return new global::CppSharp.Parser.AST.Method(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.VTableComponent.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Method.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); - *(global::CppSharp.Parser.AST.VTableComponent.__Internal*) ret = native; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); + global::CppSharp.Parser.AST.Method.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private VTableComponent(global::CppSharp.Parser.AST.VTableComponent.__Internal native, bool skipVTables = false) + private Method(global::CppSharp.Parser.AST.Method.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected VTableComponent(void* native, bool skipVTables = false) + protected Method(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public VTableComponent() + public Method() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public VTableComponent(global::CppSharp.Parser.AST.VTableComponent _0) + public Method(global::CppSharp.Parser.AST.Method _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.VTableComponent.__Internal*) _0.__Instance); - } - - public void Dispose() - { - Dispose(disposing: true); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.VTableComponent __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.VTableComponentKind Kind + public global::CppSharp.Parser.AST.Method GetOverriddenMethods(uint i) { - get - { - return ((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->kind; - } - - set - { - ((global::CppSharp.Parser.AST.VTableComponent.__Internal*)__Instance)->kind = value; - } + var __ret = __Internal.GetOverriddenMethods((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Method __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Method.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Method) global::CppSharp.Parser.AST.Method.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Method.__CreateInstance(__ret); + return __result0; } - public uint Offset + public void AddOverriddenMethods(global::CppSharp.Parser.AST.Method s) { - get - { - return ((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->offset; - } + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddOverriddenMethods((__Instance + __PointerAdjustment), __arg0); + } - set - { - ((global::CppSharp.Parser.AST.VTableComponent.__Internal*)__Instance)->offset = value; - } + public void ClearOverriddenMethods() + { + __Internal.ClearOverriddenMethods((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.Declaration Declaration + public bool IsVirtual { get { - global::CppSharp.Parser.AST.Declaration __result0; - if (((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration); - return __result0; + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isVirtual != 0; } set { - ((global::CppSharp.Parser.AST.VTableComponent.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } - } - - public unsafe partial class LayoutField : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 56)] - public partial struct __Internal - { - [FieldOffset(0)] - internal uint offset; - - [FieldOffset(8)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; - - [FieldOffset(32)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - - [FieldOffset(48)] - internal global::System.IntPtr fieldPtr; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutFieldC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutFieldC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr other); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutFieldD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); - } - - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.LayoutField __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.LayoutField(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.LayoutField __CreateInstance(global::CppSharp.Parser.AST.LayoutField.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.LayoutField(native, skipVTables); + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isVirtual = (byte) (value ? 1 : 0); + } } - private static void* __CopyValue(global::CppSharp.Parser.AST.LayoutField.__Internal native) + public bool IsStatic { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); - global::CppSharp.Parser.AST.LayoutField.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isStatic != 0; + } - private LayoutField(global::CppSharp.Parser.AST.LayoutField.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isStatic = (byte) (value ? 1 : 0); + } } - protected LayoutField(void* native, bool skipVTables = false) + public bool IsConst { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isConst != 0; + } - public LayoutField() - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isConst = (byte) (value ? 1 : 0); + } } - public LayoutField(global::CppSharp.Parser.AST.LayoutField other) + public bool IsExplicit { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(other, null)) - throw new global::System.ArgumentNullException("other", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = other.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isExplicit != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isExplicit = (byte) (value ? 1 : 0); + } } - public void Dispose() + public global::CppSharp.Parser.AST.CXXMethodKind MethodKind { - Dispose(disposing: true); + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->methodKind; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->methodKind = value; + } } - public virtual void Dispose(bool disposing) + public bool IsDefaultConstructor { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.LayoutField __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isDefaultConstructor != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isDefaultConstructor = (byte) (value ? 1 : 0); + } } - public uint Offset + public bool IsCopyConstructor { get { - return ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->offset; + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isCopyConstructor != 0; } set { - ((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->offset = value; + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isCopyConstructor = (byte) (value ? 1 : 0); } } - public string Name + public bool IsMoveConstructor { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->name)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isMoveConstructor != 0; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->name), value); + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isMoveConstructor = (byte) (value ? 1 : 0); } } - public global::CppSharp.Parser.AST.QualifiedType QualifiedType + public global::CppSharp.Parser.AST.QualifiedType ConversionType { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->qualifiedType)); + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->conversionType)); } set { - ((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->conversionType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public global::System.IntPtr FieldPtr + public global::CppSharp.Parser.AST.RefQualifierKind RefQualifier { get { - return ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->fieldPtr; + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->refQualifier; } set { - ((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->fieldPtr = (global::System.IntPtr) value; + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->refQualifier = value; + } + } + + public uint OverriddenMethodsCount + { + get + { + var __ret = __Internal.GetOverriddenMethodsCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class LayoutBase : IDisposable + public unsafe partial class Enumeration : global::CppSharp.Parser.AST.DeclarationContext, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 16)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 488)] + public new partial struct __Internal { [FieldOffset(0)] - internal uint offset; + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal global::System.IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(64)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(112)] + internal byte isIncomplete; + + [FieldOffset(113)] + internal byte isDependent; + + [FieldOffset(114)] + internal byte isImplicit; + + [FieldOffset(115)] + internal byte isInvalid; + + [FieldOffset(120)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(128)] + internal uint definitionOrder; + + [FieldOffset(136)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(184)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(192)] + internal global::System.IntPtr comment; + + [FieldOffset(200)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ Namespaces; + + [FieldOffset(224)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; + + [FieldOffset(248)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; + + [FieldOffset(272)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; + + [FieldOffset(296)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; + + [FieldOffset(320)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; + + [FieldOffset(344)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ TypeAliases; + + [FieldOffset(368)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ Variables; + + [FieldOffset(392)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ Friends; + + [FieldOffset(416)] + internal global::Std.Map.__Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ anonymous; + + [FieldOffset(440)] + internal byte isAnonymous; + + [FieldOffset(444)] + internal global::CppSharp.Parser.AST.Enumeration.EnumModifiers modifiers; + + [FieldOffset(448)] + internal global::System.IntPtr type; + + [FieldOffset(456)] + internal global::System.IntPtr builtinType; + + [FieldOffset(464)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration_S_Item___N_std_N___1_S_allocator__S0_ Items; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11EnumerationC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11EnumerationC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11EnumerationD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration8getItemsEj")] + internal static extern global::System.IntPtr GetItems(global::System.IntPtr instance, uint i); - [FieldOffset(8)] - internal global::System.IntPtr _class; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration8addItemsERPNS2_4ItemE")] + internal static extern void AddItems(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10LayoutBaseC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration10clearItemsEv")] + internal static extern void ClearItems(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10LayoutBaseC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr other); + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration14FindItemByNameERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEE")] + internal static extern global::System.IntPtr FindItemByName(global::System.IntPtr instance, global::System.IntPtr Name); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10LayoutBaseD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration13getItemsCountEv")] + internal static extern uint GetItemsCount(global::System.IntPtr instance); } - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.LayoutBase __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + [Flags] + public enum EnumModifiers { - return new global::CppSharp.Parser.AST.LayoutBase(native.ToPointer(), skipVTables); + Anonymous = 1, + Scoped = 2, + Flags = 4 } - internal static global::CppSharp.Parser.AST.LayoutBase __CreateInstance(global::CppSharp.Parser.AST.LayoutBase.__Internal native, bool skipVTables = false) + public unsafe partial class Item : global::CppSharp.Parser.AST.Declaration, IDisposable { - return new global::CppSharp.Parser.AST.LayoutBase(native, skipVTables); - } + [StructLayout(LayoutKind.Explicit, Size = 232)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; - private static void* __CopyValue(global::CppSharp.Parser.AST.LayoutBase.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); - global::CppSharp.Parser.AST.LayoutBase.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + [FieldOffset(4)] + internal int maxFieldAlignment; - private LayoutBase(global::CppSharp.Parser.AST.LayoutBase.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; - protected LayoutBase(void* native, bool skipVTables = false) - { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [FieldOffset(16)] + internal global::System.IntPtr _namespace; - public LayoutBase() - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; - public LayoutBase(global::CppSharp.Parser.AST.LayoutBase other) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(other, null)) - throw new global::System.ArgumentNullException("other", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = other.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(28)] + internal int lineNumberStart; - public void Dispose() - { - Dispose(disposing: true); - } + [FieldOffset(32)] + internal int lineNumberEnd; - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.LayoutBase __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; - public uint Offset - { - get + [FieldOffset(64)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(112)] + internal byte isIncomplete; + + [FieldOffset(113)] + internal byte isDependent; + + [FieldOffset(114)] + internal byte isImplicit; + + [FieldOffset(115)] + internal byte isInvalid; + + [FieldOffset(120)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(128)] + internal uint definitionOrder; + + [FieldOffset(136)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(184)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(192)] + internal global::System.IntPtr comment; + + [FieldOffset(200)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C expression; + + [FieldOffset(224)] + internal ulong value; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4ItemC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4ItemC2ERKS3_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4ItemD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); + } + + internal static new global::CppSharp.Parser.AST.Enumeration.Item __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return ((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->offset; + return new global::CppSharp.Parser.AST.Enumeration.Item(native.ToPointer(), skipVTables); } - set + internal static global::CppSharp.Parser.AST.Enumeration.Item __CreateInstance(global::CppSharp.Parser.AST.Enumeration.Item.__Internal native, bool skipVTables = false) { - ((global::CppSharp.Parser.AST.LayoutBase.__Internal*)__Instance)->offset = value; + return new global::CppSharp.Parser.AST.Enumeration.Item(native, skipVTables); } - } - public global::CppSharp.Parser.AST.Class Class - { - get + private static void* __CopyValue(global::CppSharp.Parser.AST.Enumeration.Item.__Internal native) { - global::CppSharp.Parser.AST.Class __result0; - if (((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class)) - __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class]; - else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class); - return __result0; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); + global::CppSharp.Parser.AST.Enumeration.Item.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); } - set + private Item(global::CppSharp.Parser.AST.Enumeration.Item.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - ((global::CppSharp.Parser.AST.LayoutBase.__Internal*)__Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; } - } - } - public unsafe partial class BuiltinType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 12)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + protected Item(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(4)] - internal byte isDependent; + public Item() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public Item(global::CppSharp.Parser.AST.Enumeration.Item _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public string Expression + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*) __Instance)->expression)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.PrimitiveType type; + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*)__Instance)->expression), value); + } + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11BuiltinTypeC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); + public ulong Value + { + get + { + return ((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*) __Instance)->value; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11BuiltinTypeC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + set + { + ((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*)__Instance)->value = value; + } + } } - internal static new global::CppSharp.Parser.AST.BuiltinType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Enumeration __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.BuiltinType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Enumeration(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.BuiltinType __CreateInstance(global::CppSharp.Parser.AST.BuiltinType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Enumeration __CreateInstance(global::CppSharp.Parser.AST.Enumeration.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.BuiltinType(native, skipVTables); + return new global::CppSharp.Parser.AST.Enumeration(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.BuiltinType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Enumeration.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); - global::CppSharp.Parser.AST.BuiltinType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); + global::CppSharp.Parser.AST.Enumeration.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private BuiltinType(global::CppSharp.Parser.AST.BuiltinType.__Internal native, bool skipVTables = false) + private Enumeration(global::CppSharp.Parser.AST.Enumeration.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected BuiltinType(void* native, bool skipVTables = false) + protected Enumeration(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -8887,19 +8441,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public BuiltinType() + public Enumeration() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public BuiltinType(global::CppSharp.Parser.AST.BuiltinType _0) + public Enumeration(global::CppSharp.Parser.AST.Enumeration _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -8908,185 +8462,229 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.PrimitiveType Type + public override void Dispose(bool disposing) { - get - { - return ((global::CppSharp.Parser.AST.BuiltinType.__Internal*) __Instance)->type; - } - - set - { - ((global::CppSharp.Parser.AST.BuiltinType.__Internal*)__Instance)->type = value; - } + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; } - } - public unsafe partial class TagType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 16)] - public new partial struct __Internal + public global::CppSharp.Parser.AST.Enumeration.Item GetItems(uint i) { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - internal byte isDependent; - - [FieldOffset(8)] - internal global::System.IntPtr declaration; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST7TagTypeC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST7TagTypeC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + var __ret = __Internal.GetItems((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Enumeration.Item __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Enumeration.Item) global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Enumeration.Item.__CreateInstance(__ret); + return __result0; } - internal static new global::CppSharp.Parser.AST.TagType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public void AddItems(global::CppSharp.Parser.AST.Enumeration.Item s) { - return new global::CppSharp.Parser.AST.TagType(native.ToPointer(), skipVTables); + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddItems((__Instance + __PointerAdjustment), __arg0); } - internal static global::CppSharp.Parser.AST.TagType __CreateInstance(global::CppSharp.Parser.AST.TagType.__Internal native, bool skipVTables = false) + public void ClearItems() { - return new global::CppSharp.Parser.AST.TagType(native, skipVTables); + __Internal.ClearItems((__Instance + __PointerAdjustment)); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TagType.__Internal native) + public global::CppSharp.Parser.AST.Enumeration.Item FindItemByName(string Name) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); - global::CppSharp.Parser.AST.TagType.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, Name); + var __arg0 = __basicString0.__Instance; + var __ret = __Internal.FindItemByName((__Instance + __PointerAdjustment), __arg0); + __basicString0.Dispose(false); + global::CppSharp.Parser.AST.Enumeration.Item __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Enumeration.Item) global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Enumeration.Item.__CreateInstance(__ret); + return __result0; } - private TagType(global::CppSharp.Parser.AST.TagType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) + public global::CppSharp.Parser.AST.Enumeration.EnumModifiers Modifiers { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + get + { + return ((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->modifiers; + } - protected TagType(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); + set + { + ((global::CppSharp.Parser.AST.Enumeration.__Internal*)__Instance)->modifiers = value; + } } - public TagType() - : this((void*) null) + public global::CppSharp.Parser.AST.Type Type { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + get + { + global::CppSharp.Parser.AST.Type __result0; + if (((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type)) + __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type]; + else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.Enumeration.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } } - public TagType(global::CppSharp.Parser.AST.TagType _0) - : this((void*) null) + public global::CppSharp.Parser.AST.BuiltinType BuiltinType { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + get + { + global::CppSharp.Parser.AST.BuiltinType __result0; + if (((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.BuiltinType.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType)) + __result0 = (global::CppSharp.Parser.AST.BuiltinType) global::CppSharp.Parser.AST.BuiltinType.NativeToManagedMap[((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType]; + else __result0 = global::CppSharp.Parser.AST.BuiltinType.__CreateInstance(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.Enumeration.__Internal*)__Instance)->builtinType = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } } - public global::CppSharp.Parser.AST.Declaration Declaration + public uint ItemsCount { get { - global::CppSharp.Parser.AST.Declaration __result0; - if (((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration); - return __result0; + var __ret = __Internal.GetItemsCount((__Instance + __PointerAdjustment)); + return __ret; } + } + } + + public unsafe partial class Variable : global::CppSharp.Parser.AST.Declaration, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 240)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal global::System.IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(64)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(112)] + internal byte isIncomplete; + + [FieldOffset(113)] + internal byte isDependent; + + [FieldOffset(114)] + internal byte isImplicit; + + [FieldOffset(115)] + internal byte isInvalid; - set - { - ((global::CppSharp.Parser.AST.TagType.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } - } + [FieldOffset(120)] + internal global::System.IntPtr completeDeclaration; - public unsafe partial class ArrayType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 48)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + [FieldOffset(128)] + internal uint definitionOrder; - [FieldOffset(4)] - internal byte isDependent; + [FieldOffset(136)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; - [FieldOffset(24)] - internal global::CppSharp.Parser.AST.ArrayType.ArraySize sizeType; + [FieldOffset(184)] + internal global::System.IntPtr originalPtr; - [FieldOffset(32)] - internal long size; + [FieldOffset(192)] + internal global::System.IntPtr comment; - [FieldOffset(40)] - internal long elementSize; + [FieldOffset(200)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C mangled; + + [FieldOffset(224)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9ArrayTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST8VariableC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9ArrayTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST8VariableC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - } - public enum ArraySize - { - Constant = 0, - Variable = 1, - Dependent = 2, - Incomplete = 3 + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8VariableD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.ArrayType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Variable __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ArrayType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Variable(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.ArrayType __CreateInstance(global::CppSharp.Parser.AST.ArrayType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Variable __CreateInstance(global::CppSharp.Parser.AST.Variable.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ArrayType(native, skipVTables); + return new global::CppSharp.Parser.AST.Variable(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.ArrayType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Variable.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); - global::CppSharp.Parser.AST.ArrayType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); + global::CppSharp.Parser.AST.Variable.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private ArrayType(global::CppSharp.Parser.AST.ArrayType.__Internal native, bool skipVTables = false) + private Variable(global::CppSharp.Parser.AST.Variable.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected ArrayType(void* native, bool skipVTables = false) + protected Variable(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -9095,19 +8693,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public ArrayType() + public Variable() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public ArrayType(global::CppSharp.Parser.AST.ArrayType _0) + public Variable(global::CppSharp.Parser.AST.Variable _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -9116,319 +8714,324 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType QualifiedType - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->qualifiedType)); - } - - set - { - ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } - } - - public global::CppSharp.Parser.AST.ArrayType.ArraySize SizeType + public override void Dispose(bool disposing) { - get - { - return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->sizeType; - } - - set - { - ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->sizeType = value; - } + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; } - public long Size + public string Mangled { get { - return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->size; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Variable.__Internal*) __Instance)->mangled)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->size = value; + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Variable.__Internal*)__Instance)->mangled), value); } } - public long ElementSize + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { get { - return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->elementSize; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Variable.__Internal*) __Instance)->qualifiedType)); } set { - ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->elementSize = value; + ((global::CppSharp.Parser.AST.Variable.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } } - public unsafe partial class FunctionType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class BaseClassSpecifier : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 56)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 24)] + public partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(4)] - internal byte isDependent; + internal byte isVirtual; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; - - [FieldOffset(24)] - internal global::CppSharp.Parser.AST.CallingConvention callingConvention; - - [FieldOffset(28)] - internal global::CppSharp.Parser.AST.ExceptionSpecType exceptionSpecType; + internal global::System.IntPtr type; - [FieldOffset(32)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_N___1_S_allocator__S0_ Parameters; + [FieldOffset(16)] + internal int offset; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST18BaseClassSpecifierC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST18BaseClassSpecifierC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionTypeD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionType13getParametersEj")] - internal static extern global::System.IntPtr GetParameters(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionType13addParametersERPNS1_9ParameterE")] - internal static extern void AddParameters(global::System.IntPtr instance, global::System.IntPtr s); + public global::System.IntPtr __Instance { get; protected set; } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionType15clearParametersEv")] - internal static extern void ClearParameters(global::System.IntPtr instance); + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionType18getParametersCountEv")] - internal static extern uint GetParametersCount(global::System.IntPtr instance); - } + protected bool __ownsNativeInstance; - internal static new global::CppSharp.Parser.AST.FunctionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.BaseClassSpecifier __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.FunctionType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.BaseClassSpecifier(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.FunctionType __CreateInstance(global::CppSharp.Parser.AST.FunctionType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.BaseClassSpecifier __CreateInstance(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.FunctionType(native, skipVTables); + return new global::CppSharp.Parser.AST.BaseClassSpecifier(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); - global::CppSharp.Parser.AST.FunctionType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); + *(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) ret = native; return ret.ToPointer(); } - private FunctionType(global::CppSharp.Parser.AST.FunctionType.__Internal native, bool skipVTables = false) + private BaseClassSpecifier(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected FunctionType(void* native, bool skipVTables = false) - : base((void*) null) + protected BaseClassSpecifier(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public FunctionType() - : this((void*) null) + public BaseClassSpecifier() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public FunctionType(global::CppSharp.Parser.AST.FunctionType _0) - : this((void*) null) + public BaseClassSpecifier(global::CppSharp.Parser.AST.BaseClassSpecifier _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + *((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) _0.__Instance); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Type __dummy; + global::CppSharp.Parser.AST.BaseClassSpecifier __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - - public global::CppSharp.Parser.AST.Parameter GetParameters(uint i) - { - var __ret = __Internal.GetParameters((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Parameter __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Parameter.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Parameter) global::CppSharp.Parser.AST.Parameter.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Parameter.__CreateInstance(__ret); - return __result0; - } - - public void AddParameters(global::CppSharp.Parser.AST.Parameter s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddParameters((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearParameters() - { - __Internal.ClearParameters((__Instance + __PointerAdjustment)); + __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.QualifiedType ReturnType + public global::CppSharp.Parser.AST.AccessSpecifier Access { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->returnType)); + return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->access; } set { - ((global::CppSharp.Parser.AST.FunctionType.__Internal*)__Instance)->returnType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->access = value; } } - public global::CppSharp.Parser.AST.CallingConvention CallingConvention + public bool IsVirtual { get { - return ((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->callingConvention; + return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->isVirtual != 0; } set { - ((global::CppSharp.Parser.AST.FunctionType.__Internal*)__Instance)->callingConvention = value; + ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->isVirtual = (byte) (value ? 1 : 0); } } - public global::CppSharp.Parser.AST.ExceptionSpecType ExceptionSpecType + public global::CppSharp.Parser.AST.Type Type { get { - return ((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->exceptionSpecType; + global::CppSharp.Parser.AST.Type __result0; + if (((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type)) + __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type]; + else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type); + return __result0; } set { - ((global::CppSharp.Parser.AST.FunctionType.__Internal*)__Instance)->exceptionSpecType = value; + ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public uint ParametersCount + public int Offset { get { - var __ret = __Internal.GetParametersCount((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->offset; + } + + set + { + ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->offset = value; } } } - public unsafe partial class PointerType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class Field : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 232)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal byte isDependent; + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedPointee; + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal global::System.IntPtr _namespace; [FieldOffset(24)] - internal global::CppSharp.Parser.AST.PointerType.TypeModifier modifier; + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(64)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(112)] + internal byte isIncomplete; + + [FieldOffset(113)] + internal byte isDependent; + + [FieldOffset(114)] + internal byte isImplicit; + + [FieldOffset(115)] + internal byte isInvalid; + + [FieldOffset(120)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(128)] + internal uint definitionOrder; + + [FieldOffset(136)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(184)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(192)] + internal global::System.IntPtr comment; + + [FieldOffset(200)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(216)] + internal global::System.IntPtr _class; + + [FieldOffset(224)] + internal byte isBitField; + + [FieldOffset(228)] + internal uint bitWidth; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11PointerTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST5FieldC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11PointerTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST5FieldC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - } - public enum TypeModifier - { - Value = 0, - Pointer = 1, - LVReference = 2, - RVReference = 3 + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5FieldD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.PointerType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Field __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.PointerType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Field(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.PointerType __CreateInstance(global::CppSharp.Parser.AST.PointerType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Field __CreateInstance(global::CppSharp.Parser.AST.Field.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.PointerType(native, skipVTables); + return new global::CppSharp.Parser.AST.Field(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.PointerType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Field.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); - global::CppSharp.Parser.AST.PointerType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); + global::CppSharp.Parser.AST.Field.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private PointerType(global::CppSharp.Parser.AST.PointerType.__Internal native, bool skipVTables = false) + private Field(global::CppSharp.Parser.AST.Field.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected PointerType(void* native, bool skipVTables = false) + protected Field(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -9437,19 +9040,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public PointerType() + public Field() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public PointerType(global::CppSharp.Parser.AST.PointerType _0) + public Field(global::CppSharp.Parser.AST.Field _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -9458,176 +9061,183 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType QualifiedPointee + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.PointerType.__Internal*) __Instance)->qualifiedPointee)); + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->qualifiedType)); } set { - ((global::CppSharp.Parser.AST.PointerType.__Internal*)__Instance)->qualifiedPointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public global::CppSharp.Parser.AST.PointerType.TypeModifier Modifier + public global::CppSharp.Parser.AST.Class Class { get { - return ((global::CppSharp.Parser.AST.PointerType.__Internal*) __Instance)->modifier; + global::CppSharp.Parser.AST.Class __result0; + if (((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class)) + __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class]; + else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class); + return __result0; } set { - ((global::CppSharp.Parser.AST.PointerType.__Internal*)__Instance)->modifier = value; + ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - } - - public unsafe partial class MemberPointerType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 24)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - internal byte isDependent; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal pointee; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17MemberPointerTypeC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17MemberPointerTypeC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - } - - internal static new global::CppSharp.Parser.AST.MemberPointerType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.MemberPointerType(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.MemberPointerType __CreateInstance(global::CppSharp.Parser.AST.MemberPointerType.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.MemberPointerType(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.MemberPointerType.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); - global::CppSharp.Parser.AST.MemberPointerType.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private MemberPointerType(global::CppSharp.Parser.AST.MemberPointerType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected MemberPointerType(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public MemberPointerType() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } - public MemberPointerType(global::CppSharp.Parser.AST.MemberPointerType _0) - : this((void*) null) + public bool IsBitField { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + get + { + return ((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->isBitField != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->isBitField = (byte) (value ? 1 : 0); + } } - public global::CppSharp.Parser.AST.QualifiedType Pointee + public uint BitWidth { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MemberPointerType.__Internal*) __Instance)->pointee)); + return ((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->bitWidth; } set { - ((global::CppSharp.Parser.AST.MemberPointerType.__Internal*)__Instance)->pointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->bitWidth = value; } } } - public unsafe partial class TypedefType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class AccessSpecifierDecl : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 16)] + [StructLayout(LayoutKind.Explicit, Size = 200)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal byte isDependent; + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::System.IntPtr declaration; + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal global::System.IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(64)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(112)] + internal byte isIncomplete; + + [FieldOffset(113)] + internal byte isDependent; + + [FieldOffset(114)] + internal byte isImplicit; + + [FieldOffset(115)] + internal byte isInvalid; + + [FieldOffset(120)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(128)] + internal uint definitionOrder; + + [FieldOffset(136)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(184)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(192)] + internal global::System.IntPtr comment; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST19AccessSpecifierDeclC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST19AccessSpecifierDeclC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19AccessSpecifierDeclD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.TypedefType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.AccessSpecifierDecl __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypedefType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.AccessSpecifierDecl(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TypedefType __CreateInstance(global::CppSharp.Parser.AST.TypedefType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.AccessSpecifierDecl __CreateInstance(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypedefType(native, skipVTables); + return new global::CppSharp.Parser.AST.AccessSpecifierDecl(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); - global::CppSharp.Parser.AST.TypedefType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); + global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TypedefType(global::CppSharp.Parser.AST.TypedefType.__Internal native, bool skipVTables = false) + private AccessSpecifierDecl(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TypedefType(void* native, bool skipVTables = false) + protected AccessSpecifierDecl(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -9636,19 +9246,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TypedefType() + public AccessSpecifierDecl() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TypedefType(global::CppSharp.Parser.AST.TypedefType _0) + public AccessSpecifierDecl(global::CppSharp.Parser.AST.AccessSpecifierDecl _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -9657,340 +9267,284 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.TypedefNameDecl Declaration + public override void Dispose(bool disposing) { - get - { - global::CppSharp.Parser.AST.TypedefNameDecl __result0; - if (((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TypedefNameDecl.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration)) - __result0 = (global::CppSharp.Parser.AST.TypedefNameDecl) global::CppSharp.Parser.AST.TypedefNameDecl.NativeToManagedMap[((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration]; - else __result0 = global::CppSharp.Parser.AST.TypedefNameDecl.__CreateInstance(((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.TypedefType.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; } } - public unsafe partial class AttributedType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class Class : global::CppSharp.Parser.AST.DeclarationContext, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 568)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal byte isDependent; + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal modified; + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal global::System.IntPtr _namespace; [FieldOffset(24)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal equivalent; + internal global::CppSharp.Parser.SourceLocation.__Internal location; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14AttributedTypeC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); + [FieldOffset(28)] + internal int lineNumberStart; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14AttributedTypeC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - } + [FieldOffset(32)] + internal int lineNumberEnd; - internal static new global::CppSharp.Parser.AST.AttributedType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.AttributedType(native.ToPointer(), skipVTables); - } + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; - internal static global::CppSharp.Parser.AST.AttributedType __CreateInstance(global::CppSharp.Parser.AST.AttributedType.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.AttributedType(native, skipVTables); - } + [FieldOffset(64)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - private static void* __CopyValue(global::CppSharp.Parser.AST.AttributedType.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); - global::CppSharp.Parser.AST.AttributedType.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; - private AttributedType(global::CppSharp.Parser.AST.AttributedType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + [FieldOffset(112)] + internal byte isIncomplete; - protected AttributedType(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [FieldOffset(113)] + internal byte isDependent; - public AttributedType() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } + [FieldOffset(114)] + internal byte isImplicit; + + [FieldOffset(115)] + internal byte isInvalid; + + [FieldOffset(120)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(128)] + internal uint definitionOrder; + + [FieldOffset(136)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(184)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(192)] + internal global::System.IntPtr comment; + + [FieldOffset(200)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ Namespaces; + + [FieldOffset(224)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; + + [FieldOffset(248)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; + + [FieldOffset(272)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; + + [FieldOffset(296)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; + + [FieldOffset(320)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; + + [FieldOffset(344)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ TypeAliases; + + [FieldOffset(368)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ Variables; - public AttributedType(global::CppSharp.Parser.AST.AttributedType _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(392)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ Friends; - public global::CppSharp.Parser.AST.QualifiedType Modified - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.AttributedType.__Internal*) __Instance)->modified)); - } + [FieldOffset(416)] + internal global::Std.Map.__Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ anonymous; - set - { - ((global::CppSharp.Parser.AST.AttributedType.__Internal*)__Instance)->modified = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } - } + [FieldOffset(440)] + internal byte isAnonymous; - public global::CppSharp.Parser.AST.QualifiedType Equivalent - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.AttributedType.__Internal*) __Instance)->equivalent)); - } + [FieldOffset(448)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BaseClassSpecifier___N_std_N___1_S_allocator__S0_ Bases; - set - { - ((global::CppSharp.Parser.AST.AttributedType.__Internal*)__Instance)->equivalent = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } - } - } + [FieldOffset(472)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Field___N_std_N___1_S_allocator__S0_ Fields; - public unsafe partial class DecayedType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 56)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + [FieldOffset(496)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_N___1_S_allocator__S0_ Methods; - [FieldOffset(4)] - internal byte isDependent; + [FieldOffset(520)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_AccessSpecifierDecl___N_std_N___1_S_allocator__S0_ Specifiers; - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal decayed; + [FieldOffset(544)] + internal byte isPOD; - [FieldOffset(24)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal original; + [FieldOffset(545)] + internal byte isAbstract; - [FieldOffset(40)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal pointee; + [FieldOffset(546)] + internal byte isUnion; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11DecayedTypeC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); + [FieldOffset(547)] + internal byte isDynamic; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11DecayedTypeC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - } + [FieldOffset(548)] + internal byte isPolymorphic; - internal static new global::CppSharp.Parser.AST.DecayedType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.DecayedType(native.ToPointer(), skipVTables); - } + [FieldOffset(549)] + internal byte hasNonTrivialDefaultConstructor; - internal static global::CppSharp.Parser.AST.DecayedType __CreateInstance(global::CppSharp.Parser.AST.DecayedType.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.DecayedType(native, skipVTables); - } + [FieldOffset(550)] + internal byte hasNonTrivialCopyConstructor; - private static void* __CopyValue(global::CppSharp.Parser.AST.DecayedType.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); - global::CppSharp.Parser.AST.DecayedType.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + [FieldOffset(551)] + internal byte hasNonTrivialDestructor; - private DecayedType(global::CppSharp.Parser.AST.DecayedType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + [FieldOffset(552)] + internal byte isExternCContext; - protected DecayedType(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [FieldOffset(553)] + internal byte isInjected; - public DecayedType() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } + [FieldOffset(560)] + internal global::System.IntPtr layout; - public DecayedType(global::CppSharp.Parser.AST.DecayedType _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5ClassC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); - public global::CppSharp.Parser.AST.QualifiedType Decayed - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->decayed)); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5ClassC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - set - { - ((global::CppSharp.Parser.AST.DecayedType.__Internal*)__Instance)->decayed = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5ClassD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); - public global::CppSharp.Parser.AST.QualifiedType Original - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->original)); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class8getBasesEj")] + internal static extern global::System.IntPtr GetBases(global::System.IntPtr instance, uint i); - set - { - ((global::CppSharp.Parser.AST.DecayedType.__Internal*)__Instance)->original = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class8addBasesERPNS1_18BaseClassSpecifierE")] + internal static extern void AddBases(global::System.IntPtr instance, global::System.IntPtr s); - public global::CppSharp.Parser.AST.QualifiedType Pointee - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->pointee)); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class10clearBasesEv")] + internal static extern void ClearBases(global::System.IntPtr instance); - set - { - ((global::CppSharp.Parser.AST.DecayedType.__Internal*)__Instance)->pointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } - } - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class9getFieldsEj")] + internal static extern global::System.IntPtr GetFields(global::System.IntPtr instance, uint i); - public unsafe partial class TemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 56)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class9addFieldsERPNS1_5FieldE")] + internal static extern void AddFields(global::System.IntPtr instance, global::System.IntPtr s); - [FieldOffset(4)] - internal byte isDependent; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class11clearFieldsEv")] + internal static extern void ClearFields(global::System.IntPtr instance); - [FieldOffset(8)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_N___1_S_allocator__S0_ Arguments; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class10getMethodsEj")] + internal static extern global::System.IntPtr GetMethods(global::System.IntPtr instance, uint i); - [FieldOffset(32)] - internal global::System.IntPtr _template; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class10addMethodsERPNS1_6MethodE")] + internal static extern void AddMethods(global::System.IntPtr instance, global::System.IntPtr s); - [FieldOffset(40)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class12clearMethodsEv")] + internal static extern void ClearMethods(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationTypeC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST5Class13getSpecifiersEj")] + internal static extern global::System.IntPtr GetSpecifiers(global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationTypeC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST5Class13addSpecifiersERPNS1_19AccessSpecifierDeclE")] + internal static extern void AddSpecifiers(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationTypeD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST5Class15clearSpecifiersEv")] + internal static extern void ClearSpecifiers(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType12getArgumentsEj")] - internal static extern void GetArguments(global::System.IntPtr @return, global::System.IntPtr instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST5Class13getBasesCountEv")] + internal static extern uint GetBasesCount(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType12addArgumentsERNS1_16TemplateArgumentE")] - internal static extern void AddArguments(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST5Class14getFieldsCountEv")] + internal static extern uint GetFieldsCount(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType14clearArgumentsEv")] - internal static extern void ClearArguments(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST5Class15getMethodsCountEv")] + internal static extern uint GetMethodsCount(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType17getArgumentsCountEv")] - internal static extern uint GetArgumentsCount(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST5Class18getSpecifiersCountEv")] + internal static extern uint GetSpecifiersCount(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.TemplateSpecializationType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Class __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateSpecializationType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Class(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TemplateSpecializationType __CreateInstance(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Class __CreateInstance(global::CppSharp.Parser.AST.Class.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateSpecializationType(native, skipVTables); + return new global::CppSharp.Parser.AST.Class(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Class.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); - global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); + global::CppSharp.Parser.AST.Class.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateSpecializationType(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native, bool skipVTables = false) + private Class(global::CppSharp.Parser.AST.Class.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TemplateSpecializationType(void* native, bool skipVTables = false) + protected Class(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -9999,19 +9553,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TemplateSpecializationType() + public Class() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TemplateSpecializationType(global::CppSharp.Parser.AST.TemplateSpecializationType _0) + public Class(global::CppSharp.Parser.AST.Class _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -10024,7 +9578,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Type __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -10033,407 +9587,290 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) + public global::CppSharp.Parser.AST.BaseClassSpecifier GetBases(uint i) { - var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); - __Internal.GetArguments(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); + var __ret = __Internal.GetBases((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.BaseClassSpecifier __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.BaseClassSpecifier.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.BaseClassSpecifier) global::CppSharp.Parser.AST.BaseClassSpecifier.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.BaseClassSpecifier.__CreateInstance(__ret); + return __result0; } - public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) + public void AddBases(global::CppSharp.Parser.AST.BaseClassSpecifier s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearArguments() - { - __Internal.ClearArguments((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.Template Template - { - get - { - global::CppSharp.Parser.AST.Template __result0; - if (((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Template.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template)) - __result0 = (global::CppSharp.Parser.AST.Template) global::CppSharp.Parser.AST.Template.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template]; - else __result0 = global::CppSharp.Parser.AST.Template.__CreateInstance(((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*)__Instance)->_template = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } - - public global::CppSharp.Parser.AST.QualifiedType Desugared - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->desugared)); - } - - set - { - ((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*)__Instance)->desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } + __Internal.AddBases((__Instance + __PointerAdjustment), __arg0); } - public uint ArgumentsCount + public void ClearBases() { - get - { - var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); - return __ret; - } + __Internal.ClearBases((__Instance + __PointerAdjustment)); } - } - public unsafe partial class DependentTemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 48)] - public new partial struct __Internal + public global::CppSharp.Parser.AST.Field GetFields(uint i) { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - internal byte isDependent; - - [FieldOffset(8)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_N___1_S_allocator__S0_ Arguments; - - [FieldOffset(32)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationTypeC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationTypeC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationTypeD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationType12getArgumentsEj")] - internal static extern void GetArguments(global::System.IntPtr @return, global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationType12addArgumentsERNS1_16TemplateArgumentE")] - internal static extern void AddArguments(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationType14clearArgumentsEv")] - internal static extern void ClearArguments(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationType17getArgumentsCountEv")] - internal static extern uint GetArgumentsCount(global::System.IntPtr instance); + var __ret = __Internal.GetFields((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Field __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Field.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Field) global::CppSharp.Parser.AST.Field.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Field.__CreateInstance(__ret); + return __result0; } - internal static new global::CppSharp.Parser.AST.DependentTemplateSpecializationType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public void AddFields(global::CppSharp.Parser.AST.Field s) { - return new global::CppSharp.Parser.AST.DependentTemplateSpecializationType(native.ToPointer(), skipVTables); + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddFields((__Instance + __PointerAdjustment), __arg0); } - internal static global::CppSharp.Parser.AST.DependentTemplateSpecializationType __CreateInstance(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native, bool skipVTables = false) + public void ClearFields() { - return new global::CppSharp.Parser.AST.DependentTemplateSpecializationType(native, skipVTables); + __Internal.ClearFields((__Instance + __PointerAdjustment)); } - private static void* __CopyValue(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native) + public global::CppSharp.Parser.AST.Method GetMethods(uint i) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); - global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); + var __ret = __Internal.GetMethods((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Method __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Method.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Method) global::CppSharp.Parser.AST.Method.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Method.__CreateInstance(__ret); + return __result0; } - private DependentTemplateSpecializationType(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) + public void AddMethods(global::CppSharp.Parser.AST.Method s) { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddMethods((__Instance + __PointerAdjustment), __arg0); } - protected DependentTemplateSpecializationType(void* native, bool skipVTables = false) - : base((void*) null) + public void ClearMethods() { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); + __Internal.ClearMethods((__Instance + __PointerAdjustment)); } - public DependentTemplateSpecializationType() - : this((void*) null) + public global::CppSharp.Parser.AST.AccessSpecifierDecl GetSpecifiers(uint i) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetSpecifiers((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.AccessSpecifierDecl __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.AccessSpecifierDecl.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.AccessSpecifierDecl) global::CppSharp.Parser.AST.AccessSpecifierDecl.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.AccessSpecifierDecl.__CreateInstance(__ret); + return __result0; } - public DependentTemplateSpecializationType(global::CppSharp.Parser.AST.DependentTemplateSpecializationType _0) - : this((void*) null) + public void AddSpecifiers(global::CppSharp.Parser.AST.AccessSpecifierDecl s) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddSpecifiers((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void ClearSpecifiers() { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Type __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; + __Internal.ClearSpecifiers((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) + public bool IsPOD { - var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); - __Internal.GetArguments(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); - } + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isPOD != 0; + } - public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isPOD = (byte) (value ? 1 : 0); + } } - public void ClearArguments() + public bool IsAbstract { - __Internal.ClearArguments((__Instance + __PointerAdjustment)); + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isAbstract != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isAbstract = (byte) (value ? 1 : 0); + } } - public global::CppSharp.Parser.AST.QualifiedType Desugared + public bool IsUnion { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal*) __Instance)->desugared)); + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isUnion != 0; } set { - ((global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal*)__Instance)->desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isUnion = (byte) (value ? 1 : 0); } } - public uint ArgumentsCount + public bool IsDynamic { get { - var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isDynamic != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isDynamic = (byte) (value ? 1 : 0); } } - } - public unsafe partial class TypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 232)] - public new partial struct __Internal + public bool IsPolymorphic { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; - - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; - - [FieldOffset(32)] - internal int lineNumberEnd; - - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; - - [FieldOffset(64)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - - [FieldOffset(88)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; - - [FieldOffset(112)] - internal byte isIncomplete; - - [FieldOffset(113)] - internal byte isDependent; - - [FieldOffset(114)] - internal byte isImplicit; - - [FieldOffset(115)] - internal byte isInvalid; - - [FieldOffset(120)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(128)] - internal uint definitionOrder; - - [FieldOffset(136)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; - - [FieldOffset(184)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(192)] - internal global::System.IntPtr comment; - - [FieldOffset(200)] - internal uint depth; - - [FieldOffset(204)] - internal uint index; - - [FieldOffset(208)] - internal byte isParameterPack; - - [FieldOffset(216)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal defaultArgument; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21TypeTemplateParameterC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21TypeTemplateParameterC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isPolymorphic != 0; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21TypeTemplateParameterD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isPolymorphic = (byte) (value ? 1 : 0); + } } - internal static new global::CppSharp.Parser.AST.TypeTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public bool HasNonTrivialDefaultConstructor { - return new global::CppSharp.Parser.AST.TypeTemplateParameter(native.ToPointer(), skipVTables); + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->hasNonTrivialDefaultConstructor != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->hasNonTrivialDefaultConstructor = (byte) (value ? 1 : 0); + } } - internal static global::CppSharp.Parser.AST.TypeTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal native, bool skipVTables = false) + public bool HasNonTrivialCopyConstructor { - return new global::CppSharp.Parser.AST.TypeTemplateParameter(native, skipVTables); + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->hasNonTrivialCopyConstructor != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->hasNonTrivialCopyConstructor = (byte) (value ? 1 : 0); + } } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal native) + public bool HasNonTrivialDestructor { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); - global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->hasNonTrivialDestructor != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->hasNonTrivialDestructor = (byte) (value ? 1 : 0); + } } - private TypeTemplateParameter(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) + public bool IsExternCContext { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isExternCContext != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isExternCContext = (byte) (value ? 1 : 0); + } } - protected TypeTemplateParameter(void* native, bool skipVTables = false) - : base((void*) null) + public bool IsInjected { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isInjected != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isInjected = (byte) (value ? 1 : 0); + } } - public TypeTemplateParameter() - : this((void*) null) + public global::CppSharp.Parser.AST.ClassLayout Layout { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + get + { + global::CppSharp.Parser.AST.ClassLayout __result0; + if (((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.ClassLayout.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout)) + __result0 = (global::CppSharp.Parser.AST.ClassLayout) global::CppSharp.Parser.AST.ClassLayout.NativeToManagedMap[((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout]; + else __result0 = global::CppSharp.Parser.AST.ClassLayout.__CreateInstance(((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->layout = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } } - public TypeTemplateParameter(global::CppSharp.Parser.AST.TypeTemplateParameter _0) - : this((void*) null) + public uint BasesCount { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + get + { + var __ret = __Internal.GetBasesCount((__Instance + __PointerAdjustment)); + return __ret; + } } - public override void Dispose(bool disposing) + public uint FieldsCount { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; + get + { + var __ret = __Internal.GetFieldsCount((__Instance + __PointerAdjustment)); + return __ret; + } } - public global::CppSharp.Parser.AST.QualifiedType DefaultArgument + public uint MethodsCount { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal*) __Instance)->defaultArgument)); + var __ret = __Internal.GetMethodsCount((__Instance + __PointerAdjustment)); + return __ret; } + } - set + public uint SpecifiersCount + { + get { - ((global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal*)__Instance)->defaultArgument = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + var __ret = __Internal.GetSpecifiersCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class TemplateParameter : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class Template : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 216)] + [StructLayout(LayoutKind.Explicit, Size = 232)] public new partial struct __Internal { [FieldOffset(0)] @@ -10497,206 +9934,77 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(200)] - internal uint depth; - - [FieldOffset(204)] - internal uint index; + internal global::System.IntPtr TemplatedDecl; [FieldOffset(208)] - internal byte isParameterPack; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Parameters; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17TemplateParameterC2ENS1_15DeclarationKindE")] + EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateC2ENS1_15DeclarationKindE")] internal static extern void ctor(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17TemplateParameterC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17TemplateParameterD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateD2Ev")] internal static extern void dtor(global::System.IntPtr instance); - } - - internal static new global::CppSharp.Parser.AST.TemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.TemplateParameter(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.TemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TemplateParameter.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.TemplateParameter(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameter.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); - global::CppSharp.Parser.AST.TemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private TemplateParameter(global::CppSharp.Parser.AST.TemplateParameter.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected TemplateParameter(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public TemplateParameter(global::CppSharp.Parser.AST.DeclarationKind kind) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), kind); - } - - public TemplateParameter(global::CppSharp.Parser.AST.TemplateParameter _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } - - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - - public static implicit operator global::CppSharp.Parser.AST.TemplateParameter(global::CppSharp.Parser.AST.DeclarationKind kind) - { - return new global::CppSharp.Parser.AST.TemplateParameter(kind); - } - - public uint Depth - { - get - { - return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->depth; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*)__Instance)->depth = value; - } - } - - public uint Index - { - get - { - return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->index; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*)__Instance)->index = value; - } - } - - public bool IsParameterPack - { - get - { - return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->isParameterPack != 0; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*)__Instance)->isParameterPack = (byte) (value ? 1 : 0); - } - } - } - - public unsafe partial class TemplateParameterType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 32)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - internal byte isDependent; - - [FieldOffset(8)] - internal global::System.IntPtr parameter; - - [FieldOffset(16)] - internal uint depth; - - [FieldOffset(20)] - internal uint index; - [FieldOffset(24)] - internal byte isParameterPack; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Template13getParametersEj")] + internal static extern global::System.IntPtr GetParameters(global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21TemplateParameterTypeC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST8Template13addParametersERPNS1_11DeclarationE")] + internal static extern void AddParameters(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21TemplateParameterTypeC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST8Template15clearParametersEv")] + internal static extern void ClearParameters(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21TemplateParameterTypeD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST8Template18getParametersCountEv")] + internal static extern uint GetParametersCount(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.TemplateParameterType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Template __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateParameterType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Template(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TemplateParameterType __CreateInstance(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Template __CreateInstance(global::CppSharp.Parser.AST.Template.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateParameterType(native, skipVTables); + return new global::CppSharp.Parser.AST.Template(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Template.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); - global::CppSharp.Parser.AST.TemplateParameterType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); + global::CppSharp.Parser.AST.Template.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateParameterType(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native, bool skipVTables = false) + private Template(global::CppSharp.Parser.AST.Template.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TemplateParameterType(void* native, bool skipVTables = false) + protected Template(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -10705,19 +10013,28 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TemplateParameterType() + public Template(global::CppSharp.Parser.AST.DeclarationKind kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), kind); + } + + public Template() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TemplateParameterType(global::CppSharp.Parser.AST.TemplateParameterType _0) + public Template(global::CppSharp.Parser.AST.Template _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -10730,7 +10047,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Type __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -10739,117 +10056,175 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.TypeTemplateParameter Parameter + public global::CppSharp.Parser.AST.Declaration GetParameters(uint i) { - get - { - global::CppSharp.Parser.AST.TypeTemplateParameter __result0; - if (((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TypeTemplateParameter.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter)) - __result0 = (global::CppSharp.Parser.AST.TypeTemplateParameter) global::CppSharp.Parser.AST.TypeTemplateParameter.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter]; - else __result0 = global::CppSharp.Parser.AST.TypeTemplateParameter.__CreateInstance(((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter); - return __result0; - } + var __ret = __Internal.GetParameters((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Declaration __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(__ret); + return __result0; + } - set - { - ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->parameter = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + public void AddParameters(global::CppSharp.Parser.AST.Declaration s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddParameters((__Instance + __PointerAdjustment), __arg0); } - public uint Depth + public void ClearParameters() { - get - { - return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->depth; - } + __Internal.ClearParameters((__Instance + __PointerAdjustment)); + } - set - { - ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->depth = value; - } + public static implicit operator global::CppSharp.Parser.AST.Template(global::CppSharp.Parser.AST.DeclarationKind kind) + { + return new global::CppSharp.Parser.AST.Template(kind); } - public uint Index + public global::CppSharp.Parser.AST.Declaration TemplatedDecl { get { - return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->index; + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl); + return __result0; } set { - ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->index = value; + ((global::CppSharp.Parser.AST.Template.__Internal*)__Instance)->TemplatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public bool IsParameterPack + public uint ParametersCount { get { - return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->isParameterPack != 0; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->isParameterPack = (byte) (value ? 1 : 0); + var __ret = __Internal.GetParametersCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class TemplateParameterSubstitutionType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class TypeAliasTemplate : global::CppSharp.Parser.AST.Template, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 232)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal byte isDependent; + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal replacement; + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal global::System.IntPtr _namespace; [FieldOffset(24)] - internal global::System.IntPtr replacedParameter; + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(64)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(112)] + internal byte isIncomplete; + + [FieldOffset(113)] + internal byte isDependent; + + [FieldOffset(114)] + internal byte isImplicit; + + [FieldOffset(115)] + internal byte isInvalid; + + [FieldOffset(120)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(128)] + internal uint definitionOrder; + + [FieldOffset(136)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(184)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(192)] + internal global::System.IntPtr comment; + + [FieldOffset(200)] + internal global::System.IntPtr TemplatedDecl; + + [FieldOffset(208)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Parameters; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST33TemplateParameterSubstitutionTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST17TypeAliasTemplateC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST33TemplateParameterSubstitutionTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST17TypeAliasTemplateC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17TypeAliasTemplateD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.TemplateParameterSubstitutionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TypeAliasTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateParameterSubstitutionType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TypeAliasTemplate(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TemplateParameterSubstitutionType __CreateInstance(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TypeAliasTemplate __CreateInstance(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateParameterSubstitutionType(native, skipVTables); + return new global::CppSharp.Parser.AST.TypeAliasTemplate(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); - global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); + global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateParameterSubstitutionType(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native, bool skipVTables = false) + private TypeAliasTemplate(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TemplateParameterSubstitutionType(void* native, bool skipVTables = false) + protected TypeAliasTemplate(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -10858,19 +10233,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TemplateParameterSubstitutionType() + public TypeAliasTemplate() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TemplateParameterSubstitutionType(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType _0) + public TypeAliasTemplate(global::CppSharp.Parser.AST.TypeAliasTemplate _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -10879,91 +10254,135 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType Replacement - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacement)); - } - - set - { - ((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*)__Instance)->replacement = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } - } - - public global::CppSharp.Parser.AST.TemplateParameterType ReplacedParameter + public override void Dispose(bool disposing) { - get - { - global::CppSharp.Parser.AST.TemplateParameterType __result0; - if (((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TemplateParameterType.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter)) - __result0 = (global::CppSharp.Parser.AST.TemplateParameterType) global::CppSharp.Parser.AST.TemplateParameterType.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter]; - else __result0 = global::CppSharp.Parser.AST.TemplateParameterType.__CreateInstance(((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*)__Instance)->replacedParameter = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; } } - public unsafe partial class InjectedClassNameType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class TemplateParameter : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 216)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal byte isDependent; + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal injectedSpecializationType; + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal global::System.IntPtr _namespace; [FieldOffset(24)] - internal global::System.IntPtr _class; + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(64)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(112)] + internal byte isIncomplete; + + [FieldOffset(113)] + internal byte isDependent; + + [FieldOffset(114)] + internal byte isImplicit; + + [FieldOffset(115)] + internal byte isInvalid; + + [FieldOffset(120)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(128)] + internal uint definitionOrder; + + [FieldOffset(136)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(184)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(192)] + internal global::System.IntPtr comment; + + [FieldOffset(200)] + internal uint depth; + + [FieldOffset(204)] + internal uint index; + + [FieldOffset(208)] + internal byte isParameterPack; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21InjectedClassNameTypeC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST17TemplateParameterC2ENS1_15DeclarationKindE")] + internal static extern void ctor(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21InjectedClassNameTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST17TemplateParameterC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17TemplateParameterD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.InjectedClassNameType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.InjectedClassNameType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TemplateParameter(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.InjectedClassNameType __CreateInstance(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TemplateParameter.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.InjectedClassNameType(native, skipVTables); + return new global::CppSharp.Parser.AST.TemplateParameter(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameter.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); - global::CppSharp.Parser.AST.InjectedClassNameType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); + global::CppSharp.Parser.AST.TemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private InjectedClassNameType(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native, bool skipVTables = false) + private TemplateParameter(global::CppSharp.Parser.AST.TemplateParameter.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected InjectedClassNameType(void* native, bool skipVTables = false) + protected TemplateParameter(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -10972,19 +10391,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public InjectedClassNameType() + public TemplateParameter(global::CppSharp.Parser.AST.DeclarationKind kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + __Internal.ctor((__Instance + __PointerAdjustment), kind); } - public InjectedClassNameType(global::CppSharp.Parser.AST.InjectedClassNameType _0) + public TemplateParameter(global::CppSharp.Parser.AST.TemplateParameter _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -10993,96 +10412,185 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType InjectedSpecializationType + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public static implicit operator global::CppSharp.Parser.AST.TemplateParameter(global::CppSharp.Parser.AST.DeclarationKind kind) + { + return new global::CppSharp.Parser.AST.TemplateParameter(kind); + } + + public uint Depth { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->injectedSpecializationType)); + return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->depth; } set { - ((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*)__Instance)->injectedSpecializationType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*)__Instance)->depth = value; } } - public global::CppSharp.Parser.AST.Class Class + public uint Index { get { - global::CppSharp.Parser.AST.Class __result0; - if (((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class)) - __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class]; - else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class); - return __result0; + return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->index; } set { - ((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*)__Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*)__Instance)->index = value; + } + } + + public bool IsParameterPack + { + get + { + return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->isParameterPack != 0; + } + + set + { + ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*)__Instance)->isParameterPack = (byte) (value ? 1 : 0); } } } - public unsafe partial class DependentNameType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class TemplateTemplateParameter : global::CppSharp.Parser.AST.Template, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 48)] + [StructLayout(LayoutKind.Explicit, Size = 240)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal byte isDependent; + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifier; + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal global::System.IntPtr _namespace; [FieldOffset(24)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C identifier; + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(64)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(112)] + internal byte isIncomplete; + + [FieldOffset(113)] + internal byte isDependent; + + [FieldOffset(114)] + internal byte isImplicit; + + [FieldOffset(115)] + internal byte isInvalid; + + [FieldOffset(120)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(128)] + internal uint definitionOrder; + + [FieldOffset(136)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(184)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(192)] + internal global::System.IntPtr comment; + + [FieldOffset(200)] + internal global::System.IntPtr TemplatedDecl; + + [FieldOffset(208)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Parameters; + + [FieldOffset(232)] + internal byte isParameterPack; + + [FieldOffset(233)] + internal byte isPackExpansion; + + [FieldOffset(234)] + internal byte isExpandedParameterPack; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17DependentNameTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST25TemplateTemplateParameterC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17DependentNameTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST25TemplateTemplateParameterC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17DependentNameTypeD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST25TemplateTemplateParameterD2Ev")] internal static extern void dtor(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.DependentNameType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TemplateTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.DependentNameType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TemplateTemplateParameter(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.DependentNameType __CreateInstance(global::CppSharp.Parser.AST.DependentNameType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TemplateTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.DependentNameType(native, skipVTables); + return new global::CppSharp.Parser.AST.TemplateTemplateParameter(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.DependentNameType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); - global::CppSharp.Parser.AST.DependentNameType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); + global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private DependentNameType(global::CppSharp.Parser.AST.DependentNameType.__Internal native, bool skipVTables = false) + private TemplateTemplateParameter(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected DependentNameType(void* native, bool skipVTables = false) + protected TemplateTemplateParameter(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -11091,19 +10599,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public DependentNameType() + public TemplateTemplateParameter() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public DependentNameType(global::CppSharp.Parser.AST.DependentNameType _0) + public TemplateTemplateParameter(global::CppSharp.Parser.AST.TemplateTemplateParameter _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -11116,7 +10624,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Type __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -11125,166 +10633,164 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.QualifiedType Qualifier + public bool IsParameterPack { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentNameType.__Internal*) __Instance)->qualifier)); + return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isParameterPack != 0; } set { - ((global::CppSharp.Parser.AST.DependentNameType.__Internal*)__Instance)->qualifier = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*)__Instance)->isParameterPack = (byte) (value ? 1 : 0); } } - public string Identifier + public bool IsPackExpansion { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentNameType.__Internal*) __Instance)->identifier)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentNameType.__Internal*)__Instance)->identifier), value); - } - } - } - - public unsafe partial class PackExpansionType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 8)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - internal byte isDependent; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17PackExpansionTypeC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17PackExpansionTypeC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - } - - internal static new global::CppSharp.Parser.AST.PackExpansionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.PackExpansionType(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.PackExpansionType __CreateInstance(global::CppSharp.Parser.AST.PackExpansionType.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.PackExpansionType(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.PackExpansionType.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); - global::CppSharp.Parser.AST.PackExpansionType.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private PackExpansionType(global::CppSharp.Parser.AST.PackExpansionType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected PackExpansionType(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public PackExpansionType() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isPackExpansion != 0; + } + + set + { + ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*)__Instance)->isPackExpansion = (byte) (value ? 1 : 0); + } } - public PackExpansionType(global::CppSharp.Parser.AST.PackExpansionType _0) - : this((void*) null) + public bool IsExpandedParameterPack { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + get + { + return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isExpandedParameterPack != 0; + } + + set + { + ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*)__Instance)->isExpandedParameterPack = (byte) (value ? 1 : 0); + } } } - public unsafe partial class UnaryTransformType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class TypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 232)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal byte isDependent; + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal global::System.IntPtr _namespace; [FieldOffset(24)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal baseType; + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(64)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(112)] + internal byte isIncomplete; + + [FieldOffset(113)] + internal byte isDependent; + + [FieldOffset(114)] + internal byte isImplicit; + + [FieldOffset(115)] + internal byte isInvalid; + + [FieldOffset(120)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(128)] + internal uint definitionOrder; + + [FieldOffset(136)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(184)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(192)] + internal global::System.IntPtr comment; + + [FieldOffset(200)] + internal uint depth; + + [FieldOffset(204)] + internal uint index; + + [FieldOffset(208)] + internal byte isParameterPack; + + [FieldOffset(216)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal defaultArgument; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18UnaryTransformTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST21TypeTemplateParameterC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18UnaryTransformTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST21TypeTemplateParameterC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST21TypeTemplateParameterD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.UnaryTransformType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TypeTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.UnaryTransformType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TypeTemplateParameter(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.UnaryTransformType __CreateInstance(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TypeTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.UnaryTransformType(native, skipVTables); + return new global::CppSharp.Parser.AST.TypeTemplateParameter(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); - global::CppSharp.Parser.AST.UnaryTransformType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); + global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private UnaryTransformType(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native, bool skipVTables = false) + private TypeTemplateParameter(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected UnaryTransformType(void* native, bool skipVTables = false) + protected TypeTemplateParameter(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -11293,19 +10799,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public UnaryTransformType() + public TypeTemplateParameter() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public UnaryTransformType(global::CppSharp.Parser.AST.UnaryTransformType _0) + public TypeTemplateParameter(global::CppSharp.Parser.AST.TypeTemplateParameter _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -11314,86 +10820,160 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType Desugared + public override void Dispose(bool disposing) { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*) __Instance)->desugared)); - } - - set - { - ((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*)__Instance)->desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.QualifiedType BaseType + public global::CppSharp.Parser.AST.QualifiedType DefaultArgument { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*) __Instance)->baseType)); + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal*) __Instance)->defaultArgument)); } set { - ((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*)__Instance)->baseType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal*)__Instance)->defaultArgument = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } } - public unsafe partial class VectorType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class NonTypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 232)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal byte isDependent; + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal elementType; + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal global::System.IntPtr _namespace; [FieldOffset(24)] - internal uint numElements; + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(64)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(112)] + internal byte isIncomplete; + + [FieldOffset(113)] + internal byte isDependent; + + [FieldOffset(114)] + internal byte isImplicit; + + [FieldOffset(115)] + internal byte isInvalid; + + [FieldOffset(120)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(128)] + internal uint definitionOrder; + + [FieldOffset(136)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(184)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(192)] + internal global::System.IntPtr comment; + + [FieldOffset(200)] + internal uint depth; + + [FieldOffset(204)] + internal uint index; + + [FieldOffset(208)] + internal byte isParameterPack; + + [FieldOffset(216)] + internal global::System.IntPtr defaultArgument; + + [FieldOffset(224)] + internal uint position; + + [FieldOffset(228)] + internal byte isPackExpansion; + + [FieldOffset(229)] + internal byte isExpandedParameterPack; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10VectorTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST24NonTypeTemplateParameterC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10VectorTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST24NonTypeTemplateParameterC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST24NonTypeTemplateParameterD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.VectorType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.NonTypeTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VectorType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.NonTypeTemplateParameter(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.VectorType __CreateInstance(global::CppSharp.Parser.AST.VectorType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.NonTypeTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VectorType(native, skipVTables); + return new global::CppSharp.Parser.AST.NonTypeTemplateParameter(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.VectorType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); - global::CppSharp.Parser.AST.VectorType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); + global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private VectorType(global::CppSharp.Parser.AST.VectorType.__Internal native, bool skipVTables = false) + private NonTypeTemplateParameter(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected VectorType(void* native, bool skipVTables = false) + protected NonTypeTemplateParameter(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -11402,19 +10982,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public VectorType() + public NonTypeTemplateParameter() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public VectorType(global::CppSharp.Parser.AST.VectorType _0) + public NonTypeTemplateParameter(global::CppSharp.Parser.AST.NonTypeTemplateParameter _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -11423,29 +11003,73 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType ElementType + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Expression DefaultArgument { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VectorType.__Internal*) __Instance)->elementType)); + global::CppSharp.Parser.AST.Expression __result0; + if (((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument)) + __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument]; + else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument); + return __result0; } set { - ((global::CppSharp.Parser.AST.VectorType.__Internal*)__Instance)->elementType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->defaultArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public uint NumElements + public uint Position { get { - return ((global::CppSharp.Parser.AST.VectorType.__Internal*) __Instance)->numElements; + return ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->position; } set { - ((global::CppSharp.Parser.AST.VectorType.__Internal*)__Instance)->numElements = value; + ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->position = value; + } + } + + public bool IsPackExpansion + { + get + { + return ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->isPackExpansion != 0; + } + + set + { + ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->isPackExpansion = (byte) (value ? 1 : 0); + } + } + + public bool IsExpandedParameterPack + { + get + { + return ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->isExpandedParameterPack != 0; + } + + set + { + ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->isExpandedParameterPack = (byte) (value ? 1 : 0); } } } @@ -12176,40 +11800,223 @@ namespace CppSharp [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST34ClassTemplatePartialSpecializationC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST34ClassTemplatePartialSpecializationC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST34ClassTemplatePartialSpecializationD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); + } + + internal static new global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization __CreateInstance(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); + global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private ClassTemplatePartialSpecialization(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ClassTemplatePartialSpecialization(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ClassTemplatePartialSpecialization() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ClassTemplatePartialSpecialization(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + } + + public unsafe partial class FunctionTemplate : global::CppSharp.Parser.AST.Template, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 256)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal global::System.IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(64)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(112)] + internal byte isIncomplete; + + [FieldOffset(113)] + internal byte isDependent; + + [FieldOffset(114)] + internal byte isImplicit; + + [FieldOffset(115)] + internal byte isInvalid; + + [FieldOffset(120)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(128)] + internal uint definitionOrder; + + [FieldOffset(136)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(184)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(192)] + internal global::System.IntPtr comment; + + [FieldOffset(200)] + internal global::System.IntPtr TemplatedDecl; + + [FieldOffset(208)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Parameters; + + [FieldOffset(232)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_FunctionTemplateSpecialization___N_std_N___1_S_allocator__S0_ Specializations; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplateC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplateC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplateD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate18getSpecializationsEj")] + internal static extern global::System.IntPtr GetSpecializations(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate18addSpecializationsERPNS1_30FunctionTemplateSpecializationE")] + internal static extern void AddSpecializations(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate20clearSpecializationsEv")] + internal static extern void ClearSpecializations(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate18FindSpecializationERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEE")] + internal static extern global::System.IntPtr FindSpecialization(global::System.IntPtr instance, global::System.IntPtr usr); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST34ClassTemplatePartialSpecializationD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate23getSpecializationsCountEv")] + internal static extern uint GetSpecializationsCount(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.FunctionTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.FunctionTemplate(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization __CreateInstance(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.FunctionTemplate __CreateInstance(global::CppSharp.Parser.AST.FunctionTemplate.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization(native, skipVTables); + return new global::CppSharp.Parser.AST.FunctionTemplate(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionTemplate.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); - global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); + global::CppSharp.Parser.AST.FunctionTemplate.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private ClassTemplatePartialSpecialization(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal native, bool skipVTables = false) + private FunctionTemplate(global::CppSharp.Parser.AST.FunctionTemplate.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected ClassTemplatePartialSpecialization(void* native, bool skipVTables = false) + protected FunctionTemplate(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -12218,19 +12025,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public ClassTemplatePartialSpecialization() + public FunctionTemplate() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public ClassTemplatePartialSpecialization(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization _0) + public FunctionTemplate(global::CppSharp.Parser.AST.FunctionTemplate _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -12251,103 +12058,159 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } + + public global::CppSharp.Parser.AST.FunctionTemplateSpecialization GetSpecializations(uint i) + { + var __ret = __Internal.GetSpecializations((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.FunctionTemplateSpecialization __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.FunctionTemplateSpecialization) global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__CreateInstance(__ret); + return __result0; + } + + public void AddSpecializations(global::CppSharp.Parser.AST.FunctionTemplateSpecialization s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddSpecializations((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearSpecializations() + { + __Internal.ClearSpecializations((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.FunctionTemplateSpecialization FindSpecialization(string usr) + { + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, usr); + var __arg0 = __basicString0.__Instance; + var __ret = __Internal.FindSpecialization((__Instance + __PointerAdjustment), __arg0); + __basicString0.Dispose(false); + global::CppSharp.Parser.AST.FunctionTemplateSpecialization __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.FunctionTemplateSpecialization) global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__CreateInstance(__ret); + return __result0; + } + + public uint SpecializationsCount + { + get + { + var __ret = __Internal.GetSpecializationsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } } - public unsafe partial class BinaryOperator : global::CppSharp.Parser.AST.Expression, IDisposable + public unsafe partial class FunctionTemplateSpecialization : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 80)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 48)] + public partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.StatementClass _class; + internal global::System.IntPtr _template; [FieldOffset(8)] - internal global::System.IntPtr decl; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_N___1_S_allocator__S0_ Arguments; - [FieldOffset(16)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C @string; + [FieldOffset(32)] + internal global::System.IntPtr specializedFunction; [FieldOffset(40)] - internal global::System.IntPtr LHS; - - [FieldOffset(48)] - internal global::System.IntPtr RHS; - - [FieldOffset(56)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C opcodeStr; + internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14BinaryOperatorC2ERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEPNS1_10ExpressionESD_SB_")] - internal static extern void ctor(global::System.IntPtr instance, global::System.IntPtr str, global::System.IntPtr lhs, global::System.IntPtr rhs, global::System.IntPtr opcodeStr); + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecializationC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14BinaryOperatorC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecializationC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14BinaryOperatorD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecializationD2Ev")] internal static extern void dtor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization12getArgumentsEj")] + internal static extern void GetArguments(global::System.IntPtr @return, global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization12addArgumentsERNS1_16TemplateArgumentE")] + internal static extern void AddArguments(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization14clearArgumentsEv")] + internal static extern void ClearArguments(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization17getArgumentsCountEv")] + internal static extern uint GetArgumentsCount(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.BinaryOperator __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.FunctionTemplateSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.BinaryOperator(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.FunctionTemplateSpecialization(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.BinaryOperator __CreateInstance(global::CppSharp.Parser.AST.BinaryOperator.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.FunctionTemplateSpecialization __CreateInstance(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.BinaryOperator(native, skipVTables); + return new global::CppSharp.Parser.AST.FunctionTemplateSpecialization(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.BinaryOperator.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); - global::CppSharp.Parser.AST.BinaryOperator.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); + global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private BinaryOperator(global::CppSharp.Parser.AST.BinaryOperator.__Internal native, bool skipVTables = false) + private FunctionTemplateSpecialization(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected BinaryOperator(void* native, bool skipVTables = false) - : base((void*) null) + protected FunctionTemplateSpecialization(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public BinaryOperator(string str, global::CppSharp.Parser.AST.Expression lhs, global::CppSharp.Parser.AST.Expression rhs, string opcodeStr) - : this((void*) null) + public FunctionTemplateSpecialization() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, str); - var __arg0 = __basicString0.__Instance; - var __arg1 = ReferenceEquals(lhs, null) ? global::System.IntPtr.Zero : lhs.__Instance; - var __arg2 = ReferenceEquals(rhs, null) ? global::System.IntPtr.Zero : rhs.__Instance; - var __basicString3 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString3, opcodeStr); - var __arg3 = __basicString3.__Instance; - __Internal.ctor((__Instance + __PointerAdjustment), __arg0, __arg1, __arg2, __arg3); - __basicString0.Dispose(false); - __basicString3.Dispose(false); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public BinaryOperator(global::CppSharp.Parser.AST.BinaryOperator _0) - : this((void*) null) + public FunctionTemplateSpecialization(global::CppSharp.Parser.AST.FunctionTemplateSpecialization _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -12356,11 +12219,16 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Statement __dummy; + global::CppSharp.Parser.AST.FunctionTemplateSpecialization __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -12369,137 +12237,230 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.Expression LHS + public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) + { + var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); + __Internal.GetArguments(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); + return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); + } + + public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearArguments() + { + __Internal.ClearArguments((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.FunctionTemplate Template { get { - global::CppSharp.Parser.AST.Expression __result0; - if (((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->LHS == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->LHS)) - __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->LHS]; - else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->LHS); + global::CppSharp.Parser.AST.FunctionTemplate __result0; + if (((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.FunctionTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template)) + __result0 = (global::CppSharp.Parser.AST.FunctionTemplate) global::CppSharp.Parser.AST.FunctionTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template]; + else __result0 = global::CppSharp.Parser.AST.FunctionTemplate.__CreateInstance(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template); return __result0; } set { - ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->LHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*)__Instance)->_template = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public global::CppSharp.Parser.AST.Expression RHS + public global::CppSharp.Parser.AST.Function SpecializedFunction { get { - global::CppSharp.Parser.AST.Expression __result0; - if (((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->RHS == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->RHS)) - __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->RHS]; - else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->RHS); + global::CppSharp.Parser.AST.Function __result0; + if (((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction)) + __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction]; + else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction); return __result0; } set { - ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->RHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*)__Instance)->specializedFunction = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public string OpcodeStr + public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->opcodeStr)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + return ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializationKind; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->opcodeStr), value); + ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*)__Instance)->specializationKind = value; + } + } + + public uint ArgumentsCount + { + get + { + var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class CallExpr : global::CppSharp.Parser.AST.Expression, IDisposable + public unsafe partial class VarTemplate : global::CppSharp.Parser.AST.Template, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 64)] + [StructLayout(LayoutKind.Explicit, Size = 256)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.StatementClass _class; + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::System.IntPtr decl; + internal global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(16)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C @string; + internal global::System.IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; [FieldOffset(40)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expression___N_std_N___1_S_allocator__S0_ Arguments; + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(64)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(112)] + internal byte isIncomplete; + + [FieldOffset(113)] + internal byte isDependent; + + [FieldOffset(114)] + internal byte isImplicit; + + [FieldOffset(115)] + internal byte isInvalid; + + [FieldOffset(120)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(128)] + internal uint definitionOrder; + + [FieldOffset(136)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(184)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(192)] + internal global::System.IntPtr comment; + + [FieldOffset(200)] + internal global::System.IntPtr TemplatedDecl; + + [FieldOffset(208)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Parameters; + + [FieldOffset(232)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_VarTemplateSpecialization___N_std_N___1_S_allocator__S0_ Specializations; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8CallExprC2ERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEPNS1_11DeclarationE")] - internal static extern void ctor(global::System.IntPtr instance, global::System.IntPtr str, global::System.IntPtr decl); + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplateC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8CallExprC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplateC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8CallExprD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplateD2Ev")] internal static extern void dtor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr12getArgumentsEj")] - internal static extern global::System.IntPtr GetArguments(global::System.IntPtr instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate18getSpecializationsEj")] + internal static extern global::System.IntPtr GetSpecializations(global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr12addArgumentsERPNS1_10ExpressionE")] - internal static extern void AddArguments(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate18addSpecializationsERPNS1_25VarTemplateSpecializationE")] + internal static extern void AddSpecializations(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr14clearArgumentsEv")] - internal static extern void ClearArguments(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate20clearSpecializationsEv")] + internal static extern void ClearSpecializations(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr17getArgumentsCountEv")] - internal static extern uint GetArgumentsCount(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate18FindSpecializationERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEE")] + internal static extern global::System.IntPtr FindSpecialization(global::System.IntPtr instance, global::System.IntPtr usr); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate25FindPartialSpecializationERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEE")] + internal static extern global::System.IntPtr FindPartialSpecialization(global::System.IntPtr instance, global::System.IntPtr usr); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate23getSpecializationsCountEv")] + internal static extern uint GetSpecializationsCount(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.CallExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.VarTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.CallExpr(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.VarTemplate(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.CallExpr __CreateInstance(global::CppSharp.Parser.AST.CallExpr.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.VarTemplate __CreateInstance(global::CppSharp.Parser.AST.VarTemplate.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.CallExpr(native, skipVTables); + return new global::CppSharp.Parser.AST.VarTemplate(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.CallExpr.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VarTemplate.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); - global::CppSharp.Parser.AST.CallExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); + global::CppSharp.Parser.AST.VarTemplate.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private CallExpr(global::CppSharp.Parser.AST.CallExpr.__Internal native, bool skipVTables = false) + private VarTemplate(global::CppSharp.Parser.AST.VarTemplate.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected CallExpr(void* native, bool skipVTables = false) + protected VarTemplate(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -12508,24 +12469,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public CallExpr(string str, global::CppSharp.Parser.AST.Declaration decl) + public VarTemplate() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, str); - var __arg0 = __basicString0.__Instance; - var __arg1 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; - __Internal.ctor((__Instance + __PointerAdjustment), __arg0, __arg1); - __basicString0.Dispose(false); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public CallExpr(global::CppSharp.Parser.AST.CallExpr _0) + public VarTemplate(global::CppSharp.Parser.AST.VarTemplate _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -12538,7 +12494,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Statement __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -12547,118 +12503,211 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.Expression GetArguments(uint i) - { - var __ret = __Internal.GetArguments((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Expression __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(__ret); - return __result0; - } + public global::CppSharp.Parser.AST.VarTemplateSpecialization GetSpecializations(uint i) + { + var __ret = __Internal.GetSpecializations((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.VarTemplateSpecialization __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.VarTemplateSpecialization) global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.VarTemplateSpecialization.__CreateInstance(__ret); + return __result0; + } + + public void AddSpecializations(global::CppSharp.Parser.AST.VarTemplateSpecialization s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddSpecializations((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearSpecializations() + { + __Internal.ClearSpecializations((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.VarTemplateSpecialization FindSpecialization(string usr) + { + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, usr); + var __arg0 = __basicString0.__Instance; + var __ret = __Internal.FindSpecialization((__Instance + __PointerAdjustment), __arg0); + __basicString0.Dispose(false); + global::CppSharp.Parser.AST.VarTemplateSpecialization __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.VarTemplateSpecialization) global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.VarTemplateSpecialization.__CreateInstance(__ret); + return __result0; + } + + public global::CppSharp.Parser.AST.VarTemplatePartialSpecialization FindPartialSpecialization(string usr) + { + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, usr); + var __arg0 = __basicString0.__Instance; + var __ret = __Internal.FindPartialSpecialization((__Instance + __PointerAdjustment), __arg0); + __basicString0.Dispose(false); + global::CppSharp.Parser.AST.VarTemplatePartialSpecialization __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.VarTemplatePartialSpecialization) global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__CreateInstance(__ret); + return __result0; + } + + public uint SpecializationsCount + { + get + { + var __ret = __Internal.GetSpecializationsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } + + public unsafe partial class VarTemplateSpecialization : global::CppSharp.Parser.AST.Variable, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 280)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal global::System.IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(64)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(112)] + internal byte isIncomplete; + + [FieldOffset(113)] + internal byte isDependent; + + [FieldOffset(114)] + internal byte isImplicit; + + [FieldOffset(115)] + internal byte isInvalid; + + [FieldOffset(120)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(128)] + internal uint definitionOrder; + + [FieldOffset(136)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; - public void AddArguments(global::CppSharp.Parser.AST.Expression s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; - public void ClearArguments() - { - __Internal.ClearArguments((__Instance + __PointerAdjustment)); - } + [FieldOffset(184)] + internal global::System.IntPtr originalPtr; - public uint ArgumentsCount - { - get - { - var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - } + [FieldOffset(192)] + internal global::System.IntPtr comment; - public unsafe partial class CXXConstructExpr : global::CppSharp.Parser.AST.Expression, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 64)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.StatementClass _class; + [FieldOffset(200)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C mangled; - [FieldOffset(8)] - internal global::System.IntPtr decl; + [FieldOffset(224)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - [FieldOffset(16)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C @string; + [FieldOffset(240)] + internal global::System.IntPtr templatedDecl; - [FieldOffset(40)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expression___N_std_N___1_S_allocator__S0_ Arguments; + [FieldOffset(248)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_N___1_S_allocator__S0_ Arguments; + + [FieldOffset(272)] + internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExprC2ERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEPNS1_11DeclarationE")] - internal static extern void ctor(global::System.IntPtr instance, global::System.IntPtr str, global::System.IntPtr decl); + EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecializationC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExprC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecializationC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExprD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecializationD2Ev")] internal static extern void dtor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr12getArgumentsEj")] - internal static extern global::System.IntPtr GetArguments(global::System.IntPtr instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecialization12getArgumentsEj")] + internal static extern void GetArguments(global::System.IntPtr @return, global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr12addArgumentsERPNS1_10ExpressionE")] + EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecialization12addArgumentsERNS1_16TemplateArgumentE")] internal static extern void AddArguments(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr14clearArgumentsEv")] + EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecialization14clearArgumentsEv")] internal static extern void ClearArguments(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr17getArgumentsCountEv")] + EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecialization17getArgumentsCountEv")] internal static extern uint GetArgumentsCount(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.CXXConstructExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.VarTemplateSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.CXXConstructExpr(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.VarTemplateSpecialization(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.CXXConstructExpr __CreateInstance(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.VarTemplateSpecialization __CreateInstance(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.CXXConstructExpr(native, skipVTables); + return new global::CppSharp.Parser.AST.VarTemplateSpecialization(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); - global::CppSharp.Parser.AST.CXXConstructExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal)); + global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private CXXConstructExpr(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native, bool skipVTables = false) + private VarTemplateSpecialization(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected CXXConstructExpr(void* native, bool skipVTables = false) + protected VarTemplateSpecialization(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -12667,24 +12716,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public CXXConstructExpr(string str, global::CppSharp.Parser.AST.Declaration decl) + public VarTemplateSpecialization() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, str); - var __arg0 = __basicString0.__Instance; - var __arg1 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; - __Internal.ctor((__Instance + __PointerAdjustment), __arg0, __arg1); - __basicString0.Dispose(false); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public CXXConstructExpr(global::CppSharp.Parser.AST.CXXConstructExpr _0) + public VarTemplateSpecialization(global::CppSharp.Parser.AST.VarTemplateSpecialization _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -12697,7 +12741,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Statement __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -12706,18 +12750,14 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.Expression GetArguments(uint i) + public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) { - var __ret = __Internal.GetArguments((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Expression __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(__ret); - return __result0; + var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); + __Internal.GetArguments(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); + return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); } - public void AddArguments(global::CppSharp.Parser.AST.Expression s) + public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); @@ -12730,6 +12770,37 @@ namespace CppSharp __Internal.ClearArguments((__Instance + __PointerAdjustment)); } + public global::CppSharp.Parser.AST.VarTemplate TemplatedDecl + { + get + { + global::CppSharp.Parser.AST.VarTemplate __result0; + if (((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.VarTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl)) + __result0 = (global::CppSharp.Parser.AST.VarTemplate) global::CppSharp.Parser.AST.VarTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl]; + else __result0 = global::CppSharp.Parser.AST.VarTemplate.__CreateInstance(((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*)__Instance)->templatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind + { + get + { + return ((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->specializationKind; + } + + set + { + ((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*)__Instance)->specializationKind = value; + } + } + public uint ArgumentsCount { get @@ -12740,9 +12811,9 @@ namespace CppSharp } } - public unsafe partial class TemplateTemplateParameter : global::CppSharp.Parser.AST.Template, IDisposable + public unsafe partial class VarTemplatePartialSpecialization : global::CppSharp.Parser.AST.VarTemplateSpecialization, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 240)] + [StructLayout(LayoutKind.Explicit, Size = 280)] public new partial struct __Internal { [FieldOffset(0)] @@ -12806,61 +12877,61 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(200)] - internal global::System.IntPtr TemplatedDecl; + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C mangled; - [FieldOffset(208)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Parameters; + [FieldOffset(224)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - [FieldOffset(232)] - internal byte isParameterPack; + [FieldOffset(240)] + internal global::System.IntPtr templatedDecl; - [FieldOffset(233)] - internal byte isPackExpansion; + [FieldOffset(248)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_N___1_S_allocator__S0_ Arguments; - [FieldOffset(234)] - internal byte isExpandedParameterPack; + [FieldOffset(272)] + internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25TemplateTemplateParameterC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST32VarTemplatePartialSpecializationC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25TemplateTemplateParameterC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST32VarTemplatePartialSpecializationC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25TemplateTemplateParameterD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST32VarTemplatePartialSpecializationD2Ev")] internal static extern void dtor(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.TemplateTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.VarTemplatePartialSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateTemplateParameter(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.VarTemplatePartialSpecialization(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TemplateTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.VarTemplatePartialSpecialization __CreateInstance(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateTemplateParameter(native, skipVTables); + return new global::CppSharp.Parser.AST.VarTemplatePartialSpecialization(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); - global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal)); + global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateTemplateParameter(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native, bool skipVTables = false) + private VarTemplatePartialSpecialization(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TemplateTemplateParameter(void* native, bool skipVTables = false) + protected VarTemplatePartialSpecialization(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -12869,19 +12940,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TemplateTemplateParameter() + public VarTemplatePartialSpecialization() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TemplateTemplateParameter(global::CppSharp.Parser.AST.TemplateTemplateParameter _0) + public VarTemplatePartialSpecialization(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -12902,50 +12973,11 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - - public bool IsParameterPack - { - get - { - return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isParameterPack != 0; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*)__Instance)->isParameterPack = (byte) (value ? 1 : 0); - } - } - - public bool IsPackExpansion - { - get - { - return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isPackExpansion != 0; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*)__Instance)->isPackExpansion = (byte) (value ? 1 : 0); - } - } - - public bool IsExpandedParameterPack - { - get - { - return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isExpandedParameterPack != 0; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*)__Instance)->isExpandedParameterPack = (byte) (value ? 1 : 0); - } - } } - public unsafe partial class NonTypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable + public unsafe partial class Namespace : global::CppSharp.Parser.AST.DeclarationContext, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 232)] + [StructLayout(LayoutKind.Explicit, Size = 448)] public new partial struct __Internal { [FieldOffset(0)] @@ -13009,67 +13041,82 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(200)] - internal uint depth; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ Namespaces; - [FieldOffset(204)] - internal uint index; + [FieldOffset(224)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; - [FieldOffset(208)] - internal byte isParameterPack; + [FieldOffset(248)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; - [FieldOffset(216)] - internal global::System.IntPtr defaultArgument; + [FieldOffset(272)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; - [FieldOffset(224)] - internal uint position; + [FieldOffset(296)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; - [FieldOffset(228)] - internal byte isPackExpansion; + [FieldOffset(320)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; - [FieldOffset(229)] - internal byte isExpandedParameterPack; + [FieldOffset(344)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ TypeAliases; + + [FieldOffset(368)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ Variables; + + [FieldOffset(392)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ Friends; + + [FieldOffset(416)] + internal global::Std.Map.__Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ anonymous; + + [FieldOffset(440)] + internal byte isAnonymous; + + [FieldOffset(441)] + internal byte isInline; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST24NonTypeTemplateParameterC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST9NamespaceC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST24NonTypeTemplateParameterC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST9NamespaceC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST24NonTypeTemplateParameterD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST9NamespaceD2Ev")] internal static extern void dtor(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.NonTypeTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Namespace __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.NonTypeTemplateParameter(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Namespace(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.NonTypeTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Namespace __CreateInstance(global::CppSharp.Parser.AST.Namespace.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.NonTypeTemplateParameter(native, skipVTables); + return new global::CppSharp.Parser.AST.Namespace(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Namespace.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); - global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); + global::CppSharp.Parser.AST.Namespace.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private NonTypeTemplateParameter(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native, bool skipVTables = false) + private Namespace(global::CppSharp.Parser.AST.Namespace.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected NonTypeTemplateParameter(void* native, bool skipVTables = false) + protected Namespace(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -13078,19 +13125,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public NonTypeTemplateParameter() + public Namespace() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public NonTypeTemplateParameter(global::CppSharp.Parser.AST.NonTypeTemplateParameter _0) + public Namespace(global::CppSharp.Parser.AST.Namespace _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -13112,205 +13159,223 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.Expression DefaultArgument + public bool IsInline { get { - global::CppSharp.Parser.AST.Expression __result0; - if (((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument)) - __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument]; - else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument); - return __result0; + return ((global::CppSharp.Parser.AST.Namespace.__Internal*) __Instance)->isInline != 0; } set { - ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->defaultArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.Namespace.__Internal*)__Instance)->isInline = (byte) (value ? 1 : 0); } } + } - public uint Position + public unsafe partial class PreprocessedEntity : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public partial struct __Internal { - get - { - return ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->position; - } + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.MacroLocation macroLocation; - set - { - ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->position = value; - } + [FieldOffset(8)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18PreprocessedEntityC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18PreprocessedEntityC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); } - public bool IsPackExpansion + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.PreprocessedEntity __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.PreprocessedEntity(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.PreprocessedEntity __CreateInstance(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.PreprocessedEntity(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); + *(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) ret = native; + return ret.ToPointer(); + } + + private PreprocessedEntity(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected PreprocessedEntity(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public PreprocessedEntity() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public PreprocessedEntity(global::CppSharp.Parser.AST.PreprocessedEntity _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) _0.__Instance); + } + + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.PreprocessedEntity __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.MacroLocation MacroLocation { get { - return ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->isPackExpansion != 0; + return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->macroLocation; } set { - ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->isPackExpansion = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*)__Instance)->macroLocation = value; } } - public bool IsExpandedParameterPack + public global::System.IntPtr OriginalPtr { get { - return ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->isExpandedParameterPack != 0; + return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->originalPtr; } set { - ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->isExpandedParameterPack = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*)__Instance)->originalPtr = (global::System.IntPtr) value; } } - } - public unsafe partial class VarTemplateSpecialization : global::CppSharp.Parser.AST.Variable, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 280)] - public new partial struct __Internal + public global::CppSharp.Parser.AST.DeclarationKind Kind { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; - - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; - - [FieldOffset(32)] - internal int lineNumberEnd; - - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; - - [FieldOffset(64)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - - [FieldOffset(88)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; - - [FieldOffset(112)] - internal byte isIncomplete; - - [FieldOffset(113)] - internal byte isDependent; - - [FieldOffset(114)] - internal byte isImplicit; - - [FieldOffset(115)] - internal byte isInvalid; - - [FieldOffset(120)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(128)] - internal uint definitionOrder; + get + { + return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->kind; + } - [FieldOffset(136)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + set + { + ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*)__Instance)->kind = value; + } + } + } - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + public unsafe partial class MacroDefinition : global::CppSharp.Parser.AST.PreprocessedEntity, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 80)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.MacroLocation macroLocation; - [FieldOffset(184)] + [FieldOffset(8)] internal global::System.IntPtr originalPtr; - [FieldOffset(192)] - internal global::System.IntPtr comment; - - [FieldOffset(200)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C mangled; + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; - [FieldOffset(224)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + [FieldOffset(24)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; - [FieldOffset(240)] - internal global::System.IntPtr templatedDecl; + [FieldOffset(48)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C expression; - [FieldOffset(248)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_N___1_S_allocator__S0_ Arguments; + [FieldOffset(72)] + internal int lineNumberStart; - [FieldOffset(272)] - internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; + [FieldOffset(76)] + internal int lineNumberEnd; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecializationC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST15MacroDefinitionC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecializationC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST15MacroDefinitionC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecializationD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST15MacroDefinitionD2Ev")] internal static extern void dtor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecialization12getArgumentsEj")] - internal static extern void GetArguments(global::System.IntPtr @return, global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecialization12addArgumentsERNS1_16TemplateArgumentE")] - internal static extern void AddArguments(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecialization14clearArgumentsEv")] - internal static extern void ClearArguments(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecialization17getArgumentsCountEv")] - internal static extern uint GetArgumentsCount(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.VarTemplateSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.MacroDefinition __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VarTemplateSpecialization(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.MacroDefinition(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.VarTemplateSpecialization __CreateInstance(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.MacroDefinition __CreateInstance(global::CppSharp.Parser.AST.MacroDefinition.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VarTemplateSpecialization(native, skipVTables); + return new global::CppSharp.Parser.AST.MacroDefinition(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.MacroDefinition.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal)); - global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal)); + global::CppSharp.Parser.AST.MacroDefinition.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private VarTemplateSpecialization(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal native, bool skipVTables = false) + private MacroDefinition(global::CppSharp.Parser.AST.MacroDefinition.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected VarTemplateSpecialization(void* native, bool skipVTables = false) + protected MacroDefinition(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -13319,19 +13384,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public VarTemplateSpecialization() + public MacroDefinition() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public VarTemplateSpecialization(global::CppSharp.Parser.AST.VarTemplateSpecialization _0) + public MacroDefinition(global::CppSharp.Parser.AST.MacroDefinition _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -13344,7 +13409,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.PreprocessedEntity __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -13353,212 +13418,129 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) - { - var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); - __Internal.GetArguments(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); - } - - public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) + public string Name { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); - } + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->name)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } - public void ClearArguments() - { - __Internal.ClearArguments((__Instance + __PointerAdjustment)); + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->name), value); + } } - public global::CppSharp.Parser.AST.VarTemplate TemplatedDecl + public string Expression { get { - global::CppSharp.Parser.AST.VarTemplate __result0; - if (((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.VarTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl)) - __result0 = (global::CppSharp.Parser.AST.VarTemplate) global::CppSharp.Parser.AST.VarTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl]; - else __result0 = global::CppSharp.Parser.AST.VarTemplate.__CreateInstance(((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl); - return __result0; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->expression)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*)__Instance)->templatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->expression), value); } } - public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind + public int LineNumberStart { get { - return ((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->specializationKind; + return ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->lineNumberStart; } set { - ((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*)__Instance)->specializationKind = value; + ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->lineNumberStart = value; } } - public uint ArgumentsCount + public int LineNumberEnd { get { - var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->lineNumberEnd; + } + + set + { + ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->lineNumberEnd = value; } } } - public unsafe partial class VarTemplate : global::CppSharp.Parser.AST.Template, IDisposable + public unsafe partial class MacroExpansion : global::CppSharp.Parser.AST.PreprocessedEntity, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 256)] + [StructLayout(LayoutKind.Explicit, Size = 80)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; + internal global::CppSharp.Parser.AST.MacroLocation macroLocation; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; + internal global::System.IntPtr originalPtr; [FieldOffset(16)] - internal global::System.IntPtr _namespace; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; - - [FieldOffset(32)] - internal int lineNumberEnd; - - [FieldOffset(40)] internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; - [FieldOffset(64)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - - [FieldOffset(88)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; - - [FieldOffset(112)] - internal byte isIncomplete; - - [FieldOffset(113)] - internal byte isDependent; - - [FieldOffset(114)] - internal byte isImplicit; - - [FieldOffset(115)] - internal byte isInvalid; - - [FieldOffset(120)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(128)] - internal uint definitionOrder; - - [FieldOffset(136)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; - - [FieldOffset(184)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(192)] - internal global::System.IntPtr comment; - - [FieldOffset(200)] - internal global::System.IntPtr TemplatedDecl; - - [FieldOffset(208)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Parameters; + [FieldOffset(48)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C text; - [FieldOffset(232)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_VarTemplateSpecialization___N_std_N___1_S_allocator__S0_ Specializations; + [FieldOffset(72)] + internal global::System.IntPtr definition; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplateC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST14MacroExpansionC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplateC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplateD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate18getSpecializationsEj")] - internal static extern global::System.IntPtr GetSpecializations(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate18addSpecializationsERPNS1_25VarTemplateSpecializationE")] - internal static extern void AddSpecializations(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate20clearSpecializationsEv")] - internal static extern void ClearSpecializations(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate18FindSpecializationERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEE")] - internal static extern global::System.IntPtr FindSpecialization(global::System.IntPtr instance, global::System.IntPtr usr); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate25FindPartialSpecializationERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEE")] - internal static extern global::System.IntPtr FindPartialSpecialization(global::System.IntPtr instance, global::System.IntPtr usr); + EntryPoint="_ZN8CppSharp9CppParser3AST14MacroExpansionC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate23getSpecializationsCountEv")] - internal static extern uint GetSpecializationsCount(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST14MacroExpansionD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.VarTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.MacroExpansion __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VarTemplate(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.MacroExpansion(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.VarTemplate __CreateInstance(global::CppSharp.Parser.AST.VarTemplate.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.MacroExpansion __CreateInstance(global::CppSharp.Parser.AST.MacroExpansion.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VarTemplate(native, skipVTables); + return new global::CppSharp.Parser.AST.MacroExpansion(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.VarTemplate.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.MacroExpansion.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); - global::CppSharp.Parser.AST.VarTemplate.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal)); + global::CppSharp.Parser.AST.MacroExpansion.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private VarTemplate(global::CppSharp.Parser.AST.VarTemplate.__Internal native, bool skipVTables = false) + private MacroExpansion(global::CppSharp.Parser.AST.MacroExpansion.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected VarTemplate(void* native, bool skipVTables = false) + protected MacroExpansion(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -13567,19 +13549,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public VarTemplate() + public MacroExpansion() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public VarTemplate(global::CppSharp.Parser.AST.VarTemplate _0) + public MacroExpansion(global::CppSharp.Parser.AST.MacroExpansion _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -13592,7 +13574,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.PreprocessedEntity __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -13601,73 +13583,60 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.VarTemplateSpecialization GetSpecializations(uint i) - { - var __ret = __Internal.GetSpecializations((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.VarTemplateSpecialization __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.VarTemplateSpecialization) global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.VarTemplateSpecialization.__CreateInstance(__ret); - return __result0; - } - - public void AddSpecializations(global::CppSharp.Parser.AST.VarTemplateSpecialization s) + public string Name { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddSpecializations((__Instance + __PointerAdjustment), __arg0); - } + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->name)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } - public void ClearSpecializations() - { - __Internal.ClearSpecializations((__Instance + __PointerAdjustment)); + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*)__Instance)->name), value); + } } - public global::CppSharp.Parser.AST.VarTemplateSpecialization FindSpecialization(string usr) + public string Text { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, usr); - var __arg0 = __basicString0.__Instance; - var __ret = __Internal.FindSpecialization((__Instance + __PointerAdjustment), __arg0); - __basicString0.Dispose(false); - global::CppSharp.Parser.AST.VarTemplateSpecialization __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.VarTemplateSpecialization) global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.VarTemplateSpecialization.__CreateInstance(__ret); - return __result0; - } + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->text)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } - public global::CppSharp.Parser.AST.VarTemplatePartialSpecialization FindPartialSpecialization(string usr) - { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, usr); - var __arg0 = __basicString0.__Instance; - var __ret = __Internal.FindPartialSpecialization((__Instance + __PointerAdjustment), __arg0); - __basicString0.Dispose(false); - global::CppSharp.Parser.AST.VarTemplatePartialSpecialization __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.VarTemplatePartialSpecialization) global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__CreateInstance(__ret); - return __result0; + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*)__Instance)->text), value); + } } - public uint SpecializationsCount + public global::CppSharp.Parser.AST.MacroDefinition Definition { get { - var __ret = __Internal.GetSpecializationsCount((__Instance + __PointerAdjustment)); - return __ret; + global::CppSharp.Parser.AST.MacroDefinition __result0; + if (((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition)) + __result0 = (global::CppSharp.Parser.AST.MacroDefinition) global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap[((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition]; + else __result0 = global::CppSharp.Parser.AST.MacroDefinition.__CreateInstance(((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.MacroExpansion.__Internal*)__Instance)->definition = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } - public unsafe partial class VarTemplatePartialSpecialization : global::CppSharp.Parser.AST.VarTemplateSpecialization, IDisposable + public unsafe partial class TranslationUnit : global::CppSharp.Parser.AST.Namespace, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 280)] + [StructLayout(LayoutKind.Explicit, Size = 504)] public new partial struct __Internal { [FieldOffset(0)] @@ -13731,171 +13700,111 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(200)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C mangled; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ Namespaces; [FieldOffset(224)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - - [FieldOffset(240)] - internal global::System.IntPtr templatedDecl; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; [FieldOffset(248)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_N___1_S_allocator__S0_ Arguments; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; [FieldOffset(272)] - internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST32VarTemplatePartialSpecializationC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST32VarTemplatePartialSpecializationC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST32VarTemplatePartialSpecializationD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); - } - - internal static new global::CppSharp.Parser.AST.VarTemplatePartialSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.VarTemplatePartialSpecialization(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.VarTemplatePartialSpecialization __CreateInstance(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.VarTemplatePartialSpecialization(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal)); - global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private VarTemplatePartialSpecialization(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected VarTemplatePartialSpecialization(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; - public VarTemplatePartialSpecialization() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } + [FieldOffset(296)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; - public VarTemplatePartialSpecialization(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(320)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - } + [FieldOffset(344)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ TypeAliases; - public unsafe partial class MacroDefinition : global::CppSharp.Parser.AST.PreprocessedEntity, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 80)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.MacroLocation macroLocation; + [FieldOffset(368)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ Variables; - [FieldOffset(8)] - internal global::System.IntPtr originalPtr; + [FieldOffset(392)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ Friends; - [FieldOffset(16)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + [FieldOffset(416)] + internal global::Std.Map.__Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ anonymous; - [FieldOffset(24)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + [FieldOffset(440)] + internal byte isAnonymous; - [FieldOffset(48)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C expression; + [FieldOffset(441)] + internal byte isInline; - [FieldOffset(72)] - internal int lineNumberStart; + [FieldOffset(448)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C fileName; - [FieldOffset(76)] - internal int lineNumberEnd; + [FieldOffset(472)] + internal byte isSystemHeader; + + [FieldOffset(480)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_MacroDefinition___N_std_N___1_S_allocator__S0_ Macros; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15MacroDefinitionC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnitC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15MacroDefinitionC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnitC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15MacroDefinitionD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnitD2Ev")] internal static extern void dtor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnit9getMacrosEj")] + internal static extern global::System.IntPtr GetMacros(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnit9addMacrosERPNS1_15MacroDefinitionE")] + internal static extern void AddMacros(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnit11clearMacrosEv")] + internal static extern void ClearMacros(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnit14getMacrosCountEv")] + internal static extern uint GetMacrosCount(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.MacroDefinition __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TranslationUnit __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.MacroDefinition(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TranslationUnit(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.MacroDefinition __CreateInstance(global::CppSharp.Parser.AST.MacroDefinition.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TranslationUnit __CreateInstance(global::CppSharp.Parser.AST.TranslationUnit.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.MacroDefinition(native, skipVTables); + return new global::CppSharp.Parser.AST.TranslationUnit(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.MacroDefinition.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TranslationUnit.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal)); - global::CppSharp.Parser.AST.MacroDefinition.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal)); + global::CppSharp.Parser.AST.TranslationUnit.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private MacroDefinition(global::CppSharp.Parser.AST.MacroDefinition.__Internal native, bool skipVTables = false) + private TranslationUnit(global::CppSharp.Parser.AST.TranslationUnit.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected MacroDefinition(void* native, bool skipVTables = false) + protected TranslationUnit(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -13904,19 +13813,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public MacroDefinition() + public TranslationUnit() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public MacroDefinition(global::CppSharp.Parser.AST.MacroDefinition _0) + public TranslationUnit(global::CppSharp.Parser.AST.TranslationUnit _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -13929,7 +13838,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.PreprocessedEntity __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -13938,27 +13847,35 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public string Name + public global::CppSharp.Parser.AST.MacroDefinition GetMacros(uint i) { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->name)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + var __ret = __Internal.GetMacros((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.MacroDefinition __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.MacroDefinition) global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.MacroDefinition.__CreateInstance(__ret); + return __result0; + } - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->name), value); - } + public void AddMacros(global::CppSharp.Parser.AST.MacroDefinition s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddMacros((__Instance + __PointerAdjustment), __arg0); } - public string Expression + public void ClearMacros() + { + __Internal.ClearMacros((__Instance + __PointerAdjustment)); + } + + public string FileName { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->expression)); + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TranslationUnit.__Internal*) __Instance)->fileName)); var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); __basicStringRet0.Dispose(false); return __stringRet0; @@ -13966,122 +13883,156 @@ namespace CppSharp set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->expression), value); + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TranslationUnit.__Internal*)__Instance)->fileName), value); } } - public int LineNumberStart + public bool IsSystemHeader { get { - return ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->lineNumberStart; + return ((global::CppSharp.Parser.AST.TranslationUnit.__Internal*) __Instance)->isSystemHeader != 0; } set { - ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->lineNumberStart = value; + ((global::CppSharp.Parser.AST.TranslationUnit.__Internal*)__Instance)->isSystemHeader = (byte) (value ? 1 : 0); } } - public int LineNumberEnd + public uint MacrosCount { get { - return ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->lineNumberEnd; - } - - set - { - ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->lineNumberEnd = value; + var __ret = __Internal.GetMacrosCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class MacroExpansion : global::CppSharp.Parser.AST.PreprocessedEntity, IDisposable + public unsafe partial class NativeLibrary : IDisposable { [StructLayout(LayoutKind.Explicit, Size = 80)] - public new partial struct __Internal + public partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.MacroLocation macroLocation; - - [FieldOffset(8)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(16)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C fileName; [FieldOffset(24)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + internal global::CppSharp.Parser.AST.ArchType archType; - [FieldOffset(48)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C text; + [FieldOffset(32)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C___N_std_N___1_S_allocator__S0_ Symbols; - [FieldOffset(72)] - internal global::System.IntPtr definition; + [FieldOffset(56)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C___N_std_N___1_S_allocator__S0_ Dependencies; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14MacroExpansionC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibraryC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14MacroExpansionC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibraryC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14MacroExpansionD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibraryD2Ev")] internal static extern void dtor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary10getSymbolsEj")] + internal static extern global::System.IntPtr GetSymbols(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary10addSymbolsEPKc")] + internal static extern void AddSymbols(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary12clearSymbolsEv")] + internal static extern void ClearSymbols(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary15getDependenciesEj")] + internal static extern global::System.IntPtr GetDependencies(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary15addDependenciesEPKc")] + internal static extern void AddDependencies(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary17clearDependenciesEv")] + internal static extern void ClearDependencies(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary15getSymbolsCountEv")] + internal static extern uint GetSymbolsCount(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary20getDependenciesCountEv")] + internal static extern uint GetDependenciesCount(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.MacroExpansion __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.NativeLibrary __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.MacroExpansion(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.NativeLibrary(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.MacroExpansion __CreateInstance(global::CppSharp.Parser.AST.MacroExpansion.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.NativeLibrary __CreateInstance(global::CppSharp.Parser.AST.NativeLibrary.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.MacroExpansion(native, skipVTables); + return new global::CppSharp.Parser.AST.NativeLibrary(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.MacroExpansion.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.NativeLibrary.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal)); - global::CppSharp.Parser.AST.MacroExpansion.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NativeLibrary.__Internal)); + global::CppSharp.Parser.AST.NativeLibrary.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private MacroExpansion(global::CppSharp.Parser.AST.MacroExpansion.__Internal native, bool skipVTables = false) + private NativeLibrary(global::CppSharp.Parser.AST.NativeLibrary.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected MacroExpansion(void* native, bool skipVTables = false) - : base((void*) null) + protected NativeLibrary(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public MacroExpansion() - : this((void*) null) + public NativeLibrary() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NativeLibrary.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public MacroExpansion(global::CppSharp.Parser.AST.MacroExpansion _0) - : this((void*) null) + public NativeLibrary(global::CppSharp.Parser.AST.NativeLibrary _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NativeLibrary.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -14090,24 +14041,61 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.NativeLibrary __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public string GetSymbols(uint i) + { + var __ret = __Internal.GetSymbols((__Instance + __PointerAdjustment), i); + return Marshal.PtrToStringAnsi(__ret); + } + + public void AddSymbols(string s) + { + __Internal.AddSymbols((__Instance + __PointerAdjustment), s); + } + + public void ClearSymbols() + { + __Internal.ClearSymbols((__Instance + __PointerAdjustment)); + } + + public string GetDependencies(uint i) + { + var __ret = __Internal.GetDependencies((__Instance + __PointerAdjustment), i); + return Marshal.PtrToStringAnsi(__ret); + } + + public void AddDependencies(string s) { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.PreprocessedEntity __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; + __Internal.AddDependencies((__Instance + __PointerAdjustment), s); } - public string Name + public void ClearDependencies() + { + __Internal.ClearDependencies((__Instance + __PointerAdjustment)); + } + + public string FileName { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->name)); + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.NativeLibrary.__Internal*) __Instance)->fileName)); var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); __basicStringRet0.Dispose(false); return __stringRet0; @@ -14115,237 +14103,141 @@ namespace CppSharp set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*)__Instance)->name), value); + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.NativeLibrary.__Internal*)__Instance)->fileName), value); } } - public string Text + public global::CppSharp.Parser.AST.ArchType ArchType { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->text)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + return ((global::CppSharp.Parser.AST.NativeLibrary.__Internal*) __Instance)->archType; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*)__Instance)->text), value); + ((global::CppSharp.Parser.AST.NativeLibrary.__Internal*)__Instance)->archType = value; } } - public global::CppSharp.Parser.AST.MacroDefinition Definition + public uint SymbolsCount { get { - global::CppSharp.Parser.AST.MacroDefinition __result0; - if (((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition)) - __result0 = (global::CppSharp.Parser.AST.MacroDefinition) global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap[((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition]; - else __result0 = global::CppSharp.Parser.AST.MacroDefinition.__CreateInstance(((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition); - return __result0; + var __ret = __Internal.GetSymbolsCount((__Instance + __PointerAdjustment)); + return __ret; } + } - set + public uint DependenciesCount + { + get { - ((global::CppSharp.Parser.AST.MacroExpansion.__Internal*)__Instance)->definition = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + var __ret = __Internal.GetDependenciesCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class TranslationUnit : global::CppSharp.Parser.AST.Namespace, IDisposable + public unsafe partial class ASTContext : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 504)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 24)] + public partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; - - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; - - [FieldOffset(32)] - internal int lineNumberEnd; - - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; - - [FieldOffset(64)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - - [FieldOffset(88)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; - - [FieldOffset(112)] - internal byte isIncomplete; - - [FieldOffset(113)] - internal byte isDependent; - - [FieldOffset(114)] - internal byte isImplicit; - - [FieldOffset(115)] - internal byte isInvalid; - - [FieldOffset(120)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(128)] - internal uint definitionOrder; - - [FieldOffset(136)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; - - [FieldOffset(184)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(192)] - internal global::System.IntPtr comment; - - [FieldOffset(200)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ Namespaces; - - [FieldOffset(224)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; - - [FieldOffset(248)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; - - [FieldOffset(272)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; - - [FieldOffset(296)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; - - [FieldOffset(320)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; - - [FieldOffset(344)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ TypeAliases; - - [FieldOffset(368)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ Variables; - - [FieldOffset(392)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ Friends; - - [FieldOffset(416)] - internal global::Std.Map.__Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ anonymous; - - [FieldOffset(440)] - internal byte isAnonymous; - - [FieldOffset(441)] - internal byte isInline; - - [FieldOffset(448)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C fileName; - - [FieldOffset(472)] - internal byte isSystemHeader; - - [FieldOffset(480)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_MacroDefinition___N_std_N___1_S_allocator__S0_ Macros; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TranslationUnit___N_std_N___1_S_allocator__S0_ TranslationUnits; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnitC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContextC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnitC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContextC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnitD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContextD2Ev")] internal static extern void dtor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnit9getMacrosEj")] - internal static extern global::System.IntPtr GetMacros(global::System.IntPtr instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext18FindOrCreateModuleENSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEE")] + internal static extern global::System.IntPtr FindOrCreateModule(global::System.IntPtr instance, global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C File); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnit9addMacrosERPNS1_15MacroDefinitionE")] - internal static extern void AddMacros(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext19getTranslationUnitsEj")] + internal static extern global::System.IntPtr GetTranslationUnits(global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnit11clearMacrosEv")] - internal static extern void ClearMacros(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext19addTranslationUnitsERPNS1_15TranslationUnitE")] + internal static extern void AddTranslationUnits(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnit14getMacrosCountEv")] - internal static extern uint GetMacrosCount(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext21clearTranslationUnitsEv")] + internal static extern void ClearTranslationUnits(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext24getTranslationUnitsCountEv")] + internal static extern uint GetTranslationUnitsCount(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.TranslationUnit __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.ASTContext __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TranslationUnit(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.ASTContext(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TranslationUnit __CreateInstance(global::CppSharp.Parser.AST.TranslationUnit.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.ASTContext __CreateInstance(global::CppSharp.Parser.AST.ASTContext.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TranslationUnit(native, skipVTables); + return new global::CppSharp.Parser.AST.ASTContext(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TranslationUnit.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.ASTContext.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal)); - global::CppSharp.Parser.AST.TranslationUnit.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal)); + global::CppSharp.Parser.AST.ASTContext.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TranslationUnit(global::CppSharp.Parser.AST.TranslationUnit.__Internal native, bool skipVTables = false) + private ASTContext(global::CppSharp.Parser.AST.ASTContext.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TranslationUnit(void* native, bool skipVTables = false) - : base((void*) null) + protected ASTContext(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public TranslationUnit() - : this((void*) null) + public ASTContext() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TranslationUnit(global::CppSharp.Parser.AST.TranslationUnit _0) - : this((void*) null) + public ASTContext(global::CppSharp.Parser.AST.ASTContext _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -14354,11 +14246,16 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.ASTContext __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -14367,198 +14264,127 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.MacroDefinition GetMacros(uint i) + public global::CppSharp.Parser.AST.TranslationUnit FindOrCreateModule(string File) { - var __ret = __Internal.GetMacros((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.MacroDefinition __result0; + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, File); + var __arg0 = *(global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C*) __basicString0.__Instance; + var __ret = __Internal.FindOrCreateModule((__Instance + __PointerAdjustment), __arg0); + __basicString0.Dispose(false); + global::CppSharp.Parser.AST.TranslationUnit __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.TranslationUnit) global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.TranslationUnit.__CreateInstance(__ret); + return __result0; + } + + public global::CppSharp.Parser.AST.TranslationUnit GetTranslationUnits(uint i) + { + var __ret = __Internal.GetTranslationUnits((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.TranslationUnit __result0; if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.MacroDefinition) global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.MacroDefinition.__CreateInstance(__ret); + else if (global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.TranslationUnit) global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.TranslationUnit.__CreateInstance(__ret); return __result0; } - public void AddMacros(global::CppSharp.Parser.AST.MacroDefinition s) + public void AddTranslationUnits(global::CppSharp.Parser.AST.TranslationUnit s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddMacros((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearMacros() - { - __Internal.ClearMacros((__Instance + __PointerAdjustment)); - } - - public string FileName - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TranslationUnit.__Internal*) __Instance)->fileName)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TranslationUnit.__Internal*)__Instance)->fileName), value); - } + __Internal.AddTranslationUnits((__Instance + __PointerAdjustment), __arg0); } - public bool IsSystemHeader + public void ClearTranslationUnits() { - get - { - return ((global::CppSharp.Parser.AST.TranslationUnit.__Internal*) __Instance)->isSystemHeader != 0; - } - - set - { - ((global::CppSharp.Parser.AST.TranslationUnit.__Internal*)__Instance)->isSystemHeader = (byte) (value ? 1 : 0); - } + __Internal.ClearTranslationUnits((__Instance + __PointerAdjustment)); } - public uint MacrosCount + public uint TranslationUnitsCount { get { - var __ret = __Internal.GetMacrosCount((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetTranslationUnitsCount((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class NativeLibrary : IDisposable + public unsafe partial class Comment : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 80)] + [StructLayout(LayoutKind.Explicit, Size = 4)] public partial struct __Internal { [FieldOffset(0)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C fileName; - - [FieldOffset(24)] - internal global::CppSharp.Parser.AST.ArchType archType; - - [FieldOffset(32)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C___N_std_N___1_S_allocator__S0_ Symbols; - - [FieldOffset(56)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C___N_std_N___1_S_allocator__S0_ Dependencies; + internal global::CppSharp.Parser.AST.CommentKind kind; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibraryC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST7CommentC2ENS1_11CommentKindE")] + internal static extern void ctor(global::System.IntPtr instance, global::CppSharp.Parser.AST.CommentKind kind); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibraryC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST7CommentC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibraryD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary10getSymbolsEj")] - internal static extern global::System.IntPtr GetSymbols(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary10addSymbolsEPKc")] - internal static extern void AddSymbols(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary12clearSymbolsEv")] - internal static extern void ClearSymbols(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary15getDependenciesEj")] - internal static extern global::System.IntPtr GetDependencies(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary15addDependenciesEPKc")] - internal static extern void AddDependencies(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary17clearDependenciesEv")] - internal static extern void ClearDependencies(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary15getSymbolsCountEv")] - internal static extern uint GetSymbolsCount(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary20getDependenciesCountEv")] - internal static extern uint GetDependenciesCount(global::System.IntPtr instance); } public global::System.IntPtr __Instance { get; protected set; } protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); protected void*[] __OriginalVTables; protected bool __ownsNativeInstance; - internal static global::CppSharp.Parser.AST.NativeLibrary __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Comment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.NativeLibrary(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Comment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.NativeLibrary __CreateInstance(global::CppSharp.Parser.AST.NativeLibrary.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Comment __CreateInstance(global::CppSharp.Parser.AST.Comment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.NativeLibrary(native, skipVTables); + return new global::CppSharp.Parser.AST.Comment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.NativeLibrary.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Comment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NativeLibrary.__Internal)); - global::CppSharp.Parser.AST.NativeLibrary.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Comment.__Internal)); + *(global::CppSharp.Parser.AST.Comment.__Internal*) ret = native; return ret.ToPointer(); } - private NativeLibrary(global::CppSharp.Parser.AST.NativeLibrary.__Internal native, bool skipVTables = false) + private Comment(global::CppSharp.Parser.AST.Comment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected NativeLibrary(void* native, bool skipVTables = false) + protected Comment(void* native, bool skipVTables = false) { if (native == null) return; __Instance = new global::System.IntPtr(native); } - public NativeLibrary() + public Comment(global::CppSharp.Parser.AST.CommentKind kind) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NativeLibrary.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Comment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + __Internal.ctor((__Instance + __PointerAdjustment), kind); } - public NativeLibrary(global::CppSharp.Parser.AST.NativeLibrary _0) + public Comment(global::CppSharp.Parser.AST.Comment _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NativeLibrary.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Comment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + *((global::CppSharp.Parser.AST.Comment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.Comment.__Internal*) _0.__Instance); } public void Dispose() @@ -14570,194 +14396,215 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.NativeLibrary __dummy; + global::CppSharp.Parser.AST.Comment __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - public string GetSymbols(uint i) + public static implicit operator global::CppSharp.Parser.AST.Comment(global::CppSharp.Parser.AST.CommentKind kind) { - var __ret = __Internal.GetSymbols((__Instance + __PointerAdjustment), i); - return Marshal.PtrToStringAnsi(__ret); + return new global::CppSharp.Parser.AST.Comment(kind); } - public void AddSymbols(string s) + public global::CppSharp.Parser.AST.CommentKind Kind { - __Internal.AddSymbols((__Instance + __PointerAdjustment), s); + get + { + return ((global::CppSharp.Parser.AST.Comment.__Internal*) __Instance)->kind; + } + + set + { + ((global::CppSharp.Parser.AST.Comment.__Internal*)__Instance)->kind = value; + } } + } - public void ClearSymbols() + public unsafe partial class BlockContentComment : global::CppSharp.Parser.AST.Comment, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 4)] + public new partial struct __Internal { - __Internal.ClearSymbols((__Instance + __PointerAdjustment)); + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.CommentKind kind; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19BlockContentCommentC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19BlockContentCommentC2ENS1_11CommentKindE")] + internal static extern void ctor(global::System.IntPtr instance, global::CppSharp.Parser.AST.CommentKind Kind); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19BlockContentCommentC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); } - public string GetDependencies(uint i) + internal static new global::CppSharp.Parser.AST.BlockContentComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - var __ret = __Internal.GetDependencies((__Instance + __PointerAdjustment), i); - return Marshal.PtrToStringAnsi(__ret); + return new global::CppSharp.Parser.AST.BlockContentComment(native.ToPointer(), skipVTables); } - public void AddDependencies(string s) + internal static global::CppSharp.Parser.AST.BlockContentComment __CreateInstance(global::CppSharp.Parser.AST.BlockContentComment.__Internal native, bool skipVTables = false) { - __Internal.AddDependencies((__Instance + __PointerAdjustment), s); + return new global::CppSharp.Parser.AST.BlockContentComment(native, skipVTables); } - public void ClearDependencies() + private static void* __CopyValue(global::CppSharp.Parser.AST.BlockContentComment.__Internal native) { - __Internal.ClearDependencies((__Instance + __PointerAdjustment)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); + *(global::CppSharp.Parser.AST.BlockContentComment.__Internal*) ret = native; + return ret.ToPointer(); } - public string FileName + private BlockContentComment(global::CppSharp.Parser.AST.BlockContentComment.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.NativeLibrary.__Internal*) __Instance)->fileName)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.NativeLibrary.__Internal*)__Instance)->fileName), value); - } + protected BlockContentComment(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - public global::CppSharp.Parser.AST.ArchType ArchType + public BlockContentComment() + : this((void*) null) { - get - { - return ((global::CppSharp.Parser.AST.NativeLibrary.__Internal*) __Instance)->archType; - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - set - { - ((global::CppSharp.Parser.AST.NativeLibrary.__Internal*)__Instance)->archType = value; - } + public BlockContentComment(global::CppSharp.Parser.AST.CommentKind Kind) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), Kind); } - public uint SymbolsCount + public BlockContentComment(global::CppSharp.Parser.AST.BlockContentComment _0) + : this((void*) null) { - get - { - var __ret = __Internal.GetSymbolsCount((__Instance + __PointerAdjustment)); - return __ret; - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.BlockContentComment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.BlockContentComment.__Internal*) _0.__Instance); } - public uint DependenciesCount + public static implicit operator global::CppSharp.Parser.AST.BlockContentComment(global::CppSharp.Parser.AST.CommentKind Kind) { - get - { - var __ret = __Internal.GetDependenciesCount((__Instance + __PointerAdjustment)); - return __ret; - } + return new global::CppSharp.Parser.AST.BlockContentComment(Kind); } } - public unsafe partial class ASTContext : IDisposable + public unsafe partial class FullComment : global::CppSharp.Parser.AST.Comment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 24)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TranslationUnit___N_std_N___1_S_allocator__S0_ TranslationUnits; + internal global::CppSharp.Parser.AST.CommentKind kind; + + [FieldOffset(8)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BlockContentComment___N_std_N___1_S_allocator__S0_ Blocks; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContextC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11FullCommentC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContextC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST11FullCommentC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContextD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11FullCommentD2Ev")] internal static extern void dtor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext18FindOrCreateModuleENSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEE")] - internal static extern global::System.IntPtr FindOrCreateModule(global::System.IntPtr instance, global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C File); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext19getTranslationUnitsEj")] - internal static extern global::System.IntPtr GetTranslationUnits(global::System.IntPtr instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST11FullComment9getBlocksEj")] + internal static extern global::System.IntPtr GetBlocks(global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext19addTranslationUnitsERPNS1_15TranslationUnitE")] - internal static extern void AddTranslationUnits(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST11FullComment9addBlocksERPNS1_19BlockContentCommentE")] + internal static extern void AddBlocks(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext21clearTranslationUnitsEv")] - internal static extern void ClearTranslationUnits(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11FullComment11clearBlocksEv")] + internal static extern void ClearBlocks(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext24getTranslationUnitsCountEv")] - internal static extern uint GetTranslationUnitsCount(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11FullComment14getBlocksCountEv")] + internal static extern uint GetBlocksCount(global::System.IntPtr instance); } - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.ASTContext __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.FullComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ASTContext(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.FullComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.ASTContext __CreateInstance(global::CppSharp.Parser.AST.ASTContext.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.FullComment __CreateInstance(global::CppSharp.Parser.AST.FullComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ASTContext(native, skipVTables); + return new global::CppSharp.Parser.AST.FullComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.ASTContext.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.FullComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal)); - global::CppSharp.Parser.AST.ASTContext.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullComment.__Internal)); + global::CppSharp.Parser.AST.FullComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private ASTContext(global::CppSharp.Parser.AST.ASTContext.__Internal native, bool skipVTables = false) + private FullComment(global::CppSharp.Parser.AST.FullComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected ASTContext(void* native, bool skipVTables = false) + protected FullComment(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public ASTContext() + public FullComment() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public ASTContext(global::CppSharp.Parser.AST.ASTContext _0) + public FullComment(global::CppSharp.Parser.AST.FullComment _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -14766,16 +14613,11 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.ASTContext __dummy; + global::CppSharp.Parser.AST.Comment __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -14784,50 +14626,35 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.TranslationUnit FindOrCreateModule(string File) - { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, File); - var __arg0 = *(global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C*) __basicString0.__Instance; - var __ret = __Internal.FindOrCreateModule((__Instance + __PointerAdjustment), __arg0); - __basicString0.Dispose(false); - global::CppSharp.Parser.AST.TranslationUnit __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.TranslationUnit) global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.TranslationUnit.__CreateInstance(__ret); - return __result0; - } - - public global::CppSharp.Parser.AST.TranslationUnit GetTranslationUnits(uint i) + public global::CppSharp.Parser.AST.BlockContentComment GetBlocks(uint i) { - var __ret = __Internal.GetTranslationUnits((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.TranslationUnit __result0; + var __ret = __Internal.GetBlocks((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.BlockContentComment __result0; if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.TranslationUnit) global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.TranslationUnit.__CreateInstance(__ret); + else if (global::CppSharp.Parser.AST.BlockContentComment.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.BlockContentComment) global::CppSharp.Parser.AST.BlockContentComment.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.BlockContentComment.__CreateInstance(__ret); return __result0; } - public void AddTranslationUnits(global::CppSharp.Parser.AST.TranslationUnit s) + public void AddBlocks(global::CppSharp.Parser.AST.BlockContentComment s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddTranslationUnits((__Instance + __PointerAdjustment), __arg0); + __Internal.AddBlocks((__Instance + __PointerAdjustment), __arg0); } - public void ClearTranslationUnits() + public void ClearBlocks() { - __Internal.ClearTranslationUnits((__Instance + __PointerAdjustment)); + __Internal.ClearBlocks((__Instance + __PointerAdjustment)); } - public uint TranslationUnitsCount + public uint BlocksCount { get { - var __ret = __Internal.GetTranslationUnitsCount((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetBlocksCount((__Instance + __PointerAdjustment)); return __ret; } } @@ -16812,49 +16639,163 @@ namespace CppSharp internal byte hasTrailingNewline; [FieldOffset(8)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C tagName; + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C tagName; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17HTMLEndTagCommentC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17HTMLEndTagCommentC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17HTMLEndTagCommentD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); + } + + internal static new global::CppSharp.Parser.AST.HTMLEndTagComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.HTMLEndTagComment(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.HTMLEndTagComment __CreateInstance(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.HTMLEndTagComment(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal)); + global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private HTMLEndTagComment(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected HTMLEndTagComment(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public HTMLEndTagComment() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public HTMLEndTagComment(global::CppSharp.Parser.AST.HTMLEndTagComment _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Comment __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public string TagName + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal*) __Instance)->tagName)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal*)__Instance)->tagName), value); + } + } + } + + public unsafe partial class TextComment : global::CppSharp.Parser.AST.InlineContentComment, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.CommentKind kind; + + [FieldOffset(4)] + internal byte hasTrailingNewline; + + [FieldOffset(8)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C text; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17HTMLEndTagCommentC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11TextCommentC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17HTMLEndTagCommentC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST11TextCommentC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17HTMLEndTagCommentD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11TextCommentD2Ev")] internal static extern void dtor(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.HTMLEndTagComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TextComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.HTMLEndTagComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TextComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.HTMLEndTagComment __CreateInstance(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TextComment __CreateInstance(global::CppSharp.Parser.AST.TextComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.HTMLEndTagComment(native, skipVTables); + return new global::CppSharp.Parser.AST.TextComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TextComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal)); - global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TextComment.__Internal)); + global::CppSharp.Parser.AST.TextComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private HTMLEndTagComment(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal native, bool skipVTables = false) + private TextComment(global::CppSharp.Parser.AST.TextComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected HTMLEndTagComment(void* native, bool skipVTables = false) + protected TextComment(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -16863,19 +16804,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public HTMLEndTagComment() + public TextComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TextComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public HTMLEndTagComment(global::CppSharp.Parser.AST.HTMLEndTagComment _0) + public TextComment(global::CppSharp.Parser.AST.TextComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TextComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -16897,11 +16838,11 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public string TagName + public string Text { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal*) __Instance)->tagName)); + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TextComment.__Internal*) __Instance)->text)); var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); __basicStringRet0.Dispose(false); return __stringRet0; @@ -16909,87 +16850,94 @@ namespace CppSharp set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal*)__Instance)->tagName), value); + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TextComment.__Internal*)__Instance)->text), value); } } } - public unsafe partial class TextComment : global::CppSharp.Parser.AST.InlineContentComment, IDisposable + public unsafe partial class RawComment : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 32)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 64)] + public partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; - - [FieldOffset(4)] - internal byte hasTrailingNewline; + internal global::CppSharp.Parser.AST.RawCommentKind kind; [FieldOffset(8)] internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C text; + [FieldOffset(32)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C briefText; + + [FieldOffset(56)] + internal global::System.IntPtr fullCommentBlock; + [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11TextCommentC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST10RawCommentC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11TextCommentC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST10RawCommentC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11TextCommentD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST10RawCommentD2Ev")] internal static extern void dtor(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.TextComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.RawComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TextComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.RawComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TextComment __CreateInstance(global::CppSharp.Parser.AST.TextComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.RawComment __CreateInstance(global::CppSharp.Parser.AST.RawComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TextComment(native, skipVTables); + return new global::CppSharp.Parser.AST.RawComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TextComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.RawComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TextComment.__Internal)); - global::CppSharp.Parser.AST.TextComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); + global::CppSharp.Parser.AST.RawComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TextComment(global::CppSharp.Parser.AST.TextComment.__Internal native, bool skipVTables = false) + private RawComment(global::CppSharp.Parser.AST.RawComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TextComment(void* native, bool skipVTables = false) - : base((void*) null) + protected RawComment(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public TextComment() - : this((void*) null) + public RawComment() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TextComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TextComment(global::CppSharp.Parser.AST.TextComment _0) - : this((void*) null) + public RawComment(global::CppSharp.Parser.AST.RawComment _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TextComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -16998,11 +16946,16 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Comment __dummy; + global::CppSharp.Parser.AST.RawComment __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -17011,11 +16964,24 @@ namespace CppSharp __Instance = IntPtr.Zero; } + public global::CppSharp.Parser.AST.RawCommentKind Kind + { + get + { + return ((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->kind; + } + + set + { + ((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->kind = value; + } + } + public string Text { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TextComment.__Internal*) __Instance)->text)); + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->text)); var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); __basicStringRet0.Dispose(false); return __stringRet0; @@ -17023,7 +16989,41 @@ namespace CppSharp set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TextComment.__Internal*)__Instance)->text), value); + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->text), value); + } + } + + public string BriefText + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->briefText)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->briefText), value); + } + } + + public global::CppSharp.Parser.AST.FullComment FullCommentBlock + { + get + { + global::CppSharp.Parser.AST.FullComment __result0; + if (((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.FullComment.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock)) + __result0 = (global::CppSharp.Parser.AST.FullComment) global::CppSharp.Parser.AST.FullComment.NativeToManagedMap[((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock]; + else __result0 = global::CppSharp.Parser.AST.FullComment.__CreateInstance(((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->fullCommentBlock = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } @@ -17931,6 +17931,53 @@ namespace CppSharp User = 4 } + public unsafe partial class Parser + { + [StructLayout(LayoutKind.Explicit, Size = 0)] + public partial struct __Internal + { + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.Parser __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.Parser(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.Parser __CreateInstance(global::CppSharp.Parser.Parser.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.Parser(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.Parser.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.Parser.__Internal)); + *(global::CppSharp.Parser.Parser.__Internal*) ret = native; + return ret.ToPointer(); + } + + private Parser(global::CppSharp.Parser.Parser.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Parser(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + } + public unsafe partial class CppParserOptions : IDisposable { [StructLayout(LayoutKind.Explicit, Size = 296)] @@ -18787,53 +18834,6 @@ namespace CppSharp } } - public unsafe partial class Parser - { - [StructLayout(LayoutKind.Explicit, Size = 0)] - public partial struct __Internal - { - } - - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.Parser __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.Parser(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.Parser __CreateInstance(global::CppSharp.Parser.Parser.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.Parser(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.Parser.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.Parser.__Internal)); - *(global::CppSharp.Parser.Parser.__Internal*) ret = native; - return ret.ToPointer(); - } - - private Parser(global::CppSharp.Parser.Parser.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected Parser(void* native, bool skipVTables = false) - { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - } - public unsafe partial class ParserResult : IDisposable { [StructLayout(LayoutKind.Explicit, Size = 56)] diff --git a/src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/CppSharp.CppParser.cs b/src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/CppSharp.CppParser.cs index 8166afb6..2e6323b2 100644 --- a/src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/CppSharp.CppParser.cs +++ b/src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/CppSharp.CppParser.cs @@ -681,177 +681,192 @@ namespace CppSharp } } - public unsafe partial class Declaration : IDisposable + public unsafe partial class TagType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 224)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 16)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + internal global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - internal int maxFieldAlignment; + internal byte isDependent; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; + internal global::System.IntPtr declaration; - [FieldOffset(16)] - internal global::System.IntPtr _namespace; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST7TagTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST7TagTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + } - [FieldOffset(28)] - internal int lineNumberStart; + internal static new global::CppSharp.Parser.AST.TagType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.TagType(native.ToPointer(), skipVTables); + } - [FieldOffset(32)] - internal int lineNumberEnd; + internal static global::CppSharp.Parser.AST.TagType __CreateInstance(global::CppSharp.Parser.AST.TagType.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.TagType(native, skipVTables); + } - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + private static void* __CopyValue(global::CppSharp.Parser.AST.TagType.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); + global::CppSharp.Parser.AST.TagType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(72)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + private TagType(global::CppSharp.Parser.AST.TagType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(104)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + protected TagType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(136)] - internal byte isIncomplete; + public TagType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - [FieldOffset(137)] - internal byte isDependent; + public TagType(global::CppSharp.Parser.AST.TagType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(138)] - internal byte isImplicit; + public global::CppSharp.Parser.AST.Declaration Declaration + { + get + { + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration); + return __result0; + } - [FieldOffset(139)] - internal byte isInvalid; + set + { + ((global::CppSharp.Parser.AST.TagType.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } - [FieldOffset(144)] - internal global::System.IntPtr completeDeclaration; + public unsafe partial class ArrayType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; - [FieldOffset(152)] - internal uint definitionOrder; + [FieldOffset(4)] + internal byte isDependent; - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - [FieldOffset(184)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.ArrayType.ArraySize sizeType; - [FieldOffset(208)] - internal global::System.IntPtr originalPtr; + [FieldOffset(32)] + internal long size; - [FieldOffset(216)] - internal global::System.IntPtr comment; + [FieldOffset(40)] + internal long elementSize; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11DeclarationC2ENS1_15DeclarationKindE")] - internal static extern void ctor(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); + EntryPoint="_ZN8CppSharp9CppParser3AST9ArrayTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11DeclarationC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST9ArrayTypeC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11DeclarationD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration23getPreprocessedEntitiesEj")] - internal static extern global::System.IntPtr GetPreprocessedEntities(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration23addPreprocessedEntitiesERPNS1_18PreprocessedEntityE")] - internal static extern void AddPreprocessedEntities(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration25clearPreprocessedEntitiesEv")] - internal static extern void ClearPreprocessedEntities(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration17getRedeclarationsEj")] - internal static extern global::System.IntPtr GetRedeclarations(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration17addRedeclarationsERPS2_")] - internal static extern void AddRedeclarations(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration19clearRedeclarationsEv")] - internal static extern void ClearRedeclarations(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration28getPreprocessedEntitiesCountEv")] - internal static extern uint GetPreprocessedEntitiesCount(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration22getRedeclarationsCountEv")] - internal static extern uint GetRedeclarationsCount(global::System.IntPtr instance); } - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; + public enum ArraySize + { + Constant = 0, + Variable = 1, + Dependent = 2, + Incomplete = 3 + } - internal static global::CppSharp.Parser.AST.Declaration __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.ArrayType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Declaration(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.ArrayType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Declaration __CreateInstance(global::CppSharp.Parser.AST.Declaration.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.ArrayType __CreateInstance(global::CppSharp.Parser.AST.ArrayType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Declaration(native, skipVTables); + return new global::CppSharp.Parser.AST.ArrayType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Declaration.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.ArrayType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); - global::CppSharp.Parser.AST.Declaration.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); + global::CppSharp.Parser.AST.ArrayType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Declaration(global::CppSharp.Parser.AST.Declaration.__Internal native, bool skipVTables = false) + private ArrayType(global::CppSharp.Parser.AST.ArrayType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Declaration(void* native, bool skipVTables = false) + protected ArrayType(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public Declaration(global::CppSharp.Parser.AST.DeclarationKind kind) + public ArrayType() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), kind); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public Declaration(global::CppSharp.Parser.AST.Declaration _0) + public ArrayType(global::CppSharp.Parser.AST.ArrayType _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -860,673 +875,731 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public void Dispose() + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { - Dispose(disposing: true); - } + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->qualifiedType)); + } - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; + set + { + ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } } - public global::CppSharp.Parser.AST.PreprocessedEntity GetPreprocessedEntities(uint i) + public global::CppSharp.Parser.AST.ArrayType.ArraySize SizeType { - var __ret = __Internal.GetPreprocessedEntities((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.PreprocessedEntity __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.PreprocessedEntity.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.PreprocessedEntity) global::CppSharp.Parser.AST.PreprocessedEntity.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.PreprocessedEntity.__CreateInstance(__ret); - return __result0; + get + { + return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->sizeType; + } + + set + { + ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->sizeType = value; + } } - public void AddPreprocessedEntities(global::CppSharp.Parser.AST.PreprocessedEntity s) + public long Size { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddPreprocessedEntities((__Instance + __PointerAdjustment), __arg0); + get + { + return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->size; + } + + set + { + ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->size = value; + } } - public void ClearPreprocessedEntities() + public long ElementSize { - __Internal.ClearPreprocessedEntities((__Instance + __PointerAdjustment)); + get + { + return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->elementSize; + } + + set + { + ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->elementSize = value; + } } + } - public global::CppSharp.Parser.AST.Declaration GetRedeclarations(uint i) + public unsafe partial class FunctionType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal { - var __ret = __Internal.GetRedeclarations((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Declaration __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(__ret); - return __result0; + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] + internal byte isDependent; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.CallingConvention callingConvention; + + [FieldOffset(28)] + internal global::CppSharp.Parser.AST.ExceptionSpecType exceptionSpecType; + + [FieldOffset(32)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_S_allocator__S0_ Parameters; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionTypeD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionType13getParametersEj")] + internal static extern global::System.IntPtr GetParameters(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionType13addParametersERPNS1_9ParameterE")] + internal static extern void AddParameters(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionType15clearParametersEv")] + internal static extern void ClearParameters(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionType18getParametersCountEv")] + internal static extern uint GetParametersCount(global::System.IntPtr instance); } - public void AddRedeclarations(global::CppSharp.Parser.AST.Declaration s) + internal static new global::CppSharp.Parser.AST.FunctionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddRedeclarations((__Instance + __PointerAdjustment), __arg0); + return new global::CppSharp.Parser.AST.FunctionType(native.ToPointer(), skipVTables); } - public void ClearRedeclarations() + internal static global::CppSharp.Parser.AST.FunctionType __CreateInstance(global::CppSharp.Parser.AST.FunctionType.__Internal native, bool skipVTables = false) { - __Internal.ClearRedeclarations((__Instance + __PointerAdjustment)); + return new global::CppSharp.Parser.AST.FunctionType(native, skipVTables); } - public static implicit operator global::CppSharp.Parser.AST.Declaration(global::CppSharp.Parser.AST.DeclarationKind kind) + private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionType.__Internal native) { - return new global::CppSharp.Parser.AST.Declaration(kind); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); + global::CppSharp.Parser.AST.FunctionType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); } - public global::CppSharp.Parser.AST.DeclarationKind Kind + private FunctionType(global::CppSharp.Parser.AST.FunctionType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->kind; - } + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->kind = value; - } + protected FunctionType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - public int MaxFieldAlignment + public FunctionType() + : this((void*) null) { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->maxFieldAlignment; - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->maxFieldAlignment = value; - } + public FunctionType(global::CppSharp.Parser.AST.FunctionType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.AccessSpecifier Access + public override void Dispose(bool disposing) { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->access; - } + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Type __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->access = value; - } + public global::CppSharp.Parser.AST.Parameter GetParameters(uint i) + { + var __ret = __Internal.GetParameters((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Parameter __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Parameter.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Parameter) global::CppSharp.Parser.AST.Parameter.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Parameter.__CreateInstance(__ret); + return __result0; } - public global::CppSharp.Parser.AST.DeclarationContext Namespace + public void AddParameters(global::CppSharp.Parser.AST.Parameter s) { - get - { - global::CppSharp.Parser.AST.DeclarationContext __result0; - if (((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.DeclarationContext.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace)) - __result0 = (global::CppSharp.Parser.AST.DeclarationContext) global::CppSharp.Parser.AST.DeclarationContext.NativeToManagedMap[((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace]; - else __result0 = global::CppSharp.Parser.AST.DeclarationContext.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace); - return __result0; - } + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddParameters((__Instance + __PointerAdjustment), __arg0); + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->_namespace = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + public void ClearParameters() + { + __Internal.ClearParameters((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.SourceLocation Location + public global::CppSharp.Parser.AST.QualifiedType ReturnType { get { - return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->location); + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->returnType)); } set { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->location = value.__Instance; + ((global::CppSharp.Parser.AST.FunctionType.__Internal*)__Instance)->returnType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public int LineNumberStart + public global::CppSharp.Parser.AST.CallingConvention CallingConvention { get { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->lineNumberStart; + return ((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->callingConvention; } set { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->lineNumberStart = value; + ((global::CppSharp.Parser.AST.FunctionType.__Internal*)__Instance)->callingConvention = value; } } - public int LineNumberEnd + public global::CppSharp.Parser.AST.ExceptionSpecType ExceptionSpecType { get { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->lineNumberEnd; + return ((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->exceptionSpecType; } set { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->lineNumberEnd = value; + ((global::CppSharp.Parser.AST.FunctionType.__Internal*)__Instance)->exceptionSpecType = value; } } - public string Name + public uint ParametersCount { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->name)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + var __ret = __Internal.GetParametersCount((__Instance + __PointerAdjustment)); + return __ret; } + } + } - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->name), value); - } + public unsafe partial class PointerType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] + internal byte isDependent; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedPointee; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.PointerType.TypeModifier modifier; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11PointerTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11PointerTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); } - public string USR + public enum TypeModifier { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->USR)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + Value = 0, + Pointer = 1, + LVReference = 2, + RVReference = 3 + } - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->USR), value); - } + internal static new global::CppSharp.Parser.AST.PointerType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.PointerType(native.ToPointer(), skipVTables); } - public string DebugText + internal static global::CppSharp.Parser.AST.PointerType __CreateInstance(global::CppSharp.Parser.AST.PointerType.__Internal native, bool skipVTables = false) { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->debugText)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + return new global::CppSharp.Parser.AST.PointerType(native, skipVTables); + } - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->debugText), value); - } + private static void* __CopyValue(global::CppSharp.Parser.AST.PointerType.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); + global::CppSharp.Parser.AST.PointerType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); } - public bool IsIncomplete + private PointerType(global::CppSharp.Parser.AST.PointerType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isIncomplete != 0; - } + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isIncomplete = (byte) (value ? 1 : 0); - } + protected PointerType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - public bool IsDependent + public PointerType() + : this((void*) null) { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isDependent != 0; - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isDependent = (byte) (value ? 1 : 0); - } + public PointerType(global::CppSharp.Parser.AST.PointerType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public bool IsImplicit + public global::CppSharp.Parser.AST.QualifiedType QualifiedPointee { get { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isImplicit != 0; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.PointerType.__Internal*) __Instance)->qualifiedPointee)); } set { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isImplicit = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.PointerType.__Internal*)__Instance)->qualifiedPointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public bool IsInvalid + public global::CppSharp.Parser.AST.PointerType.TypeModifier Modifier { get { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isInvalid != 0; + return ((global::CppSharp.Parser.AST.PointerType.__Internal*) __Instance)->modifier; } set { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isInvalid = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.PointerType.__Internal*)__Instance)->modifier = value; } } + } - public global::CppSharp.Parser.AST.Declaration CompleteDeclaration + public unsafe partial class MemberPointerType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public new partial struct __Internal { - get - { - global::CppSharp.Parser.AST.Declaration __result0; - if (((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration); - return __result0; - } + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->completeDeclaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + [FieldOffset(4)] + internal byte isDependent; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal pointee; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17MemberPointerTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17MemberPointerTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); } - public uint DefinitionOrder + internal static new global::CppSharp.Parser.AST.MemberPointerType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->definitionOrder; - } + return new global::CppSharp.Parser.AST.MemberPointerType(native.ToPointer(), skipVTables); + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->definitionOrder = value; - } + internal static global::CppSharp.Parser.AST.MemberPointerType __CreateInstance(global::CppSharp.Parser.AST.MemberPointerType.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MemberPointerType(native, skipVTables); } - public global::System.IntPtr OriginalPtr + private static void* __CopyValue(global::CppSharp.Parser.AST.MemberPointerType.__Internal native) { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->originalPtr; - } + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); + global::CppSharp.Parser.AST.MemberPointerType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->originalPtr = (global::System.IntPtr) value; - } + private MemberPointerType(global::CppSharp.Parser.AST.MemberPointerType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; } - public global::CppSharp.Parser.AST.RawComment Comment + protected MemberPointerType(void* native, bool skipVTables = false) + : base((void*) null) { - get - { - global::CppSharp.Parser.AST.RawComment __result0; - if (((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.RawComment.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment)) - __result0 = (global::CppSharp.Parser.AST.RawComment) global::CppSharp.Parser.AST.RawComment.NativeToManagedMap[((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment]; - else __result0 = global::CppSharp.Parser.AST.RawComment.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment); - return __result0; - } + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->comment = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + public MemberPointerType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); } - public uint PreprocessedEntitiesCount + public MemberPointerType(global::CppSharp.Parser.AST.MemberPointerType _0) + : this((void*) null) { - get - { - var __ret = __Internal.GetPreprocessedEntitiesCount((__Instance + __PointerAdjustment)); - return __ret; - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public uint RedeclarationsCount + public global::CppSharp.Parser.AST.QualifiedType Pointee { get { - var __ret = __Internal.GetRedeclarationsCount((__Instance + __PointerAdjustment)); - return __ret; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MemberPointerType.__Internal*) __Instance)->pointee)); + } + + set + { + ((global::CppSharp.Parser.AST.MemberPointerType.__Internal*)__Instance)->pointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } } - public unsafe partial class DeclarationContext : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class TypedefType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 496)] + [StructLayout(LayoutKind.Explicit, Size = 16)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + internal global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - internal int maxFieldAlignment; + internal byte isDependent; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; + internal global::System.IntPtr declaration; - [FieldOffset(16)] - internal global::System.IntPtr _namespace; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + } - [FieldOffset(28)] - internal int lineNumberStart; + internal static new global::CppSharp.Parser.AST.TypedefType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.TypedefType(native.ToPointer(), skipVTables); + } - [FieldOffset(32)] - internal int lineNumberEnd; + internal static global::CppSharp.Parser.AST.TypedefType __CreateInstance(global::CppSharp.Parser.AST.TypedefType.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.TypedefType(native, skipVTables); + } - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefType.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); + global::CppSharp.Parser.AST.TypedefType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(72)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + private TypedefType(global::CppSharp.Parser.AST.TypedefType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(104)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + protected TypedefType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(136)] - internal byte isIncomplete; + public TypedefType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - [FieldOffset(137)] + public TypedefType(global::CppSharp.Parser.AST.TypedefType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public global::CppSharp.Parser.AST.TypedefNameDecl Declaration + { + get + { + global::CppSharp.Parser.AST.TypedefNameDecl __result0; + if (((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TypedefNameDecl.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration)) + __result0 = (global::CppSharp.Parser.AST.TypedefNameDecl) global::CppSharp.Parser.AST.TypedefNameDecl.NativeToManagedMap[((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration]; + else __result0 = global::CppSharp.Parser.AST.TypedefNameDecl.__CreateInstance(((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.TypedefType.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class AttributedType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] internal byte isDependent; - [FieldOffset(138)] - internal byte isImplicit; + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal modified; - [FieldOffset(139)] - internal byte isInvalid; + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal equivalent; - [FieldOffset(144)] - internal global::System.IntPtr completeDeclaration; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14AttributedTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); - [FieldOffset(152)] - internal uint definitionOrder; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14AttributedTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + } - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + internal static new global::CppSharp.Parser.AST.AttributedType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AttributedType(native.ToPointer(), skipVTables); + } - [FieldOffset(184)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + internal static global::CppSharp.Parser.AST.AttributedType __CreateInstance(global::CppSharp.Parser.AST.AttributedType.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AttributedType(native, skipVTables); + } - [FieldOffset(208)] - internal global::System.IntPtr originalPtr; + private static void* __CopyValue(global::CppSharp.Parser.AST.AttributedType.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); + global::CppSharp.Parser.AST.AttributedType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(216)] - internal global::System.IntPtr comment; + private AttributedType(global::CppSharp.Parser.AST.AttributedType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(224)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; + protected AttributedType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(248)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; + public AttributedType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - [FieldOffset(272)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; + public AttributedType(global::CppSharp.Parser.AST.AttributedType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(296)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; + public global::CppSharp.Parser.AST.QualifiedType Modified + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.AttributedType.__Internal*) __Instance)->modified)); + } - [FieldOffset(320)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; + set + { + ((global::CppSharp.Parser.AST.AttributedType.__Internal*)__Instance)->modified = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } - [FieldOffset(344)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; + public global::CppSharp.Parser.AST.QualifiedType Equivalent + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.AttributedType.__Internal*) __Instance)->equivalent)); + } - [FieldOffset(368)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; + set + { + ((global::CppSharp.Parser.AST.AttributedType.__Internal*)__Instance)->equivalent = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + } - [FieldOffset(392)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; + public unsafe partial class DecayedType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; - [FieldOffset(416)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; + [FieldOffset(4)] + internal byte isDependent; - [FieldOffset(440)] - internal global::Std.Map.__Internalc__N_std_S_map____N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal decayed; - [FieldOffset(488)] - internal byte isAnonymous; + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal original; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContextC2ENS1_15DeclarationKindE")] - internal static extern void ctor(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); + [FieldOffset(40)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal pointee; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContextC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST11DecayedTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContextD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11DecayedTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext13getNamespacesEj")] - internal static extern global::System.IntPtr GetNamespaces(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext13addNamespacesERPNS1_9NamespaceE")] - internal static extern void AddNamespaces(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext15clearNamespacesEv")] - internal static extern void ClearNamespaces(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext8getEnumsEj")] - internal static extern global::System.IntPtr GetEnums(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext8addEnumsERPNS1_11EnumerationE")] - internal static extern void AddEnums(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10clearEnumsEv")] - internal static extern void ClearEnums(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12getFunctionsEj")] - internal static extern global::System.IntPtr GetFunctions(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12addFunctionsERPNS1_8FunctionE")] - internal static extern void AddFunctions(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14clearFunctionsEv")] - internal static extern void ClearFunctions(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10getClassesEj")] - internal static extern global::System.IntPtr GetClasses(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10addClassesERPNS1_5ClassE")] - internal static extern void AddClasses(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12clearClassesEv")] - internal static extern void ClearClasses(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12getTemplatesEj")] - internal static extern global::System.IntPtr GetTemplates(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12addTemplatesERPNS1_8TemplateE")] - internal static extern void AddTemplates(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14clearTemplatesEv")] - internal static extern void ClearTemplates(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext11getTypedefsEj")] - internal static extern global::System.IntPtr GetTypedefs(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext11addTypedefsERPNS1_11TypedefDeclE")] - internal static extern void AddTypedefs(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext13clearTypedefsEv")] - internal static extern void ClearTypedefs(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14getTypeAliasesEj")] - internal static extern global::System.IntPtr GetTypeAliases(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14addTypeAliasesERPNS1_9TypeAliasE")] - internal static extern void AddTypeAliases(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext16clearTypeAliasesEv")] - internal static extern void ClearTypeAliases(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12getVariablesEj")] - internal static extern global::System.IntPtr GetVariables(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12addVariablesERPNS1_8VariableE")] - internal static extern void AddVariables(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14clearVariablesEv")] - internal static extern void ClearVariables(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10getFriendsEj")] - internal static extern global::System.IntPtr GetFriends(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10addFriendsERPNS1_6FriendE")] - internal static extern void AddFriends(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12clearFriendsEv")] - internal static extern void ClearFriends(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext18getNamespacesCountEv")] - internal static extern uint GetNamespacesCount(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext13getEnumsCountEv")] - internal static extern uint GetEnumsCount(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext17getFunctionsCountEv")] - internal static extern uint GetFunctionsCount(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext15getClassesCountEv")] - internal static extern uint GetClassesCount(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext17getTemplatesCountEv")] - internal static extern uint GetTemplatesCount(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext16getTypedefsCountEv")] - internal static extern uint GetTypedefsCount(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext19getTypeAliasesCountEv")] - internal static extern uint GetTypeAliasesCount(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext17getVariablesCountEv")] - internal static extern uint GetVariablesCount(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext15getFriendsCountEv")] - internal static extern uint GetFriendsCount(global::System.IntPtr instance); - } - - internal static new global::CppSharp.Parser.AST.DeclarationContext __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.DecayedType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.DeclarationContext(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.DecayedType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.DeclarationContext __CreateInstance(global::CppSharp.Parser.AST.DeclarationContext.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.DecayedType __CreateInstance(global::CppSharp.Parser.AST.DecayedType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.DeclarationContext(native, skipVTables); + return new global::CppSharp.Parser.AST.DecayedType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.DeclarationContext.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.DecayedType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal)); - global::CppSharp.Parser.AST.DeclarationContext.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); + global::CppSharp.Parser.AST.DecayedType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private DeclarationContext(global::CppSharp.Parser.AST.DeclarationContext.__Internal native, bool skipVTables = false) + private DecayedType(global::CppSharp.Parser.AST.DecayedType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected DeclarationContext(void* native, bool skipVTables = false) + protected DecayedType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -1535,19 +1608,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public DeclarationContext(global::CppSharp.Parser.AST.DeclarationKind kind) + public DecayedType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), kind); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public DeclarationContext(global::CppSharp.Parser.AST.DeclarationContext _0) + public DecayedType(global::CppSharp.Parser.AST.DecayedType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -1556,554 +1629,498 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public global::CppSharp.Parser.AST.QualifiedType Decayed { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->decayed)); + } - public global::CppSharp.Parser.AST.Namespace GetNamespaces(uint i) - { - var __ret = __Internal.GetNamespaces((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Namespace __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Namespace.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Namespace) global::CppSharp.Parser.AST.Namespace.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Namespace.__CreateInstance(__ret); - return __result0; + set + { + ((global::CppSharp.Parser.AST.DecayedType.__Internal*)__Instance)->decayed = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } } - public void AddNamespaces(global::CppSharp.Parser.AST.Namespace s) + public global::CppSharp.Parser.AST.QualifiedType Original { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddNamespaces((__Instance + __PointerAdjustment), __arg0); - } + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->original)); + } - public void ClearNamespaces() - { - __Internal.ClearNamespaces((__Instance + __PointerAdjustment)); + set + { + ((global::CppSharp.Parser.AST.DecayedType.__Internal*)__Instance)->original = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } } - public global::CppSharp.Parser.AST.Enumeration GetEnums(uint i) - { - var __ret = __Internal.GetEnums((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Enumeration __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Enumeration.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Enumeration) global::CppSharp.Parser.AST.Enumeration.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Enumeration.__CreateInstance(__ret); - return __result0; - } - - public void AddEnums(global::CppSharp.Parser.AST.Enumeration s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddEnums((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearEnums() - { - __Internal.ClearEnums((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.Function GetFunctions(uint i) - { - var __ret = __Internal.GetFunctions((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Function __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(__ret); - return __result0; - } - - public void AddFunctions(global::CppSharp.Parser.AST.Function s) + public global::CppSharp.Parser.AST.QualifiedType Pointee { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddFunctions((__Instance + __PointerAdjustment), __arg0); - } + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->pointee)); + } - public void ClearFunctions() - { - __Internal.ClearFunctions((__Instance + __PointerAdjustment)); + set + { + ((global::CppSharp.Parser.AST.DecayedType.__Internal*)__Instance)->pointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } } + } - public global::CppSharp.Parser.AST.Class GetClasses(uint i) + public unsafe partial class TemplateArgument : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public partial struct __Internal { - var __ret = __Internal.GetClasses((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Class __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(__ret); - return __result0; - } + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TemplateArgument.ArgumentKind kind; - public void AddClasses(global::CppSharp.Parser.AST.Class s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddClasses((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; - public void ClearClasses() - { - __Internal.ClearClasses((__Instance + __PointerAdjustment)); - } + [FieldOffset(24)] + internal global::System.IntPtr declaration; - public global::CppSharp.Parser.AST.Template GetTemplates(uint i) - { - var __ret = __Internal.GetTemplates((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Template __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Template.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Template) global::CppSharp.Parser.AST.Template.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Template.__CreateInstance(__ret); - return __result0; - } + [FieldOffset(32)] + internal long integral; - public void AddTemplates(global::CppSharp.Parser.AST.Template s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddTemplates((__Instance + __PointerAdjustment), __arg0); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16TemplateArgumentC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); - public void ClearTemplates() - { - __Internal.ClearTemplates((__Instance + __PointerAdjustment)); + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16TemplateArgumentC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); } - public global::CppSharp.Parser.AST.TypedefDecl GetTypedefs(uint i) + public enum ArgumentKind { - var __ret = __Internal.GetTypedefs((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.TypedefDecl __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TypedefDecl.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.TypedefDecl) global::CppSharp.Parser.AST.TypedefDecl.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.TypedefDecl.__CreateInstance(__ret); - return __result0; + Type = 0, + Declaration = 1, + NullPtr = 2, + Integral = 3, + Template = 4, + TemplateExpansion = 5, + Expression = 6, + Pack = 7 } - public void AddTypedefs(global::CppSharp.Parser.AST.TypedefDecl s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddTypedefs((__Instance + __PointerAdjustment), __arg0); - } + public global::System.IntPtr __Instance { get; protected set; } - public void ClearTypedefs() - { - __Internal.ClearTypedefs((__Instance + __PointerAdjustment)); - } + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; - public global::CppSharp.Parser.AST.TypeAlias GetTypeAliases(uint i) - { - var __ret = __Internal.GetTypeAliases((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.TypeAlias __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TypeAlias.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.TypeAlias) global::CppSharp.Parser.AST.TypeAlias.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.TypeAlias.__CreateInstance(__ret); - return __result0; - } + protected bool __ownsNativeInstance; - public void AddTypeAliases(global::CppSharp.Parser.AST.TypeAlias s) + internal static global::CppSharp.Parser.AST.TemplateArgument __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddTypeAliases((__Instance + __PointerAdjustment), __arg0); + return new global::CppSharp.Parser.AST.TemplateArgument(native.ToPointer(), skipVTables); } - public void ClearTypeAliases() + internal static global::CppSharp.Parser.AST.TemplateArgument __CreateInstance(global::CppSharp.Parser.AST.TemplateArgument.__Internal native, bool skipVTables = false) { - __Internal.ClearTypeAliases((__Instance + __PointerAdjustment)); + return new global::CppSharp.Parser.AST.TemplateArgument(native, skipVTables); } - public global::CppSharp.Parser.AST.Variable GetVariables(uint i) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateArgument.__Internal native) { - var __ret = __Internal.GetVariables((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Variable __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Variable.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Variable) global::CppSharp.Parser.AST.Variable.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Variable.__CreateInstance(__ret); - return __result0; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); + *(global::CppSharp.Parser.AST.TemplateArgument.__Internal*) ret = native; + return ret.ToPointer(); } - public void AddVariables(global::CppSharp.Parser.AST.Variable s) + private TemplateArgument(global::CppSharp.Parser.AST.TemplateArgument.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddVariables((__Instance + __PointerAdjustment), __arg0); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; } - public void ClearVariables() + protected TemplateArgument(void* native, bool skipVTables = false) { - __Internal.ClearVariables((__Instance + __PointerAdjustment)); + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - public global::CppSharp.Parser.AST.Friend GetFriends(uint i) + public TemplateArgument() { - var __ret = __Internal.GetFriends((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Friend __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Friend.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Friend) global::CppSharp.Parser.AST.Friend.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Friend.__CreateInstance(__ret); - return __result0; + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); } - public void AddFriends(global::CppSharp.Parser.AST.Friend s) + public TemplateArgument(global::CppSharp.Parser.AST.TemplateArgument _0) { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddFriends((__Instance + __PointerAdjustment), __arg0); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) _0.__Instance); } - public void ClearFriends() + public void Dispose() { - __Internal.ClearFriends((__Instance + __PointerAdjustment)); + Dispose(disposing: true); } - public static implicit operator global::CppSharp.Parser.AST.DeclarationContext(global::CppSharp.Parser.AST.DeclarationKind kind) + public virtual void Dispose(bool disposing) { - return new global::CppSharp.Parser.AST.DeclarationContext(kind); + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.TemplateArgument __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; } - public bool IsAnonymous + public global::CppSharp.Parser.AST.TemplateArgument.ArgumentKind Kind { get { - return ((global::CppSharp.Parser.AST.DeclarationContext.__Internal*) __Instance)->isAnonymous != 0; + return ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->kind; } set { - ((global::CppSharp.Parser.AST.DeclarationContext.__Internal*)__Instance)->isAnonymous = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->kind = value; } } - public uint NamespacesCount + public global::CppSharp.Parser.AST.QualifiedType Type { get { - var __ret = __Internal.GetNamespacesCount((__Instance + __PointerAdjustment)); - return __ret; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->type)); } - } - public uint EnumsCount - { - get + set { - var __ret = __Internal.GetEnumsCount((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public uint FunctionsCount + public global::CppSharp.Parser.AST.Declaration Declaration { get { - var __ret = __Internal.GetFunctionsCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - - public uint ClassesCount - { - get - { - var __ret = __Internal.GetClassesCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - - public uint TemplatesCount - { - get - { - var __ret = __Internal.GetTemplatesCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - - public uint TypedefsCount - { - get - { - var __ret = __Internal.GetTypedefsCount((__Instance + __PointerAdjustment)); - return __ret; + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration); + return __result0; } - } - public uint TypeAliasesCount - { - get + set { - var __ret = __Internal.GetTypeAliasesCount((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public uint VariablesCount + public long Integral { get { - var __ret = __Internal.GetVariablesCount((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->integral; } - } - public uint FriendsCount - { - get + set { - var __ret = __Internal.GetFriendsCount((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->integral = value; } } } - public unsafe partial class PreprocessedEntity : IDisposable + public unsafe partial class TemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 24)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.MacroLocation macroLocation; + internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] + internal byte isDependent; [FieldOffset(8)] - internal global::System.IntPtr originalPtr; + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; - [FieldOffset(16)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + [FieldOffset(32)] + internal global::System.IntPtr _template; + + [FieldOffset(40)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18PreprocessedEntityC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationTypeC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18PreprocessedEntityC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationTypeC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - } - public global::System.IntPtr __Instance { get; protected set; } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationTypeD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType12getArgumentsEj")] + internal static extern void GetArguments(global::System.IntPtr @return, global::System.IntPtr instance, uint i); - protected bool __ownsNativeInstance; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType12addArgumentsERNS1_16TemplateArgumentE")] + internal static extern void AddArguments(global::System.IntPtr instance, global::System.IntPtr s); - internal static global::CppSharp.Parser.AST.PreprocessedEntity __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType14clearArgumentsEv")] + internal static extern void ClearArguments(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType17getArgumentsCountEv")] + internal static extern uint GetArgumentsCount(global::System.IntPtr instance); + } + + internal static new global::CppSharp.Parser.AST.TemplateSpecializationType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.PreprocessedEntity(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TemplateSpecializationType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.PreprocessedEntity __CreateInstance(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TemplateSpecializationType __CreateInstance(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.PreprocessedEntity(native, skipVTables); + return new global::CppSharp.Parser.AST.TemplateSpecializationType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); - *(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) ret = native; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); + global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private PreprocessedEntity(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native, bool skipVTables = false) + private TemplateSpecializationType(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected PreprocessedEntity(void* native, bool skipVTables = false) + protected TemplateSpecializationType(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public PreprocessedEntity() + public TemplateSpecializationType() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public PreprocessedEntity(global::CppSharp.Parser.AST.PreprocessedEntity _0) + public TemplateSpecializationType(global::CppSharp.Parser.AST.TemplateSpecializationType _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) _0.__Instance); - } - - public void Dispose() - { - Dispose(disposing: true); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.PreprocessedEntity __dummy; + global::CppSharp.Parser.AST.Type __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.MacroLocation MacroLocation + public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) + { + var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); + __Internal.GetArguments(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); + return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); + } + + public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearArguments() + { + __Internal.ClearArguments((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.Template Template { get { - return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->macroLocation; + global::CppSharp.Parser.AST.Template __result0; + if (((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Template.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template)) + __result0 = (global::CppSharp.Parser.AST.Template) global::CppSharp.Parser.AST.Template.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template]; + else __result0 = global::CppSharp.Parser.AST.Template.__CreateInstance(((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template); + return __result0; } set { - ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*)__Instance)->macroLocation = value; + ((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*)__Instance)->_template = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public global::System.IntPtr OriginalPtr + public global::CppSharp.Parser.AST.QualifiedType Desugared { get { - return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->originalPtr; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->desugared)); } set { - ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*)__Instance)->originalPtr = (global::System.IntPtr) value; + ((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*)__Instance)->desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public global::CppSharp.Parser.AST.DeclarationKind Kind + public uint ArgumentsCount { get { - return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->kind; - } - - set - { - ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*)__Instance)->kind = value; + var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class RawComment : IDisposable + public unsafe partial class DependentTemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 80)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.RawCommentKind kind; + internal global::CppSharp.Parser.AST.TypeKind kind; - [FieldOffset(8)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C text; + [FieldOffset(4)] + internal byte isDependent; - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C briefText; + [FieldOffset(8)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; - [FieldOffset(72)] - internal global::System.IntPtr fullCommentBlock; + [FieldOffset(32)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10RawCommentC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationTypeC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10RawCommentC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationTypeC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10RawCommentD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationTypeD2Ev")] internal static extern void dtor(global::System.IntPtr instance); - } - public global::System.IntPtr __Instance { get; protected set; } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationType12getArgumentsEj")] + internal static extern void GetArguments(global::System.IntPtr @return, global::System.IntPtr instance, uint i); - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationType12addArgumentsERNS1_16TemplateArgumentE")] + internal static extern void AddArguments(global::System.IntPtr instance, global::System.IntPtr s); - protected bool __ownsNativeInstance; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationType14clearArgumentsEv")] + internal static extern void ClearArguments(global::System.IntPtr instance); - internal static global::CppSharp.Parser.AST.RawComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.RawComment(native.ToPointer(), skipVTables); + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationType17getArgumentsCountEv")] + internal static extern uint GetArgumentsCount(global::System.IntPtr instance); } - internal static global::CppSharp.Parser.AST.RawComment __CreateInstance(global::CppSharp.Parser.AST.RawComment.__Internal native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.DependentTemplateSpecializationType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.RawComment(native, skipVTables); + return new global::CppSharp.Parser.AST.DependentTemplateSpecializationType(native.ToPointer(), skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.RawComment.__Internal native) + internal static global::CppSharp.Parser.AST.DependentTemplateSpecializationType __CreateInstance(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native, bool skipVTables = false) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); - global::CppSharp.Parser.AST.RawComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return new global::CppSharp.Parser.AST.DependentTemplateSpecializationType(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); + global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private RawComment(global::CppSharp.Parser.AST.RawComment.__Internal native, bool skipVTables = false) + private DependentTemplateSpecializationType(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected RawComment(void* native, bool skipVTables = false) + protected DependentTemplateSpecializationType(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public RawComment() + public DependentTemplateSpecializationType() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public RawComment(global::CppSharp.Parser.AST.RawComment _0) + public DependentTemplateSpecializationType(global::CppSharp.Parser.AST.DependentTemplateSpecializationType _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -2112,16 +2129,11 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.RawComment __dummy; + global::CppSharp.Parser.AST.Type __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -2130,142 +2142,113 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.RawCommentKind Kind + public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) { - get - { - return ((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->kind; - } - - set - { - ((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->kind = value; - } + var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); + __Internal.GetArguments(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); + return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); } - public string Text + public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->text)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); + } - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->text), value); - } + public void ClearArguments() + { + __Internal.ClearArguments((__Instance + __PointerAdjustment)); } - public string BriefText + public global::CppSharp.Parser.AST.QualifiedType Desugared { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->briefText)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal*) __Instance)->desugared)); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->briefText), value); + ((global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal*)__Instance)->desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public global::CppSharp.Parser.AST.FullComment FullCommentBlock + public uint ArgumentsCount { get { - global::CppSharp.Parser.AST.FullComment __result0; - if (((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.FullComment.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock)) - __result0 = (global::CppSharp.Parser.AST.FullComment) global::CppSharp.Parser.AST.FullComment.NativeToManagedMap[((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock]; - else __result0 = global::CppSharp.Parser.AST.FullComment.__CreateInstance(((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->fullCommentBlock = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class FullComment : global::CppSharp.Parser.AST.Comment, IDisposable + public unsafe partial class TemplateParameterType : global::CppSharp.Parser.AST.Type, IDisposable { [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + internal global::CppSharp.Parser.AST.TypeKind kind; - [FieldOffset(8)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BlockContentComment___N_std_S_allocator__S0_ Blocks; + [FieldOffset(4)] + internal byte isDependent; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11FullCommentC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); + [FieldOffset(8)] + internal global::System.IntPtr parameter; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11FullCommentC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + [FieldOffset(16)] + internal uint depth; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11FullCommentD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); + [FieldOffset(20)] + internal uint index; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11FullComment9getBlocksEj")] - internal static extern global::System.IntPtr GetBlocks(global::System.IntPtr instance, uint i); + [FieldOffset(24)] + internal byte isParameterPack; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11FullComment9addBlocksERPNS1_19BlockContentCommentE")] - internal static extern void AddBlocks(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST21TemplateParameterTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11FullComment11clearBlocksEv")] - internal static extern void ClearBlocks(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST21TemplateParameterTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11FullComment14getBlocksCountEv")] - internal static extern uint GetBlocksCount(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST21TemplateParameterTypeD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.FullComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TemplateParameterType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.FullComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TemplateParameterType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.FullComment __CreateInstance(global::CppSharp.Parser.AST.FullComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TemplateParameterType __CreateInstance(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.FullComment(native, skipVTables); + return new global::CppSharp.Parser.AST.TemplateParameterType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.FullComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullComment.__Internal)); - global::CppSharp.Parser.AST.FullComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); + global::CppSharp.Parser.AST.TemplateParameterType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private FullComment(global::CppSharp.Parser.AST.FullComment.__Internal native, bool skipVTables = false) + private TemplateParameterType(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected FullComment(void* native, bool skipVTables = false) + protected TemplateParameterType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -2274,19 +2257,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public FullComment() + public TemplateParameterType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public FullComment(global::CppSharp.Parser.AST.FullComment _0) + public TemplateParameterType(global::CppSharp.Parser.AST.TemplateParameterType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -2299,7 +2282,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Comment __dummy; + global::CppSharp.Parser.AST.Type __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -2308,198 +2291,231 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.BlockContentComment GetBlocks(uint i) + public global::CppSharp.Parser.AST.TypeTemplateParameter Parameter { - var __ret = __Internal.GetBlocks((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.BlockContentComment __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.BlockContentComment.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.BlockContentComment) global::CppSharp.Parser.AST.BlockContentComment.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.BlockContentComment.__CreateInstance(__ret); - return __result0; + get + { + global::CppSharp.Parser.AST.TypeTemplateParameter __result0; + if (((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TypeTemplateParameter.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter)) + __result0 = (global::CppSharp.Parser.AST.TypeTemplateParameter) global::CppSharp.Parser.AST.TypeTemplateParameter.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter]; + else __result0 = global::CppSharp.Parser.AST.TypeTemplateParameter.__CreateInstance(((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->parameter = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } } - public void AddBlocks(global::CppSharp.Parser.AST.BlockContentComment s) + public uint Depth { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddBlocks((__Instance + __PointerAdjustment), __arg0); + get + { + return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->depth; + } + + set + { + ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->depth = value; + } } - public void ClearBlocks() + public uint Index { - __Internal.ClearBlocks((__Instance + __PointerAdjustment)); + get + { + return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->index; + } + + set + { + ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->index = value; + } } - public uint BlocksCount + public bool IsParameterPack { get { - var __ret = __Internal.GetBlocksCount((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->isParameterPack != 0; + } + + set + { + ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->isParameterPack = (byte) (value ? 1 : 0); } } } - public unsafe partial class Comment : IDisposable + public unsafe partial class TemplateParameterSubstitutionType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 4)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] + internal byte isDependent; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal replacement; + + [FieldOffset(24)] + internal global::System.IntPtr replacedParameter; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST7CommentC2ENS1_11CommentKindE")] - internal static extern void ctor(global::System.IntPtr instance, global::CppSharp.Parser.AST.CommentKind kind); + EntryPoint="_ZN8CppSharp9CppParser3AST33TemplateParameterSubstitutionTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST7CommentC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST33TemplateParameterSubstitutionTypeC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); } - public global::System.IntPtr __Instance { get; protected set; } + internal static new global::CppSharp.Parser.AST.TemplateParameterSubstitutionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.TemplateParameterSubstitutionType(native.ToPointer(), skipVTables); + } - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.Comment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Comment(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.Comment __CreateInstance(global::CppSharp.Parser.AST.Comment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TemplateParameterSubstitutionType __CreateInstance(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Comment(native, skipVTables); + return new global::CppSharp.Parser.AST.TemplateParameterSubstitutionType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Comment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Comment.__Internal)); - *(global::CppSharp.Parser.AST.Comment.__Internal*) ret = native; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); + global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Comment(global::CppSharp.Parser.AST.Comment.__Internal native, bool skipVTables = false) + private TemplateParameterSubstitutionType(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Comment(void* native, bool skipVTables = false) + protected TemplateParameterSubstitutionType(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public Comment(global::CppSharp.Parser.AST.CommentKind kind) + public TemplateParameterSubstitutionType() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Comment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), kind); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public Comment(global::CppSharp.Parser.AST.Comment _0) + public TemplateParameterSubstitutionType(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Comment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.Comment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.Comment.__Internal*) _0.__Instance); - } - - public void Dispose() - { - Dispose(disposing: true); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public virtual void Dispose(bool disposing) + public global::CppSharp.Parser.AST.QualifiedType Replacement { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Comment __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacement)); + } - public static implicit operator global::CppSharp.Parser.AST.Comment(global::CppSharp.Parser.AST.CommentKind kind) - { - return new global::CppSharp.Parser.AST.Comment(kind); + set + { + ((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*)__Instance)->replacement = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } } - public global::CppSharp.Parser.AST.CommentKind Kind + public global::CppSharp.Parser.AST.TemplateParameterType ReplacedParameter { get { - return ((global::CppSharp.Parser.AST.Comment.__Internal*) __Instance)->kind; + global::CppSharp.Parser.AST.TemplateParameterType __result0; + if (((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TemplateParameterType.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter)) + __result0 = (global::CppSharp.Parser.AST.TemplateParameterType) global::CppSharp.Parser.AST.TemplateParameterType.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter]; + else __result0 = global::CppSharp.Parser.AST.TemplateParameterType.__CreateInstance(((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter); + return __result0; } set { - ((global::CppSharp.Parser.AST.Comment.__Internal*)__Instance)->kind = value; + ((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*)__Instance)->replacedParameter = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } - public unsafe partial class BlockContentComment : global::CppSharp.Parser.AST.Comment, IDisposable + public unsafe partial class InjectedClassNameType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 4)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + internal global::CppSharp.Parser.AST.TypeKind kind; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19BlockContentCommentC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); + [FieldOffset(4)] + internal byte isDependent; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal injectedSpecializationType; + + [FieldOffset(24)] + internal global::System.IntPtr _class; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19BlockContentCommentC2ENS1_11CommentKindE")] - internal static extern void ctor(global::System.IntPtr instance, global::CppSharp.Parser.AST.CommentKind Kind); + EntryPoint="_ZN8CppSharp9CppParser3AST21InjectedClassNameTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19BlockContentCommentC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST21InjectedClassNameTypeC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); } - internal static new global::CppSharp.Parser.AST.BlockContentComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.InjectedClassNameType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.BlockContentComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.InjectedClassNameType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.BlockContentComment __CreateInstance(global::CppSharp.Parser.AST.BlockContentComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.InjectedClassNameType __CreateInstance(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.BlockContentComment(native, skipVTables); + return new global::CppSharp.Parser.AST.InjectedClassNameType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.BlockContentComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); - *(global::CppSharp.Parser.AST.BlockContentComment.__Internal*) ret = native; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); + global::CppSharp.Parser.AST.InjectedClassNameType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private BlockContentComment(global::CppSharp.Parser.AST.BlockContentComment.__Internal native, bool skipVTables = false) + private InjectedClassNameType(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected BlockContentComment(void* native, bool skipVTables = false) + protected InjectedClassNameType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -2508,181 +2524,319 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public BlockContentComment() + public InjectedClassNameType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public BlockContentComment(global::CppSharp.Parser.AST.CommentKind Kind) + public InjectedClassNameType(global::CppSharp.Parser.AST.InjectedClassNameType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), Kind); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public BlockContentComment(global::CppSharp.Parser.AST.BlockContentComment _0) - : this((void*) null) + public global::CppSharp.Parser.AST.QualifiedType InjectedSpecializationType { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.BlockContentComment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.BlockContentComment.__Internal*) _0.__Instance); + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->injectedSpecializationType)); + } + + set + { + ((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*)__Instance)->injectedSpecializationType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } } - public static implicit operator global::CppSharp.Parser.AST.BlockContentComment(global::CppSharp.Parser.AST.CommentKind Kind) + public global::CppSharp.Parser.AST.Class Class { - return new global::CppSharp.Parser.AST.BlockContentComment(Kind); + get + { + global::CppSharp.Parser.AST.Class __result0; + if (((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class)) + __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class]; + else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*)__Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } } } - public unsafe partial class Namespace : global::CppSharp.Parser.AST.DeclarationContext, IDisposable + public unsafe partial class DependentNameType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 496)] + [StructLayout(LayoutKind.Explicit, Size = 56)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + internal global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - internal int maxFieldAlignment; + internal byte isDependent; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifier; [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; - - [FieldOffset(32)] - internal int lineNumberEnd; + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C identifier; - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17DependentNameTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); - [FieldOffset(72)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17DependentNameTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - [FieldOffset(104)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17DependentNameTypeD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); + } - [FieldOffset(136)] - internal byte isIncomplete; + internal static new global::CppSharp.Parser.AST.DependentNameType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DependentNameType(native.ToPointer(), skipVTables); + } - [FieldOffset(137)] - internal byte isDependent; + internal static global::CppSharp.Parser.AST.DependentNameType __CreateInstance(global::CppSharp.Parser.AST.DependentNameType.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DependentNameType(native, skipVTables); + } - [FieldOffset(138)] - internal byte isImplicit; + private static void* __CopyValue(global::CppSharp.Parser.AST.DependentNameType.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); + global::CppSharp.Parser.AST.DependentNameType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(139)] - internal byte isInvalid; + private DependentNameType(global::CppSharp.Parser.AST.DependentNameType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(144)] - internal global::System.IntPtr completeDeclaration; + protected DependentNameType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(152)] - internal uint definitionOrder; + public DependentNameType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + public DependentNameType(global::CppSharp.Parser.AST.DependentNameType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(184)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Type __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } - [FieldOffset(208)] - internal global::System.IntPtr originalPtr; + public global::CppSharp.Parser.AST.QualifiedType Qualifier + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentNameType.__Internal*) __Instance)->qualifier)); + } - [FieldOffset(216)] - internal global::System.IntPtr comment; + set + { + ((global::CppSharp.Parser.AST.DependentNameType.__Internal*)__Instance)->qualifier = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } - [FieldOffset(224)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; + public string Identifier + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentNameType.__Internal*) __Instance)->identifier)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } - [FieldOffset(248)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentNameType.__Internal*)__Instance)->identifier), value); + } + } + } - [FieldOffset(272)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; + public unsafe partial class PackExpansionType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 8)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; - [FieldOffset(296)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; + [FieldOffset(4)] + internal byte isDependent; - [FieldOffset(320)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17PackExpansionTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); - [FieldOffset(344)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17PackExpansionTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + } - [FieldOffset(368)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; + internal static new global::CppSharp.Parser.AST.PackExpansionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.PackExpansionType(native.ToPointer(), skipVTables); + } - [FieldOffset(392)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; + internal static global::CppSharp.Parser.AST.PackExpansionType __CreateInstance(global::CppSharp.Parser.AST.PackExpansionType.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.PackExpansionType(native, skipVTables); + } - [FieldOffset(416)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; + private static void* __CopyValue(global::CppSharp.Parser.AST.PackExpansionType.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); + global::CppSharp.Parser.AST.PackExpansionType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(440)] - internal global::Std.Map.__Internalc__N_std_S_map____N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + private PackExpansionType(global::CppSharp.Parser.AST.PackExpansionType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(488)] - internal byte isAnonymous; + protected PackExpansionType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(489)] - internal byte isInline; + public PackExpansionType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public PackExpansionType(global::CppSharp.Parser.AST.PackExpansionType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + } + + public unsafe partial class UnaryTransformType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] + internal byte isDependent; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal baseType; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9NamespaceC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST18UnaryTransformTypeC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9NamespaceC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST18UnaryTransformTypeC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9NamespaceD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.Namespace __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.UnaryTransformType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Namespace(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.UnaryTransformType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Namespace __CreateInstance(global::CppSharp.Parser.AST.Namespace.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.UnaryTransformType __CreateInstance(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Namespace(native, skipVTables); + return new global::CppSharp.Parser.AST.UnaryTransformType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Namespace.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); - global::CppSharp.Parser.AST.Namespace.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); + global::CppSharp.Parser.AST.UnaryTransformType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Namespace(global::CppSharp.Parser.AST.Namespace.__Internal native, bool skipVTables = false) + private UnaryTransformType(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Namespace(void* native, bool skipVTables = false) + protected UnaryTransformType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -2691,19 +2845,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Namespace() + public UnaryTransformType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public Namespace(global::CppSharp.Parser.AST.Namespace _0) + public UnaryTransformType(global::CppSharp.Parser.AST.UnaryTransformType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -2712,778 +2866,470 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public global::CppSharp.Parser.AST.QualifiedType Desugared { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*) __Instance)->desugared)); + } + + set + { + ((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*)__Instance)->desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } } - public bool IsInline + public global::CppSharp.Parser.AST.QualifiedType BaseType { get { - return ((global::CppSharp.Parser.AST.Namespace.__Internal*) __Instance)->isInline != 0; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*) __Instance)->baseType)); } set { - ((global::CppSharp.Parser.AST.Namespace.__Internal*)__Instance)->isInline = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*)__Instance)->baseType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } } - public unsafe partial class Enumeration : global::CppSharp.Parser.AST.DeclarationContext, IDisposable + public unsafe partial class VectorType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 536)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + internal global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - internal int maxFieldAlignment; + internal byte isDependent; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal elementType; [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; + internal uint numElements; - [FieldOffset(32)] - internal int lineNumberEnd; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10VectorTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10VectorTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + } - [FieldOffset(72)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + internal static new global::CppSharp.Parser.AST.VectorType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.VectorType(native.ToPointer(), skipVTables); + } - [FieldOffset(104)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + internal static global::CppSharp.Parser.AST.VectorType __CreateInstance(global::CppSharp.Parser.AST.VectorType.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.VectorType(native, skipVTables); + } - [FieldOffset(136)] - internal byte isIncomplete; + private static void* __CopyValue(global::CppSharp.Parser.AST.VectorType.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); + global::CppSharp.Parser.AST.VectorType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(137)] - internal byte isDependent; + private VectorType(global::CppSharp.Parser.AST.VectorType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(138)] - internal byte isImplicit; + protected VectorType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(139)] - internal byte isInvalid; + public VectorType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - [FieldOffset(144)] - internal global::System.IntPtr completeDeclaration; + public VectorType(global::CppSharp.Parser.AST.VectorType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(152)] - internal uint definitionOrder; + public global::CppSharp.Parser.AST.QualifiedType ElementType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VectorType.__Internal*) __Instance)->elementType)); + } - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + set + { + ((global::CppSharp.Parser.AST.VectorType.__Internal*)__Instance)->elementType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } - [FieldOffset(184)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + public uint NumElements + { + get + { + return ((global::CppSharp.Parser.AST.VectorType.__Internal*) __Instance)->numElements; + } - [FieldOffset(208)] - internal global::System.IntPtr originalPtr; + set + { + ((global::CppSharp.Parser.AST.VectorType.__Internal*)__Instance)->numElements = value; + } + } + } - [FieldOffset(216)] - internal global::System.IntPtr comment; + public unsafe partial class BuiltinType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 12)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; - [FieldOffset(224)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; + [FieldOffset(4)] + internal byte isDependent; - [FieldOffset(248)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.PrimitiveType type; - [FieldOffset(272)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11BuiltinTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); - [FieldOffset(296)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11BuiltinTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + } - [FieldOffset(320)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; + internal static new global::CppSharp.Parser.AST.BuiltinType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.BuiltinType(native.ToPointer(), skipVTables); + } - [FieldOffset(344)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; + internal static global::CppSharp.Parser.AST.BuiltinType __CreateInstance(global::CppSharp.Parser.AST.BuiltinType.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.BuiltinType(native, skipVTables); + } - [FieldOffset(368)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; + private static void* __CopyValue(global::CppSharp.Parser.AST.BuiltinType.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); + global::CppSharp.Parser.AST.BuiltinType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(392)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; + private BuiltinType(global::CppSharp.Parser.AST.BuiltinType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(416)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; + protected BuiltinType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(440)] - internal global::Std.Map.__Internalc__N_std_S_map____N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + public BuiltinType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - [FieldOffset(488)] - internal byte isAnonymous; + public BuiltinType(global::CppSharp.Parser.AST.BuiltinType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(492)] - internal global::CppSharp.Parser.AST.Enumeration.EnumModifiers modifiers; + public global::CppSharp.Parser.AST.PrimitiveType Type + { + get + { + return ((global::CppSharp.Parser.AST.BuiltinType.__Internal*) __Instance)->type; + } - [FieldOffset(496)] - internal global::System.IntPtr type; + set + { + ((global::CppSharp.Parser.AST.BuiltinType.__Internal*)__Instance)->type = value; + } + } + } - [FieldOffset(504)] - internal global::System.IntPtr builtinType; + public unsafe partial class VTableComponent : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 16)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.VTableComponentKind kind; - [FieldOffset(512)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration_S_Item___N_std_S_allocator__S0_ Items; + [FieldOffset(4)] + internal uint offset; + + [FieldOffset(8)] + internal global::System.IntPtr declaration; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11EnumerationC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST15VTableComponentC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11EnumerationC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST15VTableComponentC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11EnumerationD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration8getItemsEj")] - internal static extern global::System.IntPtr GetItems(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration8addItemsERPNS2_4ItemE")] - internal static extern void AddItems(global::System.IntPtr instance, global::System.IntPtr s); + public global::System.IntPtr __Instance { get; protected set; } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration10clearItemsEv")] - internal static extern void ClearItems(global::System.IntPtr instance); + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration14FindItemByNameERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE")] - internal static extern global::System.IntPtr FindItemByName(global::System.IntPtr instance, global::System.IntPtr Name); + protected bool __ownsNativeInstance; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration13getItemsCountEv")] - internal static extern uint GetItemsCount(global::System.IntPtr instance); + internal static global::CppSharp.Parser.AST.VTableComponent __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.VTableComponent(native.ToPointer(), skipVTables); } - [Flags] - public enum EnumModifiers + internal static global::CppSharp.Parser.AST.VTableComponent __CreateInstance(global::CppSharp.Parser.AST.VTableComponent.__Internal native, bool skipVTables = false) { - Anonymous = 1, - Scoped = 2, - Flags = 4 - } - - public unsafe partial class Item : global::CppSharp.Parser.AST.Declaration, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 264)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; - - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; - - [FieldOffset(32)] - internal int lineNumberEnd; - - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - - [FieldOffset(72)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - - [FieldOffset(104)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - - [FieldOffset(136)] - internal byte isIncomplete; - - [FieldOffset(137)] - internal byte isDependent; - - [FieldOffset(138)] - internal byte isImplicit; - - [FieldOffset(139)] - internal byte isInvalid; - - [FieldOffset(144)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(152)] - internal uint definitionOrder; - - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(184)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - - [FieldOffset(208)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(216)] - internal global::System.IntPtr comment; - - [FieldOffset(224)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C expression; - - [FieldOffset(256)] - internal ulong value; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4ItemC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4ItemC2ERKS3_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4ItemD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); - } - - internal static new global::CppSharp.Parser.AST.Enumeration.Item __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Enumeration.Item(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.Enumeration.Item __CreateInstance(global::CppSharp.Parser.AST.Enumeration.Item.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Enumeration.Item(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.Enumeration.Item.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); - global::CppSharp.Parser.AST.Enumeration.Item.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private Item(global::CppSharp.Parser.AST.Enumeration.Item.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected Item(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public Item() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } - - public Item(global::CppSharp.Parser.AST.Enumeration.Item _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } - - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - - public string Expression - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*) __Instance)->expression)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*)__Instance)->expression), value); - } - } - - public ulong Value - { - get - { - return ((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*) __Instance)->value; - } - - set - { - ((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*)__Instance)->value = value; - } - } - } - - internal static new global::CppSharp.Parser.AST.Enumeration __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Enumeration(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.Enumeration __CreateInstance(global::CppSharp.Parser.AST.Enumeration.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Enumeration(native, skipVTables); + return new global::CppSharp.Parser.AST.VTableComponent(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Enumeration.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VTableComponent.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); - global::CppSharp.Parser.AST.Enumeration.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); + *(global::CppSharp.Parser.AST.VTableComponent.__Internal*) ret = native; return ret.ToPointer(); } - private Enumeration(global::CppSharp.Parser.AST.Enumeration.__Internal native, bool skipVTables = false) + private VTableComponent(global::CppSharp.Parser.AST.VTableComponent.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Enumeration(void* native, bool skipVTables = false) - : base((void*) null) + protected VTableComponent(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public Enumeration() - : this((void*) null) + public VTableComponent() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public Enumeration(global::CppSharp.Parser.AST.Enumeration _0) - : this((void*) null) + public VTableComponent(global::CppSharp.Parser.AST.VTableComponent _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + *((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.VTableComponent.__Internal*) _0.__Instance); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.VTableComponent __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.Enumeration.Item GetItems(uint i) + public global::CppSharp.Parser.AST.VTableComponentKind Kind { - var __ret = __Internal.GetItems((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Enumeration.Item __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Enumeration.Item) global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Enumeration.Item.__CreateInstance(__ret); - return __result0; + get + { + return ((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->kind; + } + + set + { + ((global::CppSharp.Parser.AST.VTableComponent.__Internal*)__Instance)->kind = value; + } } - public void AddItems(global::CppSharp.Parser.AST.Enumeration.Item s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddItems((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearItems() - { - __Internal.ClearItems((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.Enumeration.Item FindItemByName(string Name) - { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, Name); - var __arg0 = __basicString0.__Instance; - var __ret = __Internal.FindItemByName((__Instance + __PointerAdjustment), __arg0); - __basicString0.Dispose(false); - global::CppSharp.Parser.AST.Enumeration.Item __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Enumeration.Item) global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Enumeration.Item.__CreateInstance(__ret); - return __result0; - } - - public global::CppSharp.Parser.AST.Enumeration.EnumModifiers Modifiers - { - get - { - return ((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->modifiers; - } - - set - { - ((global::CppSharp.Parser.AST.Enumeration.__Internal*)__Instance)->modifiers = value; - } - } - - public global::CppSharp.Parser.AST.Type Type + public uint Offset { get { - global::CppSharp.Parser.AST.Type __result0; - if (((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type)) - __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type]; - else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type); - return __result0; + return ((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->offset; } set { - ((global::CppSharp.Parser.AST.Enumeration.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.VTableComponent.__Internal*)__Instance)->offset = value; } } - public global::CppSharp.Parser.AST.BuiltinType BuiltinType + public global::CppSharp.Parser.AST.Declaration Declaration { get { - global::CppSharp.Parser.AST.BuiltinType __result0; - if (((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.BuiltinType.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType)) - __result0 = (global::CppSharp.Parser.AST.BuiltinType) global::CppSharp.Parser.AST.BuiltinType.NativeToManagedMap[((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType]; - else __result0 = global::CppSharp.Parser.AST.BuiltinType.__CreateInstance(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType); + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration); return __result0; } set { - ((global::CppSharp.Parser.AST.Enumeration.__Internal*)__Instance)->builtinType = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } - - public uint ItemsCount - { - get - { - var __ret = __Internal.GetItemsCount((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.VTableComponent.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } - public unsafe partial class Function : global::CppSharp.Parser.AST.DeclarationContext, IDisposable + public unsafe partial class VTableLayout : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 688)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 24)] + public partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; - - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; - - [FieldOffset(32)] - internal int lineNumberEnd; - - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - - [FieldOffset(72)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - - [FieldOffset(104)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - - [FieldOffset(136)] - internal byte isIncomplete; - - [FieldOffset(137)] - internal byte isDependent; - - [FieldOffset(138)] - internal byte isImplicit; - - [FieldOffset(139)] - internal byte isInvalid; - - [FieldOffset(144)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(152)] - internal uint definitionOrder; - - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(184)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - - [FieldOffset(208)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(216)] - internal global::System.IntPtr comment; - - [FieldOffset(224)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; - - [FieldOffset(248)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; - - [FieldOffset(272)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; - - [FieldOffset(296)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; - - [FieldOffset(320)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; - - [FieldOffset(344)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; - - [FieldOffset(368)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; - - [FieldOffset(392)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; - - [FieldOffset(416)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; - - [FieldOffset(440)] - internal global::Std.Map.__Internalc__N_std_S_map____N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; - - [FieldOffset(488)] - internal byte isAnonymous; - - [FieldOffset(496)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; - - [FieldOffset(512)] - internal byte isReturnIndirect; - - [FieldOffset(513)] - internal byte hasThisReturn; - - [FieldOffset(514)] - internal byte isConstExpr; - - [FieldOffset(515)] - internal byte isVariadic; - - [FieldOffset(516)] - internal byte isInline; - - [FieldOffset(517)] - internal byte isPure; - - [FieldOffset(518)] - internal byte isDeleted; - - [FieldOffset(519)] - internal byte isDefaulted; - - [FieldOffset(520)] - internal global::CppSharp.Parser.AST.FriendKind friendKind; - - [FieldOffset(524)] - internal global::CppSharp.Parser.AST.CXXOperatorKind operatorKind; - - [FieldOffset(528)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C mangled; - - [FieldOffset(560)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C signature; - - [FieldOffset(592)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C body; - - [FieldOffset(624)] - internal global::CppSharp.Parser.AST.CallingConvention callingConvention; - - [FieldOffset(632)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_S_allocator__S0_ Parameters; - - [FieldOffset(656)] - internal global::System.IntPtr specializationInfo; - - [FieldOffset(664)] - internal global::System.IntPtr instantiatedFrom; - - [FieldOffset(672)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_VTableComponent___N_std_S_allocator__S0_ Components; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8FunctionC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayoutC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8FunctionC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayoutC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8FunctionD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayoutD2Ev")] internal static extern void dtor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Function13getParametersEj")] - internal static extern global::System.IntPtr GetParameters(global::System.IntPtr instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayout13getComponentsEj")] + internal static extern global::CppSharp.Parser.AST.VTableComponent.__Internal GetComponents(global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Function13addParametersERPNS1_9ParameterE")] - internal static extern void AddParameters(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayout13addComponentsERNS1_15VTableComponentE")] + internal static extern void AddComponents(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Function15clearParametersEv")] - internal static extern void ClearParameters(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayout15clearComponentsEv")] + internal static extern void ClearComponents(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Function18getParametersCountEv")] - internal static extern uint GetParametersCount(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayout18getComponentsCountEv")] + internal static extern uint GetComponentsCount(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.Function __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Function(native.ToPointer(), skipVTables); - } + public global::System.IntPtr __Instance { get; protected set; } - internal static global::CppSharp.Parser.AST.Function __CreateInstance(global::CppSharp.Parser.AST.Function.__Internal native, bool skipVTables = false) + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.VTableLayout __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Function(native, skipVTables); + return new global::CppSharp.Parser.AST.VTableLayout(native.ToPointer(), skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Function.__Internal native) + internal static global::CppSharp.Parser.AST.VTableLayout __CreateInstance(global::CppSharp.Parser.AST.VTableLayout.__Internal native, bool skipVTables = false) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); - global::CppSharp.Parser.AST.Function.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return new global::CppSharp.Parser.AST.VTableLayout(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.VTableLayout.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); + global::CppSharp.Parser.AST.VTableLayout.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Function(global::CppSharp.Parser.AST.Function.__Internal native, bool skipVTables = false) + private VTableLayout(global::CppSharp.Parser.AST.VTableLayout.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Function(void* native, bool skipVTables = false) - : base((void*) null) + protected VTableLayout(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public Function() - : this((void*) null) + public VTableLayout() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public Function(global::CppSharp.Parser.AST.Function _0) - : this((void*) null) + public VTableLayout(global::CppSharp.Parser.AST.VTableLayout _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -3492,11 +3338,16 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.VTableLayout __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -3505,267 +3356,332 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.Parameter GetParameters(uint i) + public global::CppSharp.Parser.AST.VTableComponent GetComponents(uint i) { - var __ret = __Internal.GetParameters((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Parameter __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Parameter.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Parameter) global::CppSharp.Parser.AST.Parameter.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Parameter.__CreateInstance(__ret); - return __result0; + var __ret = __Internal.GetComponents((__Instance + __PointerAdjustment), i); + return global::CppSharp.Parser.AST.VTableComponent.__CreateInstance(__ret); } - public void AddParameters(global::CppSharp.Parser.AST.Parameter s) + public void AddComponents(global::CppSharp.Parser.AST.VTableComponent s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddParameters((__Instance + __PointerAdjustment), __arg0); + __Internal.AddComponents((__Instance + __PointerAdjustment), __arg0); } - public void ClearParameters() + public void ClearComponents() { - __Internal.ClearParameters((__Instance + __PointerAdjustment)); + __Internal.ClearComponents((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.QualifiedType ReturnType + public uint ComponentsCount { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->returnType)); - } - - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->returnType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + var __ret = __Internal.GetComponentsCount((__Instance + __PointerAdjustment)); + return __ret; } } + } - public bool IsReturnIndirect + public unsafe partial class VFTableInfo : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public partial struct __Internal { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isReturnIndirect != 0; - } + [FieldOffset(0)] + internal ulong VBTableIndex; - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isReturnIndirect = (byte) (value ? 1 : 0); - } - } + [FieldOffset(8)] + internal uint VFPtrOffset; - public bool HasThisReturn - { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->hasThisReturn != 0; - } + [FieldOffset(12)] + internal uint VFPtrFullOffset; - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->hasThisReturn = (byte) (value ? 1 : 0); - } + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.VTableLayout.__Internal layout; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11VFTableInfoC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11VFTableInfoC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11VFTableInfoD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); } - public bool IsConstExpr - { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isConstExpr != 0; - } + public global::System.IntPtr __Instance { get; protected set; } - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isConstExpr = (byte) (value ? 1 : 0); - } + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.VFTableInfo __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.VFTableInfo(native.ToPointer(), skipVTables); } - public bool IsVariadic + internal static global::CppSharp.Parser.AST.VFTableInfo __CreateInstance(global::CppSharp.Parser.AST.VFTableInfo.__Internal native, bool skipVTables = false) { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isVariadic != 0; - } + return new global::CppSharp.Parser.AST.VFTableInfo(native, skipVTables); + } - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isVariadic = (byte) (value ? 1 : 0); - } + private static void* __CopyValue(global::CppSharp.Parser.AST.VFTableInfo.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); + global::CppSharp.Parser.AST.VFTableInfo.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); } - public bool IsInline + private VFTableInfo(global::CppSharp.Parser.AST.VFTableInfo.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isInline != 0; - } + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isInline = (byte) (value ? 1 : 0); - } + protected VFTableInfo(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - public bool IsPure + public VFTableInfo() { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isPure != 0; - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isPure = (byte) (value ? 1 : 0); - } + public VFTableInfo(global::CppSharp.Parser.AST.VFTableInfo _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public bool IsDeleted + public void Dispose() { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isDeleted != 0; - } + Dispose(disposing: true); + } - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isDeleted = (byte) (value ? 1 : 0); - } + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.VFTableInfo __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; } - public bool IsDefaulted + public ulong VBTableIndex { get { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isDefaulted != 0; + return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VBTableIndex; } set { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isDefaulted = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->VBTableIndex = value; } } - public global::CppSharp.Parser.AST.FriendKind FriendKind + public uint VFPtrOffset { get { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->friendKind; + return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VFPtrOffset; } set { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->friendKind = value; + ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->VFPtrOffset = value; } } - public global::CppSharp.Parser.AST.CXXOperatorKind OperatorKind + public uint VFPtrFullOffset { get { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->operatorKind; + return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VFPtrFullOffset; } set { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->operatorKind = value; + ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->VFPtrFullOffset = value; } } - public string Mangled + public global::CppSharp.Parser.AST.VTableLayout Layout { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->mangled)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->layout)); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->mangled), value); + ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->layout = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.VTableLayout.__Internal() : *(global::CppSharp.Parser.AST.VTableLayout.__Internal*) value.__Instance; } } + } - public string Signature - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->signature)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + public unsafe partial class LayoutField : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public partial struct __Internal + { + [FieldOffset(0)] + internal uint offset; - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->signature), value); - } + [FieldOffset(8)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(40)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(56)] + internal global::System.IntPtr fieldPtr; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutFieldC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutFieldC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr other); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutFieldD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); } - public string Body + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.LayoutField __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->body)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + return new global::CppSharp.Parser.AST.LayoutField(native.ToPointer(), skipVTables); + } - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->body), value); - } + internal static global::CppSharp.Parser.AST.LayoutField __CreateInstance(global::CppSharp.Parser.AST.LayoutField.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.LayoutField(native, skipVTables); } - public global::CppSharp.Parser.AST.CallingConvention CallingConvention + private static void* __CopyValue(global::CppSharp.Parser.AST.LayoutField.__Internal native) { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->callingConvention; - } + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); + global::CppSharp.Parser.AST.LayoutField.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->callingConvention = value; - } + private LayoutField(global::CppSharp.Parser.AST.LayoutField.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; } - public global::CppSharp.Parser.AST.FunctionTemplateSpecialization SpecializationInfo + protected LayoutField(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public LayoutField() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public LayoutField(global::CppSharp.Parser.AST.LayoutField other) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(other, null)) + throw new global::System.ArgumentNullException("other", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = other.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.LayoutField __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public uint Offset { get { - global::CppSharp.Parser.AST.FunctionTemplateSpecialization __result0; - if (((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo)) - __result0 = (global::CppSharp.Parser.AST.FunctionTemplateSpecialization) global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap[((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo]; - else __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__CreateInstance(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo); - return __result0; + return ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->offset; } set { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->specializationInfo = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->offset = value; } } - public global::CppSharp.Parser.AST.Function InstantiatedFrom + public string Name { get { - global::CppSharp.Parser.AST.Function __result0; - if (((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom)) - __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom]; - else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom); - return __result0; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->name)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->instantiatedFrom = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->name), value); } } @@ -3773,310 +3689,325 @@ namespace CppSharp { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->qualifiedType)); + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->qualifiedType)); } set { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public uint ParametersCount + public global::System.IntPtr FieldPtr { get { - var __ret = __Internal.GetParametersCount((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->fieldPtr; + } + + set + { + ((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->fieldPtr = (global::System.IntPtr) value; } } } - public unsafe partial class Class : global::CppSharp.Parser.AST.DeclarationContext, IDisposable + public unsafe partial class LayoutBase : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 616)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 16)] + public partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; + internal uint offset; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; + internal global::System.IntPtr _class; - [FieldOffset(16)] - internal global::System.IntPtr _namespace; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10LayoutBaseC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10LayoutBaseC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr other); - [FieldOffset(28)] - internal int lineNumberStart; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10LayoutBaseD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); + } - [FieldOffset(32)] - internal int lineNumberEnd; + public global::System.IntPtr __Instance { get; protected set; } - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; - [FieldOffset(72)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + protected bool __ownsNativeInstance; - [FieldOffset(104)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + internal static global::CppSharp.Parser.AST.LayoutBase __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.LayoutBase(native.ToPointer(), skipVTables); + } - [FieldOffset(136)] - internal byte isIncomplete; + internal static global::CppSharp.Parser.AST.LayoutBase __CreateInstance(global::CppSharp.Parser.AST.LayoutBase.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.LayoutBase(native, skipVTables); + } - [FieldOffset(137)] - internal byte isDependent; + private static void* __CopyValue(global::CppSharp.Parser.AST.LayoutBase.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); + global::CppSharp.Parser.AST.LayoutBase.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(138)] - internal byte isImplicit; + private LayoutBase(global::CppSharp.Parser.AST.LayoutBase.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(139)] - internal byte isInvalid; + protected LayoutBase(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(144)] - internal global::System.IntPtr completeDeclaration; + public LayoutBase() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - [FieldOffset(152)] - internal uint definitionOrder; - - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(184)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - - [FieldOffset(208)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(216)] - internal global::System.IntPtr comment; - - [FieldOffset(224)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; - - [FieldOffset(248)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; - - [FieldOffset(272)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; - - [FieldOffset(296)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; - - [FieldOffset(320)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; - - [FieldOffset(344)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; - - [FieldOffset(368)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; - - [FieldOffset(392)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; - - [FieldOffset(416)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; - - [FieldOffset(440)] - internal global::Std.Map.__Internalc__N_std_S_map____N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + public LayoutBase(global::CppSharp.Parser.AST.LayoutBase other) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(other, null)) + throw new global::System.ArgumentNullException("other", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = other.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(488)] - internal byte isAnonymous; + public void Dispose() + { + Dispose(disposing: true); + } - [FieldOffset(496)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BaseClassSpecifier___N_std_S_allocator__S0_ Bases; + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.LayoutBase __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } - [FieldOffset(520)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Field___N_std_S_allocator__S0_ Fields; + public uint Offset + { + get + { + return ((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->offset; + } - [FieldOffset(544)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_S_allocator__S0_ Methods; + set + { + ((global::CppSharp.Parser.AST.LayoutBase.__Internal*)__Instance)->offset = value; + } + } - [FieldOffset(568)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_AccessSpecifierDecl___N_std_S_allocator__S0_ Specifiers; + public global::CppSharp.Parser.AST.Class Class + { + get + { + global::CppSharp.Parser.AST.Class __result0; + if (((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class)) + __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class]; + else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class); + return __result0; + } - [FieldOffset(592)] - internal byte isPOD; + set + { + ((global::CppSharp.Parser.AST.LayoutBase.__Internal*)__Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } - [FieldOffset(593)] - internal byte isAbstract; + public unsafe partial class ClassLayout : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 136)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.CppAbi ABI; - [FieldOffset(594)] - internal byte isUnion; + [FieldOffset(8)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_VFTableInfo___N_std_S_allocator__S0_ VFTables; - [FieldOffset(595)] - internal byte isDynamic; + [FieldOffset(32)] + internal global::CppSharp.Parser.AST.VTableLayout.__Internal layout; - [FieldOffset(596)] - internal byte isPolymorphic; + [FieldOffset(56)] + internal byte hasOwnVFPtr; - [FieldOffset(597)] - internal byte hasNonTrivialDefaultConstructor; + [FieldOffset(64)] + internal long VBPtrOffset; - [FieldOffset(598)] - internal byte hasNonTrivialCopyConstructor; + [FieldOffset(72)] + internal int alignment; - [FieldOffset(599)] - internal byte hasNonTrivialDestructor; + [FieldOffset(76)] + internal int size; - [FieldOffset(600)] - internal byte isExternCContext; + [FieldOffset(80)] + internal int dataSize; - [FieldOffset(601)] - internal byte isInjected; + [FieldOffset(88)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_LayoutField___N_std_S_allocator__S0_ Fields; - [FieldOffset(608)] - internal global::System.IntPtr layout; + [FieldOffset(112)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_LayoutBase___N_std_S_allocator__S0_ Bases; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5ClassC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayoutC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5ClassC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayoutC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5ClassD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayoutD2Ev")] internal static extern void dtor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class8getBasesEj")] - internal static extern global::System.IntPtr GetBases(global::System.IntPtr instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout11getVFTablesEj")] + internal static extern void GetVFTables(global::System.IntPtr @return, global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class8addBasesERPNS1_18BaseClassSpecifierE")] - internal static extern void AddBases(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout11addVFTablesERNS1_11VFTableInfoE")] + internal static extern void AddVFTables(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class10clearBasesEv")] - internal static extern void ClearBases(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout13clearVFTablesEv")] + internal static extern void ClearVFTables(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class9getFieldsEj")] - internal static extern global::System.IntPtr GetFields(global::System.IntPtr instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout9getFieldsEj")] + internal static extern void GetFields(global::System.IntPtr @return, global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class9addFieldsERPNS1_5FieldE")] + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout9addFieldsERNS1_11LayoutFieldE")] internal static extern void AddFields(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class11clearFieldsEv")] + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout11clearFieldsEv")] internal static extern void ClearFields(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class10getMethodsEj")] - internal static extern global::System.IntPtr GetMethods(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class10addMethodsERPNS1_6MethodE")] - internal static extern void AddMethods(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout8getBasesEj")] + internal static extern void GetBases(global::System.IntPtr @return, global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class12clearMethodsEv")] - internal static extern void ClearMethods(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout8addBasesERNS1_10LayoutBaseE")] + internal static extern void AddBases(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class13getSpecifiersEj")] - internal static extern global::System.IntPtr GetSpecifiers(global::System.IntPtr instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout10clearBasesEv")] + internal static extern void ClearBases(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class13addSpecifiersERPNS1_19AccessSpecifierDeclE")] - internal static extern void AddSpecifiers(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout16getVFTablesCountEv")] + internal static extern uint GetVFTablesCount(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class15clearSpecifiersEv")] - internal static extern void ClearSpecifiers(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout14getFieldsCountEv")] + internal static extern uint GetFieldsCount(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class13getBasesCountEv")] + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout13getBasesCountEv")] internal static extern uint GetBasesCount(global::System.IntPtr instance); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class14getFieldsCountEv")] - internal static extern uint GetFieldsCount(global::System.IntPtr instance); + public global::System.IntPtr __Instance { get; protected set; } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class15getMethodsCountEv")] - internal static extern uint GetMethodsCount(global::System.IntPtr instance); + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class18getSpecifiersCountEv")] - internal static extern uint GetSpecifiersCount(global::System.IntPtr instance); - } + protected bool __ownsNativeInstance; - internal static new global::CppSharp.Parser.AST.Class __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.ClassLayout __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Class(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.ClassLayout(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Class __CreateInstance(global::CppSharp.Parser.AST.Class.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.ClassLayout __CreateInstance(global::CppSharp.Parser.AST.ClassLayout.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Class(native, skipVTables); + return new global::CppSharp.Parser.AST.ClassLayout(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Class.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.ClassLayout.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); - global::CppSharp.Parser.AST.Class.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); + global::CppSharp.Parser.AST.ClassLayout.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Class(global::CppSharp.Parser.AST.Class.__Internal native, bool skipVTables = false) + private ClassLayout(global::CppSharp.Parser.AST.ClassLayout.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Class(void* native, bool skipVTables = false) - : base((void*) null) + protected ClassLayout(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public Class() - : this((void*) null) + public ClassLayout() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public Class(global::CppSharp.Parser.AST.Class _0) - : this((void*) null) + public ClassLayout(global::CppSharp.Parser.AST.ClassLayout _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -4085,11 +4016,16 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.ClassLayout __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -4098,42 +4034,34 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.BaseClassSpecifier GetBases(uint i) + public global::CppSharp.Parser.AST.VFTableInfo GetVFTables(uint i) { - var __ret = __Internal.GetBases((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.BaseClassSpecifier __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.BaseClassSpecifier.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.BaseClassSpecifier) global::CppSharp.Parser.AST.BaseClassSpecifier.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.BaseClassSpecifier.__CreateInstance(__ret); - return __result0; + var __ret = new global::CppSharp.Parser.AST.VFTableInfo.__Internal(); + __Internal.GetVFTables(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); + return global::CppSharp.Parser.AST.VFTableInfo.__CreateInstance(__ret); } - public void AddBases(global::CppSharp.Parser.AST.BaseClassSpecifier s) + public void AddVFTables(global::CppSharp.Parser.AST.VFTableInfo s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddBases((__Instance + __PointerAdjustment), __arg0); + __Internal.AddVFTables((__Instance + __PointerAdjustment), __arg0); } - public void ClearBases() + public void ClearVFTables() { - __Internal.ClearBases((__Instance + __PointerAdjustment)); + __Internal.ClearVFTables((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.Field GetFields(uint i) + public global::CppSharp.Parser.AST.LayoutField GetFields(uint i) { - var __ret = __Internal.GetFields((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Field __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Field.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Field) global::CppSharp.Parser.AST.Field.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Field.__CreateInstance(__ret); - return __result0; + var __ret = new global::CppSharp.Parser.AST.LayoutField.__Internal(); + __Internal.GetFields(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); + return global::CppSharp.Parser.AST.LayoutField.__CreateInstance(__ret); } - public void AddFields(global::CppSharp.Parser.AST.Field s) + public void AddFields(global::CppSharp.Parser.AST.LayoutField s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); @@ -4146,207 +4074,122 @@ namespace CppSharp __Internal.ClearFields((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.Method GetMethods(uint i) - { - var __ret = __Internal.GetMethods((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Method __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Method.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Method) global::CppSharp.Parser.AST.Method.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Method.__CreateInstance(__ret); - return __result0; - } - - public void AddMethods(global::CppSharp.Parser.AST.Method s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddMethods((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearMethods() - { - __Internal.ClearMethods((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.AccessSpecifierDecl GetSpecifiers(uint i) + public global::CppSharp.Parser.AST.LayoutBase GetBases(uint i) { - var __ret = __Internal.GetSpecifiers((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.AccessSpecifierDecl __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.AccessSpecifierDecl.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.AccessSpecifierDecl) global::CppSharp.Parser.AST.AccessSpecifierDecl.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.AccessSpecifierDecl.__CreateInstance(__ret); - return __result0; + var __ret = new global::CppSharp.Parser.AST.LayoutBase.__Internal(); + __Internal.GetBases(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); + return global::CppSharp.Parser.AST.LayoutBase.__CreateInstance(__ret); } - public void AddSpecifiers(global::CppSharp.Parser.AST.AccessSpecifierDecl s) + public void AddBases(global::CppSharp.Parser.AST.LayoutBase s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddSpecifiers((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearSpecifiers() - { - __Internal.ClearSpecifiers((__Instance + __PointerAdjustment)); - } - - public bool IsPOD - { - get - { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isPOD != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isPOD = (byte) (value ? 1 : 0); - } - } - - public bool IsAbstract - { - get - { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isAbstract != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isAbstract = (byte) (value ? 1 : 0); - } - } - - public bool IsUnion - { - get - { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isUnion != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isUnion = (byte) (value ? 1 : 0); - } + __Internal.AddBases((__Instance + __PointerAdjustment), __arg0); } - public bool IsDynamic + public void ClearBases() { - get - { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isDynamic != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isDynamic = (byte) (value ? 1 : 0); - } + __Internal.ClearBases((__Instance + __PointerAdjustment)); } - public bool IsPolymorphic + public global::CppSharp.Parser.AST.CppAbi ABI { get { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isPolymorphic != 0; + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->ABI; } set { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isPolymorphic = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->ABI = value; } } - public bool HasNonTrivialDefaultConstructor + public global::CppSharp.Parser.AST.VTableLayout Layout { get { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->hasNonTrivialDefaultConstructor != 0; + return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->layout)); } set { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->hasNonTrivialDefaultConstructor = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->layout = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.VTableLayout.__Internal() : *(global::CppSharp.Parser.AST.VTableLayout.__Internal*) value.__Instance; } } - public bool HasNonTrivialCopyConstructor + public bool HasOwnVFPtr { get { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->hasNonTrivialCopyConstructor != 0; + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->hasOwnVFPtr != 0; } set { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->hasNonTrivialCopyConstructor = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->hasOwnVFPtr = (byte) (value ? 1 : 0); } } - public bool HasNonTrivialDestructor + public long VBPtrOffset { get { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->hasNonTrivialDestructor != 0; + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->VBPtrOffset; } set { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->hasNonTrivialDestructor = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->VBPtrOffset = value; } } - public bool IsExternCContext + public int Alignment { get { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isExternCContext != 0; + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->alignment; } set { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isExternCContext = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->alignment = value; } } - public bool IsInjected + public int Size { get { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isInjected != 0; + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->size; } set { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isInjected = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->size = value; } } - public global::CppSharp.Parser.AST.ClassLayout Layout + public int DataSize { get { - global::CppSharp.Parser.AST.ClassLayout __result0; - if (((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.ClassLayout.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout)) - __result0 = (global::CppSharp.Parser.AST.ClassLayout) global::CppSharp.Parser.AST.ClassLayout.NativeToManagedMap[((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout]; - else __result0 = global::CppSharp.Parser.AST.ClassLayout.__CreateInstance(((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout); - return __result0; + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->dataSize; } set { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->layout = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->dataSize = value; } } - public uint BasesCount + public uint VFTablesCount { get { - var __ret = __Internal.GetBasesCount((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetVFTablesCount((__Instance + __PointerAdjustment)); return __ret; } } @@ -4360,29 +4203,20 @@ namespace CppSharp } } - public uint MethodsCount - { - get - { - var __ret = __Internal.GetMethodsCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - - public uint SpecifiersCount + public uint BasesCount { get { - var __ret = __Internal.GetSpecifiersCount((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetBasesCount((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class Template : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class Declaration : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 256)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 224)] + public partial struct __Internal { [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; @@ -4444,108 +4278,112 @@ namespace CppSharp [FieldOffset(216)] internal global::System.IntPtr comment; - [FieldOffset(224)] - internal global::System.IntPtr TemplatedDecl; - - [FieldOffset(232)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; - [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateC2ENS1_15DeclarationKindE")] + EntryPoint="_ZN8CppSharp9CppParser3AST11DeclarationC2ENS1_15DeclarationKindE")] internal static extern void ctor(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11DeclarationC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST11DeclarationD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration23getPreprocessedEntitiesEj")] + internal static extern global::System.IntPtr GetPreprocessedEntities(global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Template13getParametersEj")] - internal static extern global::System.IntPtr GetParameters(global::System.IntPtr instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration23addPreprocessedEntitiesERPNS1_18PreprocessedEntityE")] + internal static extern void AddPreprocessedEntities(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Template13addParametersERPNS1_11DeclarationE")] - internal static extern void AddParameters(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration25clearPreprocessedEntitiesEv")] + internal static extern void ClearPreprocessedEntities(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Template15clearParametersEv")] - internal static extern void ClearParameters(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration17getRedeclarationsEj")] + internal static extern global::System.IntPtr GetRedeclarations(global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Template18getParametersCountEv")] - internal static extern uint GetParametersCount(global::System.IntPtr instance); - } + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration17addRedeclarationsERPS2_")] + internal static extern void AddRedeclarations(global::System.IntPtr instance, global::System.IntPtr s); - internal static new global::CppSharp.Parser.AST.Template __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Template(native.ToPointer(), skipVTables); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration19clearRedeclarationsEv")] + internal static extern void ClearRedeclarations(global::System.IntPtr instance); - internal static global::CppSharp.Parser.AST.Template __CreateInstance(global::CppSharp.Parser.AST.Template.__Internal native, bool skipVTables = false) + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration28getPreprocessedEntitiesCountEv")] + internal static extern uint GetPreprocessedEntitiesCount(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration22getRedeclarationsCountEv")] + internal static extern uint GetRedeclarationsCount(global::System.IntPtr instance); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.Declaration __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Template(native, skipVTables); + return new global::CppSharp.Parser.AST.Declaration(native.ToPointer(), skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Template.__Internal native) + internal static global::CppSharp.Parser.AST.Declaration __CreateInstance(global::CppSharp.Parser.AST.Declaration.__Internal native, bool skipVTables = false) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); - global::CppSharp.Parser.AST.Template.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return new global::CppSharp.Parser.AST.Declaration(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.Declaration.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); + global::CppSharp.Parser.AST.Declaration.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Template(global::CppSharp.Parser.AST.Template.__Internal native, bool skipVTables = false) + private Declaration(global::CppSharp.Parser.AST.Declaration.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Template(void* native, bool skipVTables = false) - : base((void*) null) + protected Declaration(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public Template(global::CppSharp.Parser.AST.DeclarationKind kind) - : this((void*) null) + public Declaration(global::CppSharp.Parser.AST.DeclarationKind kind) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment), kind); } - public Template() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } - - public Template(global::CppSharp.Parser.AST.Template _0) - : this((void*) null) + public Declaration(global::CppSharp.Parser.AST.Declaration _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -4554,7 +4392,12 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; @@ -4567,9 +4410,33 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.Declaration GetParameters(uint i) + public global::CppSharp.Parser.AST.PreprocessedEntity GetPreprocessedEntities(uint i) { - var __ret = __Internal.GetParameters((__Instance + __PointerAdjustment), i); + var __ret = __Internal.GetPreprocessedEntities((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.PreprocessedEntity __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.PreprocessedEntity.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.PreprocessedEntity) global::CppSharp.Parser.AST.PreprocessedEntity.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.PreprocessedEntity.__CreateInstance(__ret); + return __result0; + } + + public void AddPreprocessedEntities(global::CppSharp.Parser.AST.PreprocessedEntity s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddPreprocessedEntities((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearPreprocessedEntities() + { + __Internal.ClearPreprocessedEntities((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.Declaration GetRedeclarations(uint i) + { + var __ret = __Internal.GetRedeclarations((__Instance + __PointerAdjustment), i); global::CppSharp.Parser.AST.Declaration __result0; if (__ret == IntPtr.Zero) __result0 = null; else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(__ret)) @@ -4578,207 +4445,304 @@ namespace CppSharp return __result0; } - public void AddParameters(global::CppSharp.Parser.AST.Declaration s) + public void AddRedeclarations(global::CppSharp.Parser.AST.Declaration s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddParameters((__Instance + __PointerAdjustment), __arg0); + __Internal.AddRedeclarations((__Instance + __PointerAdjustment), __arg0); } - public void ClearParameters() + public void ClearRedeclarations() { - __Internal.ClearParameters((__Instance + __PointerAdjustment)); + __Internal.ClearRedeclarations((__Instance + __PointerAdjustment)); } - public static implicit operator global::CppSharp.Parser.AST.Template(global::CppSharp.Parser.AST.DeclarationKind kind) + public static implicit operator global::CppSharp.Parser.AST.Declaration(global::CppSharp.Parser.AST.DeclarationKind kind) { - return new global::CppSharp.Parser.AST.Template(kind); + return new global::CppSharp.Parser.AST.Declaration(kind); } - public global::CppSharp.Parser.AST.Declaration TemplatedDecl + public global::CppSharp.Parser.AST.DeclarationKind Kind { get { - global::CppSharp.Parser.AST.Declaration __result0; - if (((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl); - return __result0; + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->kind; } set { - ((global::CppSharp.Parser.AST.Template.__Internal*)__Instance)->TemplatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->kind = value; } } - public uint ParametersCount + public int MaxFieldAlignment { get { - var __ret = __Internal.GetParametersCount((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->maxFieldAlignment; + } + + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->maxFieldAlignment = value; } } - } - public unsafe partial class TypedefDecl : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 240)] - public new partial struct __Internal + public global::CppSharp.Parser.AST.AccessSpecifier Access { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->access; + } - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->access = value; + } + } - [FieldOffset(28)] - internal int lineNumberStart; + public global::CppSharp.Parser.AST.DeclarationContext Namespace + { + get + { + global::CppSharp.Parser.AST.DeclarationContext __result0; + if (((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.DeclarationContext.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace)) + __result0 = (global::CppSharp.Parser.AST.DeclarationContext) global::CppSharp.Parser.AST.DeclarationContext.NativeToManagedMap[((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace]; + else __result0 = global::CppSharp.Parser.AST.DeclarationContext.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace); + return __result0; + } - [FieldOffset(32)] - internal int lineNumberEnd; + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->_namespace = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + public global::CppSharp.Parser.SourceLocation Location + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->location); + } - [FieldOffset(72)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->location = value.__Instance; + } + } - [FieldOffset(104)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + public int LineNumberStart + { + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->lineNumberStart; + } - [FieldOffset(136)] - internal byte isIncomplete; + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->lineNumberStart = value; + } + } - [FieldOffset(137)] - internal byte isDependent; + public int LineNumberEnd + { + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->lineNumberEnd; + } - [FieldOffset(138)] - internal byte isImplicit; + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->lineNumberEnd = value; + } + } - [FieldOffset(139)] - internal byte isInvalid; + public string Name + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->name)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } - [FieldOffset(144)] - internal global::System.IntPtr completeDeclaration; + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->name), value); + } + } - [FieldOffset(152)] - internal uint definitionOrder; + public string USR + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->USR)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->USR), value); + } + } - [FieldOffset(184)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - - [FieldOffset(208)] - internal global::System.IntPtr originalPtr; + public string DebugText + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->debugText)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } - [FieldOffset(216)] - internal global::System.IntPtr comment; + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->debugText), value); + } + } - [FieldOffset(224)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + public bool IsIncomplete + { + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isIncomplete != 0; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefDeclC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isIncomplete = (byte) (value ? 1 : 0); + } + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefDeclC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + public bool IsDependent + { + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isDependent != 0; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefDeclD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isDependent = (byte) (value ? 1 : 0); + } } - internal static new global::CppSharp.Parser.AST.TypedefDecl __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public bool IsImplicit { - return new global::CppSharp.Parser.AST.TypedefDecl(native.ToPointer(), skipVTables); + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isImplicit != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isImplicit = (byte) (value ? 1 : 0); + } } - internal static global::CppSharp.Parser.AST.TypedefDecl __CreateInstance(global::CppSharp.Parser.AST.TypedefDecl.__Internal native, bool skipVTables = false) + public bool IsInvalid { - return new global::CppSharp.Parser.AST.TypedefDecl(native, skipVTables); + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isInvalid != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isInvalid = (byte) (value ? 1 : 0); + } } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefDecl.__Internal native) + public global::CppSharp.Parser.AST.Declaration CompleteDeclaration { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); - global::CppSharp.Parser.AST.TypedefDecl.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); + get + { + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->completeDeclaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } } - private TypedefDecl(global::CppSharp.Parser.AST.TypedefDecl.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) + public uint DefinitionOrder { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->definitionOrder; + } + + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->definitionOrder = value; + } } - protected TypedefDecl(void* native, bool skipVTables = false) - : base((void*) null) + public global::System.IntPtr OriginalPtr { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->originalPtr; + } + + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->originalPtr = (global::System.IntPtr) value; + } } - public TypedefDecl() - : this((void*) null) + public global::CppSharp.Parser.AST.RawComment Comment { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + get + { + global::CppSharp.Parser.AST.RawComment __result0; + if (((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.RawComment.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment)) + __result0 = (global::CppSharp.Parser.AST.RawComment) global::CppSharp.Parser.AST.RawComment.NativeToManagedMap[((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment]; + else __result0 = global::CppSharp.Parser.AST.RawComment.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->comment = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } } - public TypedefDecl(global::CppSharp.Parser.AST.TypedefDecl _0) - : this((void*) null) + public uint PreprocessedEntitiesCount { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + get + { + var __ret = __Internal.GetPreprocessedEntitiesCount((__Instance + __PointerAdjustment)); + return __ret; + } } - public override void Dispose(bool disposing) + public uint RedeclarationsCount { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; + get + { + var __ret = __Internal.GetRedeclarationsCount((__Instance + __PointerAdjustment)); + return __ret; + } } } - public unsafe partial class TypedefNameDecl : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class DeclarationContext : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 240)] + [StructLayout(LayoutKind.Explicit, Size = 496)] public new partial struct __Internal { [FieldOffset(0)] @@ -4842,222 +4806,259 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(224)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; + + [FieldOffset(248)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; + + [FieldOffset(272)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; + + [FieldOffset(296)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; + + [FieldOffset(320)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; + + [FieldOffset(344)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; + + [FieldOffset(368)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; + + [FieldOffset(392)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; + + [FieldOffset(416)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; + + [FieldOffset(440)] + internal global::Std.Map.__Internalc__N_std_S_map____N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + + [FieldOffset(488)] + internal byte isAnonymous; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TypedefNameDeclC2ENS1_15DeclarationKindE")] + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContextC2ENS1_15DeclarationKindE")] internal static extern void ctor(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TypedefNameDeclC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContextC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TypedefNameDeclD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContextD2Ev")] internal static extern void dtor(global::System.IntPtr instance); - } - - internal static new global::CppSharp.Parser.AST.TypedefNameDecl __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.TypedefNameDecl(native.ToPointer(), skipVTables); - } - internal static global::CppSharp.Parser.AST.TypedefNameDecl __CreateInstance(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.TypedefNameDecl(native, skipVTables); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext13getNamespacesEj")] + internal static extern global::System.IntPtr GetNamespaces(global::System.IntPtr instance, uint i); - private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); - global::CppSharp.Parser.AST.TypedefNameDecl.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext13addNamespacesERPNS1_9NamespaceE")] + internal static extern void AddNamespaces(global::System.IntPtr instance, global::System.IntPtr s); - private TypedefNameDecl(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext15clearNamespacesEv")] + internal static extern void ClearNamespaces(global::System.IntPtr instance); - protected TypedefNameDecl(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext8getEnumsEj")] + internal static extern global::System.IntPtr GetEnums(global::System.IntPtr instance, uint i); - public TypedefNameDecl(global::CppSharp.Parser.AST.DeclarationKind kind) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), kind); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext8addEnumsERPNS1_11EnumerationE")] + internal static extern void AddEnums(global::System.IntPtr instance, global::System.IntPtr s); - public TypedefNameDecl(global::CppSharp.Parser.AST.TypedefNameDecl _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10clearEnumsEv")] + internal static extern void ClearEnums(global::System.IntPtr instance); - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12getFunctionsEj")] + internal static extern global::System.IntPtr GetFunctions(global::System.IntPtr instance, uint i); - public static implicit operator global::CppSharp.Parser.AST.TypedefNameDecl(global::CppSharp.Parser.AST.DeclarationKind kind) - { - return new global::CppSharp.Parser.AST.TypedefNameDecl(kind); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12addFunctionsERPNS1_8FunctionE")] + internal static extern void AddFunctions(global::System.IntPtr instance, global::System.IntPtr s); - public global::CppSharp.Parser.AST.QualifiedType QualifiedType - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TypedefNameDecl.__Internal*) __Instance)->qualifiedType)); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14clearFunctionsEv")] + internal static extern void ClearFunctions(global::System.IntPtr instance); - set - { - ((global::CppSharp.Parser.AST.TypedefNameDecl.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } - } - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10getClassesEj")] + internal static extern global::System.IntPtr GetClasses(global::System.IntPtr instance, uint i); - public unsafe partial class TypeAlias : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 248)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10addClassesERPNS1_5ClassE")] + internal static extern void AddClasses(global::System.IntPtr instance, global::System.IntPtr s); - [FieldOffset(4)] - internal int maxFieldAlignment; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12clearClassesEv")] + internal static extern void ClearClasses(global::System.IntPtr instance); - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12getTemplatesEj")] + internal static extern global::System.IntPtr GetTemplates(global::System.IntPtr instance, uint i); - [FieldOffset(16)] - internal global::System.IntPtr _namespace; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12addTemplatesERPNS1_8TemplateE")] + internal static extern void AddTemplates(global::System.IntPtr instance, global::System.IntPtr s); - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14clearTemplatesEv")] + internal static extern void ClearTemplates(global::System.IntPtr instance); - [FieldOffset(28)] - internal int lineNumberStart; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext11getTypedefsEj")] + internal static extern global::System.IntPtr GetTypedefs(global::System.IntPtr instance, uint i); - [FieldOffset(32)] - internal int lineNumberEnd; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext11addTypedefsERPNS1_11TypedefDeclE")] + internal static extern void AddTypedefs(global::System.IntPtr instance, global::System.IntPtr s); - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext13clearTypedefsEv")] + internal static extern void ClearTypedefs(global::System.IntPtr instance); - [FieldOffset(72)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14getTypeAliasesEj")] + internal static extern global::System.IntPtr GetTypeAliases(global::System.IntPtr instance, uint i); - [FieldOffset(104)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14addTypeAliasesERPNS1_9TypeAliasE")] + internal static extern void AddTypeAliases(global::System.IntPtr instance, global::System.IntPtr s); - [FieldOffset(136)] - internal byte isIncomplete; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext16clearTypeAliasesEv")] + internal static extern void ClearTypeAliases(global::System.IntPtr instance); - [FieldOffset(137)] - internal byte isDependent; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12getVariablesEj")] + internal static extern global::System.IntPtr GetVariables(global::System.IntPtr instance, uint i); - [FieldOffset(138)] - internal byte isImplicit; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12addVariablesERPNS1_8VariableE")] + internal static extern void AddVariables(global::System.IntPtr instance, global::System.IntPtr s); - [FieldOffset(139)] - internal byte isInvalid; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14clearVariablesEv")] + internal static extern void ClearVariables(global::System.IntPtr instance); - [FieldOffset(144)] - internal global::System.IntPtr completeDeclaration; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10getFriendsEj")] + internal static extern global::System.IntPtr GetFriends(global::System.IntPtr instance, uint i); - [FieldOffset(152)] - internal uint definitionOrder; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10addFriendsERPNS1_6FriendE")] + internal static extern void AddFriends(global::System.IntPtr instance, global::System.IntPtr s); - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12clearFriendsEv")] + internal static extern void ClearFriends(global::System.IntPtr instance); - [FieldOffset(184)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext18getNamespacesCountEv")] + internal static extern uint GetNamespacesCount(global::System.IntPtr instance); - [FieldOffset(208)] - internal global::System.IntPtr originalPtr; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext13getEnumsCountEv")] + internal static extern uint GetEnumsCount(global::System.IntPtr instance); - [FieldOffset(216)] - internal global::System.IntPtr comment; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext17getFunctionsCountEv")] + internal static extern uint GetFunctionsCount(global::System.IntPtr instance); - [FieldOffset(224)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext15getClassesCountEv")] + internal static extern uint GetClassesCount(global::System.IntPtr instance); - [FieldOffset(240)] - internal global::System.IntPtr describedAliasTemplate; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext17getTemplatesCountEv")] + internal static extern uint GetTemplatesCount(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9TypeAliasC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext16getTypedefsCountEv")] + internal static extern uint GetTypedefsCount(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9TypeAliasC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext19getTypeAliasesCountEv")] + internal static extern uint GetTypeAliasesCount(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9TypeAliasD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext17getVariablesCountEv")] + internal static extern uint GetVariablesCount(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext15getFriendsCountEv")] + internal static extern uint GetFriendsCount(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.TypeAlias __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.DeclarationContext __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypeAlias(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.DeclarationContext(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TypeAlias __CreateInstance(global::CppSharp.Parser.AST.TypeAlias.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.DeclarationContext __CreateInstance(global::CppSharp.Parser.AST.DeclarationContext.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypeAlias(native, skipVTables); + return new global::CppSharp.Parser.AST.DeclarationContext(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypeAlias.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.DeclarationContext.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); - global::CppSharp.Parser.AST.TypeAlias.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal)); + global::CppSharp.Parser.AST.DeclarationContext.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TypeAlias(global::CppSharp.Parser.AST.TypeAlias.__Internal native, bool skipVTables = false) + private DeclarationContext(global::CppSharp.Parser.AST.DeclarationContext.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TypeAlias(void* native, bool skipVTables = false) + protected DeclarationContext(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -5066,19 +5067,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TypeAlias() + public DeclarationContext(global::CppSharp.Parser.AST.DeclarationKind kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + __Internal.ctor((__Instance + __PointerAdjustment), kind); } - public TypeAlias(global::CppSharp.Parser.AST.TypeAlias _0) + public DeclarationContext(global::CppSharp.Parser.AST.DeclarationContext _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -5100,184 +5101,326 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.TypeAliasTemplate DescribedAliasTemplate + public global::CppSharp.Parser.AST.Namespace GetNamespaces(uint i) { - get - { - global::CppSharp.Parser.AST.TypeAliasTemplate __result0; - if (((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TypeAliasTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate)) - __result0 = (global::CppSharp.Parser.AST.TypeAliasTemplate) global::CppSharp.Parser.AST.TypeAliasTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate]; - else __result0 = global::CppSharp.Parser.AST.TypeAliasTemplate.__CreateInstance(((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.TypeAlias.__Internal*)__Instance)->describedAliasTemplate = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + var __ret = __Internal.GetNamespaces((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Namespace __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Namespace.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Namespace) global::CppSharp.Parser.AST.Namespace.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Namespace.__CreateInstance(__ret); + return __result0; } - } - public unsafe partial class TypeAliasTemplate : global::CppSharp.Parser.AST.Template, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 256)] - public new partial struct __Internal + public void AddNamespaces(global::CppSharp.Parser.AST.Namespace s) { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; - - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; - - [FieldOffset(32)] - internal int lineNumberEnd; - - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - - [FieldOffset(72)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - - [FieldOffset(104)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - - [FieldOffset(136)] - internal byte isIncomplete; - - [FieldOffset(137)] - internal byte isDependent; - - [FieldOffset(138)] - internal byte isImplicit; - - [FieldOffset(139)] - internal byte isInvalid; - - [FieldOffset(144)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(152)] - internal uint definitionOrder; - - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddNamespaces((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(184)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + public void ClearNamespaces() + { + __Internal.ClearNamespaces((__Instance + __PointerAdjustment)); + } - [FieldOffset(208)] - internal global::System.IntPtr originalPtr; + public global::CppSharp.Parser.AST.Enumeration GetEnums(uint i) + { + var __ret = __Internal.GetEnums((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Enumeration __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Enumeration.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Enumeration) global::CppSharp.Parser.AST.Enumeration.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Enumeration.__CreateInstance(__ret); + return __result0; + } - [FieldOffset(216)] - internal global::System.IntPtr comment; + public void AddEnums(global::CppSharp.Parser.AST.Enumeration s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddEnums((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(224)] - internal global::System.IntPtr TemplatedDecl; + public void ClearEnums() + { + __Internal.ClearEnums((__Instance + __PointerAdjustment)); + } - [FieldOffset(232)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; + public global::CppSharp.Parser.AST.Function GetFunctions(uint i) + { + var __ret = __Internal.GetFunctions((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Function __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(__ret); + return __result0; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17TypeAliasTemplateC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); + public void AddFunctions(global::CppSharp.Parser.AST.Function s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddFunctions((__Instance + __PointerAdjustment), __arg0); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17TypeAliasTemplateC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + public void ClearFunctions() + { + __Internal.ClearFunctions((__Instance + __PointerAdjustment)); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17TypeAliasTemplateD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); + public global::CppSharp.Parser.AST.Class GetClasses(uint i) + { + var __ret = __Internal.GetClasses((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Class __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(__ret); + return __result0; } - internal static new global::CppSharp.Parser.AST.TypeAliasTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public void AddClasses(global::CppSharp.Parser.AST.Class s) { - return new global::CppSharp.Parser.AST.TypeAliasTemplate(native.ToPointer(), skipVTables); + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddClasses((__Instance + __PointerAdjustment), __arg0); } - internal static global::CppSharp.Parser.AST.TypeAliasTemplate __CreateInstance(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native, bool skipVTables = false) + public void ClearClasses() { - return new global::CppSharp.Parser.AST.TypeAliasTemplate(native, skipVTables); + __Internal.ClearClasses((__Instance + __PointerAdjustment)); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native) + public global::CppSharp.Parser.AST.Template GetTemplates(uint i) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); - global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); + var __ret = __Internal.GetTemplates((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Template __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Template.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Template) global::CppSharp.Parser.AST.Template.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Template.__CreateInstance(__ret); + return __result0; } - private TypeAliasTemplate(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) + public void AddTemplates(global::CppSharp.Parser.AST.Template s) { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddTemplates((__Instance + __PointerAdjustment), __arg0); } - protected TypeAliasTemplate(void* native, bool skipVTables = false) - : base((void*) null) + public void ClearTemplates() { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); + __Internal.ClearTemplates((__Instance + __PointerAdjustment)); } - public TypeAliasTemplate() - : this((void*) null) + public global::CppSharp.Parser.AST.TypedefDecl GetTypedefs(uint i) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetTypedefs((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.TypedefDecl __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TypedefDecl.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.TypedefDecl) global::CppSharp.Parser.AST.TypedefDecl.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.TypedefDecl.__CreateInstance(__ret); + return __result0; } - public TypeAliasTemplate(global::CppSharp.Parser.AST.TypeAliasTemplate _0) - : this((void*) null) + public void AddTypedefs(global::CppSharp.Parser.AST.TypedefDecl s) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddTypedefs((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void ClearTypedefs() { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; + __Internal.ClearTypedefs((__Instance + __PointerAdjustment)); } - } - public unsafe partial class Variable : global::CppSharp.Parser.AST.Declaration, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 272)] - public new partial struct __Internal + public global::CppSharp.Parser.AST.TypeAlias GetTypeAliases(uint i) + { + var __ret = __Internal.GetTypeAliases((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.TypeAlias __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TypeAlias.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.TypeAlias) global::CppSharp.Parser.AST.TypeAlias.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.TypeAlias.__CreateInstance(__ret); + return __result0; + } + + public void AddTypeAliases(global::CppSharp.Parser.AST.TypeAlias s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddTypeAliases((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearTypeAliases() + { + __Internal.ClearTypeAliases((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.Variable GetVariables(uint i) + { + var __ret = __Internal.GetVariables((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Variable __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Variable.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Variable) global::CppSharp.Parser.AST.Variable.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Variable.__CreateInstance(__ret); + return __result0; + } + + public void AddVariables(global::CppSharp.Parser.AST.Variable s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddVariables((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearVariables() + { + __Internal.ClearVariables((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.Friend GetFriends(uint i) + { + var __ret = __Internal.GetFriends((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Friend __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Friend.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Friend) global::CppSharp.Parser.AST.Friend.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Friend.__CreateInstance(__ret); + return __result0; + } + + public void AddFriends(global::CppSharp.Parser.AST.Friend s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddFriends((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearFriends() + { + __Internal.ClearFriends((__Instance + __PointerAdjustment)); + } + + public static implicit operator global::CppSharp.Parser.AST.DeclarationContext(global::CppSharp.Parser.AST.DeclarationKind kind) + { + return new global::CppSharp.Parser.AST.DeclarationContext(kind); + } + + public bool IsAnonymous + { + get + { + return ((global::CppSharp.Parser.AST.DeclarationContext.__Internal*) __Instance)->isAnonymous != 0; + } + + set + { + ((global::CppSharp.Parser.AST.DeclarationContext.__Internal*)__Instance)->isAnonymous = (byte) (value ? 1 : 0); + } + } + + public uint NamespacesCount + { + get + { + var __ret = __Internal.GetNamespacesCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + + public uint EnumsCount + { + get + { + var __ret = __Internal.GetEnumsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + + public uint FunctionsCount + { + get + { + var __ret = __Internal.GetFunctionsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + + public uint ClassesCount + { + get + { + var __ret = __Internal.GetClassesCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + + public uint TemplatesCount + { + get + { + var __ret = __Internal.GetTemplatesCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + + public uint TypedefsCount + { + get + { + var __ret = __Internal.GetTypedefsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + + public uint TypeAliasesCount + { + get + { + var __ret = __Internal.GetTypeAliasesCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + + public uint VariablesCount + { + get + { + var __ret = __Internal.GetVariablesCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + + public uint FriendsCount + { + get + { + var __ret = __Internal.GetFriendsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } + + public unsafe partial class TypedefNameDecl : global::CppSharp.Parser.AST.Declaration, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 240)] + public new partial struct __Internal { [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; @@ -5340,52 +5483,49 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(224)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C mangled; - - [FieldOffset(256)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8VariableC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST15TypedefNameDeclC2ENS1_15DeclarationKindE")] + internal static extern void ctor(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8VariableC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST15TypedefNameDeclC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8VariableD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST15TypedefNameDeclD2Ev")] internal static extern void dtor(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.Variable __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TypedefNameDecl __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Variable(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TypedefNameDecl(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Variable __CreateInstance(global::CppSharp.Parser.AST.Variable.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TypedefNameDecl __CreateInstance(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Variable(native, skipVTables); + return new global::CppSharp.Parser.AST.TypedefNameDecl(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Variable.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); - global::CppSharp.Parser.AST.Variable.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); + global::CppSharp.Parser.AST.TypedefNameDecl.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Variable(global::CppSharp.Parser.AST.Variable.__Internal native, bool skipVTables = false) + private TypedefNameDecl(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Variable(void* native, bool skipVTables = false) + protected TypedefNameDecl(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -5394,19 +5534,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Variable() + public TypedefNameDecl(global::CppSharp.Parser.AST.DeclarationKind kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + __Internal.ctor((__Instance + __PointerAdjustment), kind); } - public Variable(global::CppSharp.Parser.AST.Variable _0) + public TypedefNameDecl(global::CppSharp.Parser.AST.TypedefNameDecl _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -5428,39 +5568,28 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public string Mangled + public static implicit operator global::CppSharp.Parser.AST.TypedefNameDecl(global::CppSharp.Parser.AST.DeclarationKind kind) { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Variable.__Internal*) __Instance)->mangled)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Variable.__Internal*)__Instance)->mangled), value); - } + return new global::CppSharp.Parser.AST.TypedefNameDecl(kind); } public global::CppSharp.Parser.AST.QualifiedType QualifiedType { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Variable.__Internal*) __Instance)->qualifiedType)); + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TypedefNameDecl.__Internal*) __Instance)->qualifiedType)); } set { - ((global::CppSharp.Parser.AST.Variable.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.TypedefNameDecl.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } } - public unsafe partial class Friend : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class TypedefDecl : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 232)] + [StructLayout(LayoutKind.Explicit, Size = 240)] public new partial struct __Internal { [FieldOffset(0)] @@ -5524,49 +5653,49 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(224)] - internal global::System.IntPtr declaration; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6FriendC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefDeclC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6FriendC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefDeclC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6FriendD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefDeclD2Ev")] internal static extern void dtor(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.Friend __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TypedefDecl __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Friend(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TypedefDecl(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Friend __CreateInstance(global::CppSharp.Parser.AST.Friend.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TypedefDecl __CreateInstance(global::CppSharp.Parser.AST.TypedefDecl.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Friend(native, skipVTables); + return new global::CppSharp.Parser.AST.TypedefDecl(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Friend.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefDecl.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); - global::CppSharp.Parser.AST.Friend.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); + global::CppSharp.Parser.AST.TypedefDecl.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Friend(global::CppSharp.Parser.AST.Friend.__Internal native, bool skipVTables = false) + private TypedefDecl(global::CppSharp.Parser.AST.TypedefDecl.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Friend(void* native, bool skipVTables = false) + protected TypedefDecl(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -5575,19 +5704,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Friend() + public TypedefDecl() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public Friend(global::CppSharp.Parser.AST.Friend _0) + public TypedefDecl(global::CppSharp.Parser.AST.TypedefDecl _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -5608,186 +5737,184 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - - public global::CppSharp.Parser.AST.Declaration Declaration - { - get - { - global::CppSharp.Parser.AST.Declaration __result0; - if (((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.Friend.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } } - public unsafe partial class BaseClassSpecifier : IDisposable + public unsafe partial class TypeAlias : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 24)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 248)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal byte isVirtual; + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::System.IntPtr type; + internal global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(16)] - internal int offset; + internal global::System.IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(72)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(136)] + internal byte isIncomplete; + + [FieldOffset(137)] + internal byte isDependent; + + [FieldOffset(138)] + internal byte isImplicit; + + [FieldOffset(139)] + internal byte isInvalid; + + [FieldOffset(144)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(152)] + internal uint definitionOrder; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(184)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(208)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(216)] + internal global::System.IntPtr comment; + + [FieldOffset(224)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(240)] + internal global::System.IntPtr describedAliasTemplate; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18BaseClassSpecifierC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST9TypeAliasC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18BaseClassSpecifierC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST9TypeAliasC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - } - - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; - protected bool __ownsNativeInstance; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9TypeAliasD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); + } - internal static global::CppSharp.Parser.AST.BaseClassSpecifier __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TypeAlias __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.BaseClassSpecifier(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TypeAlias(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.BaseClassSpecifier __CreateInstance(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TypeAlias __CreateInstance(global::CppSharp.Parser.AST.TypeAlias.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.BaseClassSpecifier(native, skipVTables); + return new global::CppSharp.Parser.AST.TypeAlias(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TypeAlias.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); - *(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) ret = native; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); + global::CppSharp.Parser.AST.TypeAlias.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private BaseClassSpecifier(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native, bool skipVTables = false) + private TypeAlias(global::CppSharp.Parser.AST.TypeAlias.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected BaseClassSpecifier(void* native, bool skipVTables = false) + protected TypeAlias(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public BaseClassSpecifier() + public TypeAlias() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public BaseClassSpecifier(global::CppSharp.Parser.AST.BaseClassSpecifier _0) + public TypeAlias(global::CppSharp.Parser.AST.TypeAlias _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) _0.__Instance); - } - - public void Dispose() - { - Dispose(disposing: true); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.BaseClassSpecifier __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.AccessSpecifier Access - { - get - { - return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->access; - } - - set - { - ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->access = value; - } - } - - public bool IsVirtual - { - get - { - return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->isVirtual != 0; - } - - set - { - ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->isVirtual = (byte) (value ? 1 : 0); - } - } - - public global::CppSharp.Parser.AST.Type Type + public global::CppSharp.Parser.AST.TypeAliasTemplate DescribedAliasTemplate { get { - global::CppSharp.Parser.AST.Type __result0; - if (((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type)) - __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type]; - else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type); + global::CppSharp.Parser.AST.TypeAliasTemplate __result0; + if (((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TypeAliasTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate)) + __result0 = (global::CppSharp.Parser.AST.TypeAliasTemplate) global::CppSharp.Parser.AST.TypeAliasTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate]; + else __result0 = global::CppSharp.Parser.AST.TypeAliasTemplate.__CreateInstance(((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate); return __result0; } set { - ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } - - public int Offset - { - get - { - return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->offset; - } - - set - { - ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->offset = value; + ((global::CppSharp.Parser.AST.TypeAlias.__Internal*)__Instance)->describedAliasTemplate = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } - public unsafe partial class Field : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class Friend : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 256)] + [StructLayout(LayoutKind.Explicit, Size = 232)] public new partial struct __Internal { [FieldOffset(0)] @@ -5851,58 +5978,49 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(224)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - - [FieldOffset(240)] - internal global::System.IntPtr _class; - - [FieldOffset(248)] - internal byte isBitField; - - [FieldOffset(252)] - internal uint bitWidth; + internal global::System.IntPtr declaration; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5FieldC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST6FriendC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5FieldC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST6FriendC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5FieldD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST6FriendD2Ev")] internal static extern void dtor(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.Field __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Friend __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Field(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Friend(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Field __CreateInstance(global::CppSharp.Parser.AST.Field.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Friend __CreateInstance(global::CppSharp.Parser.AST.Friend.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Field(native, skipVTables); + return new global::CppSharp.Parser.AST.Friend(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Field.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Friend.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); - global::CppSharp.Parser.AST.Field.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); + global::CppSharp.Parser.AST.Friend.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Field(global::CppSharp.Parser.AST.Field.__Internal native, bool skipVTables = false) + private Friend(global::CppSharp.Parser.AST.Friend.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Field(void* native, bool skipVTables = false) + protected Friend(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -5911,19 +6029,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Field() + public Friend() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public Field(global::CppSharp.Parser.AST.Field _0) + public Friend(global::CppSharp.Parser.AST.Friend _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -5945,313 +6063,351 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.QualifiedType QualifiedType + public global::CppSharp.Parser.AST.Declaration Declaration { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->qualifiedType)); + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration); + return __result0; } set { - ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.Friend.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } + } - public global::CppSharp.Parser.AST.Class Class + public unsafe partial class Statement : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StatementClass _class; + + [FieldOffset(8)] + internal global::System.IntPtr decl; + + [FieldOffset(16)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9StatementC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS1_14StatementClassEPNS1_11DeclarationE")] + internal static extern void ctor(global::System.IntPtr instance, global::System.IntPtr str, global::CppSharp.Parser.AST.StatementClass Class, global::System.IntPtr decl); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9StatementC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9StatementD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.Statement __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Statement(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.Statement __CreateInstance(global::CppSharp.Parser.AST.Statement.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Statement(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.Statement.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Statement.__Internal)); + global::CppSharp.Parser.AST.Statement.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private Statement(global::CppSharp.Parser.AST.Statement.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Statement(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public Statement(string str, global::CppSharp.Parser.AST.StatementClass Class, global::CppSharp.Parser.AST.Declaration decl) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Statement.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, str); + var __arg0 = __basicString0.__Instance; + var __arg2 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; + __Internal.ctor((__Instance + __PointerAdjustment), __arg0, Class, __arg2); + __basicString0.Dispose(false); + } + + public Statement(global::CppSharp.Parser.AST.Statement _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Statement.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Statement __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.StatementClass Class { get { - global::CppSharp.Parser.AST.Class __result0; - if (((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class)) - __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class]; - else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class); - return __result0; + return ((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->_class; } set { - ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.Statement.__Internal*)__Instance)->_class = value; } } - public bool IsBitField + public global::CppSharp.Parser.AST.Declaration Decl { get { - return ((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->isBitField != 0; + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->decl == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->decl)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->decl]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->decl); + return __result0; } set { - ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->isBitField = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Statement.__Internal*)__Instance)->decl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public uint BitWidth + public string String { get { - return ((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->bitWidth; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->@string)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->bitWidth = value; + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Statement.__Internal*)__Instance)->@string), value); } } } - public unsafe partial class Method : global::CppSharp.Parser.AST.Function, IDisposable + public unsafe partial class Expression : global::CppSharp.Parser.AST.Statement, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 752)] + [StructLayout(LayoutKind.Explicit, Size = 48)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; + internal global::CppSharp.Parser.AST.StatementClass _class; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; + internal global::System.IntPtr decl; [FieldOffset(16)] - internal global::System.IntPtr _namespace; - - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; - - [FieldOffset(32)] - internal int lineNumberEnd; + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10ExpressionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS1_14StatementClassEPNS1_11DeclarationE")] + internal static extern void ctor(global::System.IntPtr instance, global::System.IntPtr str, global::CppSharp.Parser.AST.StatementClass Class, global::System.IntPtr decl); - [FieldOffset(72)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10ExpressionC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - [FieldOffset(104)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10ExpressionD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); + } - [FieldOffset(136)] - internal byte isIncomplete; + internal static new global::CppSharp.Parser.AST.Expression __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Expression(native.ToPointer(), skipVTables); + } - [FieldOffset(137)] - internal byte isDependent; + internal static global::CppSharp.Parser.AST.Expression __CreateInstance(global::CppSharp.Parser.AST.Expression.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Expression(native, skipVTables); + } - [FieldOffset(138)] - internal byte isImplicit; + private static void* __CopyValue(global::CppSharp.Parser.AST.Expression.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expression.__Internal)); + global::CppSharp.Parser.AST.Expression.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(139)] - internal byte isInvalid; + private Expression(global::CppSharp.Parser.AST.Expression.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(144)] - internal global::System.IntPtr completeDeclaration; + protected Expression(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(152)] - internal uint definitionOrder; + public Expression(string str, global::CppSharp.Parser.AST.StatementClass Class, global::CppSharp.Parser.AST.Declaration decl) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expression.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, str); + var __arg0 = __basicString0.__Instance; + var __arg2 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; + __Internal.ctor((__Instance + __PointerAdjustment), __arg0, Class, __arg2); + __basicString0.Dispose(false); + } - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(184)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - - [FieldOffset(208)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(216)] - internal global::System.IntPtr comment; - - [FieldOffset(224)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; - - [FieldOffset(248)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; - - [FieldOffset(272)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; - - [FieldOffset(296)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; - - [FieldOffset(320)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; - - [FieldOffset(344)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; - - [FieldOffset(368)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; - - [FieldOffset(392)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; - - [FieldOffset(416)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; - - [FieldOffset(440)] - internal global::Std.Map.__Internalc__N_std_S_map____N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; - - [FieldOffset(488)] - internal byte isAnonymous; - - [FieldOffset(496)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; - - [FieldOffset(512)] - internal byte isReturnIndirect; - - [FieldOffset(513)] - internal byte hasThisReturn; - - [FieldOffset(514)] - internal byte isConstExpr; - - [FieldOffset(515)] - internal byte isVariadic; - - [FieldOffset(516)] - internal byte isInline; - - [FieldOffset(517)] - internal byte isPure; - - [FieldOffset(518)] - internal byte isDeleted; - - [FieldOffset(519)] - internal byte isDefaulted; - - [FieldOffset(520)] - internal global::CppSharp.Parser.AST.FriendKind friendKind; - - [FieldOffset(524)] - internal global::CppSharp.Parser.AST.CXXOperatorKind operatorKind; - - [FieldOffset(528)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C mangled; - - [FieldOffset(560)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C signature; - - [FieldOffset(592)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C body; - - [FieldOffset(624)] - internal global::CppSharp.Parser.AST.CallingConvention callingConvention; - - [FieldOffset(632)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_S_allocator__S0_ Parameters; - - [FieldOffset(656)] - internal global::System.IntPtr specializationInfo; - - [FieldOffset(664)] - internal global::System.IntPtr instantiatedFrom; - - [FieldOffset(672)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - - [FieldOffset(688)] - internal byte isVirtual; - - [FieldOffset(689)] - internal byte isStatic; - - [FieldOffset(690)] - internal byte isConst; - - [FieldOffset(691)] - internal byte isExplicit; + public Expression(global::CppSharp.Parser.AST.Expression _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expression.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(692)] - internal global::CppSharp.Parser.AST.CXXMethodKind methodKind; + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Statement __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + } - [FieldOffset(696)] - internal byte isDefaultConstructor; + public unsafe partial class BinaryOperator : global::CppSharp.Parser.AST.Expression, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 96)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StatementClass _class; - [FieldOffset(697)] - internal byte isCopyConstructor; + [FieldOffset(8)] + internal global::System.IntPtr decl; - [FieldOffset(698)] - internal byte isMoveConstructor; + [FieldOffset(16)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; - [FieldOffset(704)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal conversionType; + [FieldOffset(48)] + internal global::System.IntPtr LHS; - [FieldOffset(720)] - internal global::CppSharp.Parser.AST.RefQualifierKind refQualifier; + [FieldOffset(56)] + internal global::System.IntPtr RHS; - [FieldOffset(728)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_S_allocator__S0_ OverriddenMethods; + [FieldOffset(64)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C opcodeStr; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6MethodC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST14BinaryOperatorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPNS1_10ExpressionESC_SA_")] + internal static extern void ctor(global::System.IntPtr instance, global::System.IntPtr str, global::System.IntPtr lhs, global::System.IntPtr rhs, global::System.IntPtr opcodeStr); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6MethodC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST14BinaryOperatorC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6MethodD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST14BinaryOperatorD2Ev")] internal static extern void dtor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6Method20getOverriddenMethodsEj")] - internal static extern global::System.IntPtr GetOverriddenMethods(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6Method20addOverriddenMethodsERPS2_")] - internal static extern void AddOverriddenMethods(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6Method22clearOverriddenMethodsEv")] - internal static extern void ClearOverriddenMethods(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6Method25getOverriddenMethodsCountEv")] - internal static extern uint GetOverriddenMethodsCount(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.Method __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.BinaryOperator __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Method(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.BinaryOperator(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Method __CreateInstance(global::CppSharp.Parser.AST.Method.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.BinaryOperator __CreateInstance(global::CppSharp.Parser.AST.BinaryOperator.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Method(native, skipVTables); + return new global::CppSharp.Parser.AST.BinaryOperator(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Method.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.BinaryOperator.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); - global::CppSharp.Parser.AST.Method.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); + global::CppSharp.Parser.AST.BinaryOperator.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Method(global::CppSharp.Parser.AST.Method.__Internal native, bool skipVTables = false) + private BinaryOperator(global::CppSharp.Parser.AST.BinaryOperator.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Method(void* native, bool skipVTables = false) + protected BinaryOperator(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -6260,19 +6416,29 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Method() + public BinaryOperator(string str, global::CppSharp.Parser.AST.Expression lhs, global::CppSharp.Parser.AST.Expression rhs, string opcodeStr) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, str); + var __arg0 = __basicString0.__Instance; + var __arg1 = ReferenceEquals(lhs, null) ? global::System.IntPtr.Zero : lhs.__Instance; + var __arg2 = ReferenceEquals(rhs, null) ? global::System.IntPtr.Zero : rhs.__Instance; + var __basicString3 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString3, opcodeStr); + var __arg3 = __basicString3.__Instance; + __Internal.ctor((__Instance + __PointerAdjustment), __arg0, __arg1, __arg2, __arg3); + __basicString0.Dispose(false); + __basicString3.Dispose(false); } - public Method(global::CppSharp.Parser.AST.Method _0) + public BinaryOperator(global::CppSharp.Parser.AST.BinaryOperator _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -6285,7 +6451,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.Statement __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -6294,194 +6460,401 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.Method GetOverriddenMethods(uint i) + public global::CppSharp.Parser.AST.Expression LHS { - var __ret = __Internal.GetOverriddenMethods((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Method __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Method.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Method) global::CppSharp.Parser.AST.Method.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Method.__CreateInstance(__ret); - return __result0; - } - - public void AddOverriddenMethods(global::CppSharp.Parser.AST.Method s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddOverriddenMethods((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearOverriddenMethods() - { - __Internal.ClearOverriddenMethods((__Instance + __PointerAdjustment)); - } - - public bool IsVirtual - { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isVirtual != 0; - } + get + { + global::CppSharp.Parser.AST.Expression __result0; + if (((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->LHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->LHS)) + __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->LHS]; + else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->LHS); + return __result0; + } set { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isVirtual = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->LHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public bool IsStatic + public global::CppSharp.Parser.AST.Expression RHS { get { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isStatic != 0; + global::CppSharp.Parser.AST.Expression __result0; + if (((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->RHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->RHS)) + __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->RHS]; + else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->RHS); + return __result0; } set { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isStatic = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->RHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public bool IsConst + public string OpcodeStr { get { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isConst != 0; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->opcodeStr)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isConst = (byte) (value ? 1 : 0); + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->opcodeStr), value); } } + } - public bool IsExplicit + public unsafe partial class CallExpr : global::CppSharp.Parser.AST.Expression, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 72)] + public new partial struct __Internal { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isExplicit != 0; - } + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StatementClass _class; - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isExplicit = (byte) (value ? 1 : 0); - } + [FieldOffset(8)] + internal global::System.IntPtr decl; + + [FieldOffset(16)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; + + [FieldOffset(48)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expression___N_std_S_allocator__S0_ Arguments; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExprC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPNS1_11DeclarationE")] + internal static extern void ctor(global::System.IntPtr instance, global::System.IntPtr str, global::System.IntPtr decl); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExprD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr12getArgumentsEj")] + internal static extern global::System.IntPtr GetArguments(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr12addArgumentsERPNS1_10ExpressionE")] + internal static extern void AddArguments(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr14clearArgumentsEv")] + internal static extern void ClearArguments(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr17getArgumentsCountEv")] + internal static extern uint GetArgumentsCount(global::System.IntPtr instance); } - public global::CppSharp.Parser.AST.CXXMethodKind MethodKind + internal static new global::CppSharp.Parser.AST.CallExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->methodKind; - } - - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->methodKind = value; - } + return new global::CppSharp.Parser.AST.CallExpr(native.ToPointer(), skipVTables); } - public bool IsDefaultConstructor + internal static global::CppSharp.Parser.AST.CallExpr __CreateInstance(global::CppSharp.Parser.AST.CallExpr.__Internal native, bool skipVTables = false) { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isDefaultConstructor != 0; - } + return new global::CppSharp.Parser.AST.CallExpr(native, skipVTables); + } - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isDefaultConstructor = (byte) (value ? 1 : 0); - } + private static void* __CopyValue(global::CppSharp.Parser.AST.CallExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); + global::CppSharp.Parser.AST.CallExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); } - public bool IsCopyConstructor + private CallExpr(global::CppSharp.Parser.AST.CallExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isCopyConstructor != 0; - } + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isCopyConstructor = (byte) (value ? 1 : 0); - } + protected CallExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - public bool IsMoveConstructor + public CallExpr(string str, global::CppSharp.Parser.AST.Declaration decl) + : this((void*) null) { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isMoveConstructor != 0; - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, str); + var __arg0 = __basicString0.__Instance; + var __arg1 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; + __Internal.ctor((__Instance + __PointerAdjustment), __arg0, __arg1); + __basicString0.Dispose(false); + } - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isMoveConstructor = (byte) (value ? 1 : 0); - } + public CallExpr(global::CppSharp.Parser.AST.CallExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType ConversionType + public override void Dispose(bool disposing) { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->conversionType)); - } + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Statement __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->conversionType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } + public global::CppSharp.Parser.AST.Expression GetArguments(uint i) + { + var __ret = __Internal.GetArguments((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Expression __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(__ret); + return __result0; } - public global::CppSharp.Parser.AST.RefQualifierKind RefQualifier + public void AddArguments(global::CppSharp.Parser.AST.Expression s) { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->refQualifier; - } + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); + } - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->refQualifier = value; - } + public void ClearArguments() + { + __Internal.ClearArguments((__Instance + __PointerAdjustment)); } - public uint OverriddenMethodsCount + public uint ArgumentsCount { get { - var __ret = __Internal.GetOverriddenMethodsCount((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class Parameter : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class CXXConstructExpr : global::CppSharp.Parser.AST.Expression, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 256)] + [StructLayout(LayoutKind.Explicit, Size = 72)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; + internal global::CppSharp.Parser.AST.StatementClass _class; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; + internal global::System.IntPtr decl; [FieldOffset(16)] - internal global::System.IntPtr _namespace; + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; + [FieldOffset(48)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expression___N_std_S_allocator__S0_ Arguments; - [FieldOffset(28)] - internal int lineNumberStart; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExprC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPNS1_11DeclarationE")] + internal static extern void ctor(global::System.IntPtr instance, global::System.IntPtr str, global::System.IntPtr decl); - [FieldOffset(32)] + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExprD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr12getArgumentsEj")] + internal static extern global::System.IntPtr GetArguments(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr12addArgumentsERPNS1_10ExpressionE")] + internal static extern void AddArguments(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr14clearArgumentsEv")] + internal static extern void ClearArguments(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr17getArgumentsCountEv")] + internal static extern uint GetArgumentsCount(global::System.IntPtr instance); + } + + internal static new global::CppSharp.Parser.AST.CXXConstructExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXConstructExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXConstructExpr __CreateInstance(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXConstructExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); + global::CppSharp.Parser.AST.CXXConstructExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private CXXConstructExpr(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXConstructExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXConstructExpr(string str, global::CppSharp.Parser.AST.Declaration decl) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, str); + var __arg0 = __basicString0.__Instance; + var __arg1 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; + __Internal.ctor((__Instance + __PointerAdjustment), __arg0, __arg1); + __basicString0.Dispose(false); + } + + public CXXConstructExpr(global::CppSharp.Parser.AST.CXXConstructExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Statement __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Expression GetArguments(uint i) + { + var __ret = __Internal.GetArguments((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Expression __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(__ret); + return __result0; + } + + public void AddArguments(global::CppSharp.Parser.AST.Expression s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearArguments() + { + __Internal.ClearArguments((__Instance + __PointerAdjustment)); + } + + public uint ArgumentsCount + { + get + { + var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } + + public unsafe partial class Parameter : global::CppSharp.Parser.AST.Declaration, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 256)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal global::System.IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; [FieldOffset(40)] @@ -6692,194 +7065,243 @@ namespace CppSharp } } - public unsafe partial class Expression : global::CppSharp.Parser.AST.Statement, IDisposable + public unsafe partial class Function : global::CppSharp.Parser.AST.DeclarationContext, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 48)] + [StructLayout(LayoutKind.Explicit, Size = 688)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.StatementClass _class; + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::System.IntPtr decl; + internal global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(16)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; + internal global::System.IntPtr _namespace; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ExpressionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS1_14StatementClassEPNS1_11DeclarationE")] - internal static extern void ctor(global::System.IntPtr instance, global::System.IntPtr str, global::CppSharp.Parser.AST.StatementClass Class, global::System.IntPtr decl); + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ExpressionC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + [FieldOffset(28)] + internal int lineNumberStart; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ExpressionD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); - } + [FieldOffset(32)] + internal int lineNumberEnd; - internal static new global::CppSharp.Parser.AST.Expression __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Expression(native.ToPointer(), skipVTables); - } + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - internal static global::CppSharp.Parser.AST.Expression __CreateInstance(global::CppSharp.Parser.AST.Expression.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Expression(native, skipVTables); - } + [FieldOffset(72)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - private static void* __CopyValue(global::CppSharp.Parser.AST.Expression.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expression.__Internal)); - global::CppSharp.Parser.AST.Expression.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - private Expression(global::CppSharp.Parser.AST.Expression.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + [FieldOffset(136)] + internal byte isIncomplete; - protected Expression(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [FieldOffset(137)] + internal byte isDependent; - public Expression(string str, global::CppSharp.Parser.AST.StatementClass Class, global::CppSharp.Parser.AST.Declaration decl) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expression.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, str); - var __arg0 = __basicString0.__Instance; - var __arg2 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; - __Internal.ctor((__Instance + __PointerAdjustment), __arg0, Class, __arg2); - __basicString0.Dispose(false); - } + [FieldOffset(138)] + internal byte isImplicit; - public Expression(global::CppSharp.Parser.AST.Expression _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expression.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(139)] + internal byte isInvalid; - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Statement __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - } + [FieldOffset(144)] + internal global::System.IntPtr completeDeclaration; - public unsafe partial class Statement : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 48)] - public partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.StatementClass _class; + [FieldOffset(152)] + internal uint definitionOrder; - [FieldOffset(8)] - internal global::System.IntPtr decl; + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - [FieldOffset(16)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; + [FieldOffset(184)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(208)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(216)] + internal global::System.IntPtr comment; + + [FieldOffset(224)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; + + [FieldOffset(248)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; + + [FieldOffset(272)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; + + [FieldOffset(296)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; + + [FieldOffset(320)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; + + [FieldOffset(344)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; + + [FieldOffset(368)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; + + [FieldOffset(392)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; + + [FieldOffset(416)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; + + [FieldOffset(440)] + internal global::Std.Map.__Internalc__N_std_S_map____N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + + [FieldOffset(488)] + internal byte isAnonymous; + + [FieldOffset(496)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; + + [FieldOffset(512)] + internal byte isReturnIndirect; + + [FieldOffset(513)] + internal byte hasThisReturn; + + [FieldOffset(514)] + internal byte isConstExpr; + + [FieldOffset(515)] + internal byte isVariadic; + + [FieldOffset(516)] + internal byte isInline; + + [FieldOffset(517)] + internal byte isPure; + + [FieldOffset(518)] + internal byte isDeleted; + + [FieldOffset(519)] + internal byte isDefaulted; + + [FieldOffset(520)] + internal global::CppSharp.Parser.AST.FriendKind friendKind; + + [FieldOffset(524)] + internal global::CppSharp.Parser.AST.CXXOperatorKind operatorKind; + + [FieldOffset(528)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C mangled; + + [FieldOffset(560)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C signature; + + [FieldOffset(592)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C body; + + [FieldOffset(624)] + internal global::CppSharp.Parser.AST.CallingConvention callingConvention; + + [FieldOffset(632)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_S_allocator__S0_ Parameters; + + [FieldOffset(656)] + internal global::System.IntPtr specializationInfo; + + [FieldOffset(664)] + internal global::System.IntPtr instantiatedFrom; + + [FieldOffset(672)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9StatementC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS1_14StatementClassEPNS1_11DeclarationE")] - internal static extern void ctor(global::System.IntPtr instance, global::System.IntPtr str, global::CppSharp.Parser.AST.StatementClass Class, global::System.IntPtr decl); + EntryPoint="_ZN8CppSharp9CppParser3AST8FunctionC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9StatementC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST8FunctionC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9StatementD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST8FunctionD2Ev")] internal static extern void dtor(global::System.IntPtr instance); - } - public global::System.IntPtr __Instance { get; protected set; } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Function13getParametersEj")] + internal static extern global::System.IntPtr GetParameters(global::System.IntPtr instance, uint i); - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Function13addParametersERPNS1_9ParameterE")] + internal static extern void AddParameters(global::System.IntPtr instance, global::System.IntPtr s); - protected bool __ownsNativeInstance; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Function15clearParametersEv")] + internal static extern void ClearParameters(global::System.IntPtr instance); - internal static global::CppSharp.Parser.AST.Statement __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Function18getParametersCountEv")] + internal static extern uint GetParametersCount(global::System.IntPtr instance); + } + + internal static new global::CppSharp.Parser.AST.Function __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Statement(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Function(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Statement __CreateInstance(global::CppSharp.Parser.AST.Statement.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Function __CreateInstance(global::CppSharp.Parser.AST.Function.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Statement(native, skipVTables); + return new global::CppSharp.Parser.AST.Function(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Statement.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Function.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Statement.__Internal)); - global::CppSharp.Parser.AST.Statement.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); + global::CppSharp.Parser.AST.Function.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Statement(global::CppSharp.Parser.AST.Statement.__Internal native, bool skipVTables = false) + private Function(global::CppSharp.Parser.AST.Function.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Statement(void* native, bool skipVTables = false) + protected Function(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public Statement(string str, global::CppSharp.Parser.AST.StatementClass Class, global::CppSharp.Parser.AST.Declaration decl) + public Function() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Statement.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, str); - var __arg0 = __basicString0.__Instance; - var __arg2 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; - __Internal.ctor((__Instance + __PointerAdjustment), __arg0, Class, __arg2); - __basicString0.Dispose(false); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public Statement(global::CppSharp.Parser.AST.Statement _0) + public Function(global::CppSharp.Parser.AST.Function _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Statement.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -6888,16 +7310,11 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Statement __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -6906,275 +7323,306 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.StatementClass Class + public global::CppSharp.Parser.AST.Parameter GetParameters(uint i) + { + var __ret = __Internal.GetParameters((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Parameter __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Parameter.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Parameter) global::CppSharp.Parser.AST.Parameter.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Parameter.__CreateInstance(__ret); + return __result0; + } + + public void AddParameters(global::CppSharp.Parser.AST.Parameter s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddParameters((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearParameters() + { + __Internal.ClearParameters((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.QualifiedType ReturnType { get { - return ((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->_class; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->returnType)); } set { - ((global::CppSharp.Parser.AST.Statement.__Internal*)__Instance)->_class = value; + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->returnType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public global::CppSharp.Parser.AST.Declaration Decl + public bool IsReturnIndirect { get { - global::CppSharp.Parser.AST.Declaration __result0; - if (((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->decl == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->decl)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->decl]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->decl); - return __result0; + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isReturnIndirect != 0; } set { - ((global::CppSharp.Parser.AST.Statement.__Internal*)__Instance)->decl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isReturnIndirect = (byte) (value ? 1 : 0); } } - public string String + public bool HasThisReturn { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->@string)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->hasThisReturn != 0; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Statement.__Internal*)__Instance)->@string), value); + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->hasThisReturn = (byte) (value ? 1 : 0); } } - } - public unsafe partial class FunctionTemplateSpecialization : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 48)] - public partial struct __Internal + public bool IsConstExpr { - [FieldOffset(0)] - internal global::System.IntPtr _template; - - [FieldOffset(8)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; - - [FieldOffset(32)] - internal global::System.IntPtr specializedFunction; - - [FieldOffset(40)] - internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecializationC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecializationC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecializationD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization12getArgumentsEj")] - internal static extern void GetArguments(global::System.IntPtr @return, global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization12addArgumentsERNS1_16TemplateArgumentE")] - internal static extern void AddArguments(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization14clearArgumentsEv")] - internal static extern void ClearArguments(global::System.IntPtr instance); + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isConstExpr != 0; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization17getArgumentsCountEv")] - internal static extern uint GetArgumentsCount(global::System.IntPtr instance); + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isConstExpr = (byte) (value ? 1 : 0); + } } - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.FunctionTemplateSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public bool IsVariadic { - return new global::CppSharp.Parser.AST.FunctionTemplateSpecialization(native.ToPointer(), skipVTables); - } + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isVariadic != 0; + } - internal static global::CppSharp.Parser.AST.FunctionTemplateSpecialization __CreateInstance(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.FunctionTemplateSpecialization(native, skipVTables); + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isVariadic = (byte) (value ? 1 : 0); + } } - private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal native) + public bool IsInline { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); - global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isInline != 0; + } - private FunctionTemplateSpecialization(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isInline = (byte) (value ? 1 : 0); + } } - protected FunctionTemplateSpecialization(void* native, bool skipVTables = false) + public bool IsPure { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isPure != 0; + } - public FunctionTemplateSpecialization() - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isPure = (byte) (value ? 1 : 0); + } } - public FunctionTemplateSpecialization(global::CppSharp.Parser.AST.FunctionTemplateSpecialization _0) + public bool IsDeleted { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isDeleted != 0; + } - public void Dispose() - { - Dispose(disposing: true); + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isDeleted = (byte) (value ? 1 : 0); + } } - public virtual void Dispose(bool disposing) + public bool IsDefaulted { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.FunctionTemplateSpecialization __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isDefaulted != 0; + } - public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) - { - var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); - __Internal.GetArguments(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isDefaulted = (byte) (value ? 1 : 0); + } } - public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) + public global::CppSharp.Parser.AST.FriendKind FriendKind { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); - } + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->friendKind; + } - public void ClearArguments() - { - __Internal.ClearArguments((__Instance + __PointerAdjustment)); + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->friendKind = value; + } } - public global::CppSharp.Parser.AST.FunctionTemplate Template + public global::CppSharp.Parser.AST.CXXOperatorKind OperatorKind { get { - global::CppSharp.Parser.AST.FunctionTemplate __result0; - if (((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.FunctionTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template)) - __result0 = (global::CppSharp.Parser.AST.FunctionTemplate) global::CppSharp.Parser.AST.FunctionTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template]; - else __result0 = global::CppSharp.Parser.AST.FunctionTemplate.__CreateInstance(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template); - return __result0; + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->operatorKind; } set { - ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*)__Instance)->_template = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->operatorKind = value; } } - public global::CppSharp.Parser.AST.Function SpecializedFunction + public string Mangled { get { - global::CppSharp.Parser.AST.Function __result0; - if (((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction)) - __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction]; - else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction); - return __result0; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->mangled)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*)__Instance)->specializedFunction = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->mangled), value); } } - public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind + public string Signature { get { - return ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializationKind; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->signature)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*)__Instance)->specializationKind = value; + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->signature), value); } } - public uint ArgumentsCount + public string Body { get { - var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); - return __ret; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->body)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->body), value); } } - } - public unsafe partial class FunctionTemplate : global::CppSharp.Parser.AST.Template, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 280)] - public new partial struct __Internal + public global::CppSharp.Parser.AST.CallingConvention CallingConvention { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->callingConvention; + } - [FieldOffset(4)] - internal int maxFieldAlignment; + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->callingConvention = value; + } + } - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; + public global::CppSharp.Parser.AST.FunctionTemplateSpecialization SpecializationInfo + { + get + { + global::CppSharp.Parser.AST.FunctionTemplateSpecialization __result0; + if (((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo)) + __result0 = (global::CppSharp.Parser.AST.FunctionTemplateSpecialization) global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap[((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo]; + else __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__CreateInstance(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->specializationInfo = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Function InstantiatedFrom + { + get + { + global::CppSharp.Parser.AST.Function __result0; + if (((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom)) + __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom]; + else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->instantiatedFrom = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType QualifiedType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->qualifiedType)); + } + + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public uint ParametersCount + { + get + { + var __ret = __Internal.GetParametersCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } + + public unsafe partial class Method : global::CppSharp.Parser.AST.Function, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 752)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(16)] internal global::System.IntPtr _namespace; @@ -7228,1657 +7676,189 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(224)] - internal global::System.IntPtr TemplatedDecl; + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; - [FieldOffset(232)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; + [FieldOffset(248)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; - [FieldOffset(256)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_FunctionTemplateSpecialization___N_std_S_allocator__S0_ Specializations; + [FieldOffset(272)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplateC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); + [FieldOffset(296)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplateC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + [FieldOffset(320)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplateD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); + [FieldOffset(344)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate18getSpecializationsEj")] - internal static extern global::System.IntPtr GetSpecializations(global::System.IntPtr instance, uint i); + [FieldOffset(368)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate18addSpecializationsERPNS1_30FunctionTemplateSpecializationE")] - internal static extern void AddSpecializations(global::System.IntPtr instance, global::System.IntPtr s); + [FieldOffset(392)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate20clearSpecializationsEv")] - internal static extern void ClearSpecializations(global::System.IntPtr instance); + [FieldOffset(416)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate18FindSpecializationERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE")] - internal static extern global::System.IntPtr FindSpecialization(global::System.IntPtr instance, global::System.IntPtr usr); + [FieldOffset(440)] + internal global::Std.Map.__Internalc__N_std_S_map____N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate23getSpecializationsCountEv")] - internal static extern uint GetSpecializationsCount(global::System.IntPtr instance); - } + [FieldOffset(488)] + internal byte isAnonymous; - internal static new global::CppSharp.Parser.AST.FunctionTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.FunctionTemplate(native.ToPointer(), skipVTables); - } + [FieldOffset(496)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; - internal static global::CppSharp.Parser.AST.FunctionTemplate __CreateInstance(global::CppSharp.Parser.AST.FunctionTemplate.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.FunctionTemplate(native, skipVTables); - } + [FieldOffset(512)] + internal byte isReturnIndirect; - private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionTemplate.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); - global::CppSharp.Parser.AST.FunctionTemplate.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + [FieldOffset(513)] + internal byte hasThisReturn; - private FunctionTemplate(global::CppSharp.Parser.AST.FunctionTemplate.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + [FieldOffset(514)] + internal byte isConstExpr; - protected FunctionTemplate(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [FieldOffset(515)] + internal byte isVariadic; - public FunctionTemplate() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } + [FieldOffset(516)] + internal byte isInline; - public FunctionTemplate(global::CppSharp.Parser.AST.FunctionTemplate _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(517)] + internal byte isPure; - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } + [FieldOffset(518)] + internal byte isDeleted; - public global::CppSharp.Parser.AST.FunctionTemplateSpecialization GetSpecializations(uint i) - { - var __ret = __Internal.GetSpecializations((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.FunctionTemplateSpecialization __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.FunctionTemplateSpecialization) global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__CreateInstance(__ret); - return __result0; - } + [FieldOffset(519)] + internal byte isDefaulted; - public void AddSpecializations(global::CppSharp.Parser.AST.FunctionTemplateSpecialization s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddSpecializations((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(520)] + internal global::CppSharp.Parser.AST.FriendKind friendKind; - public void ClearSpecializations() - { - __Internal.ClearSpecializations((__Instance + __PointerAdjustment)); - } + [FieldOffset(524)] + internal global::CppSharp.Parser.AST.CXXOperatorKind operatorKind; - public global::CppSharp.Parser.AST.FunctionTemplateSpecialization FindSpecialization(string usr) - { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, usr); - var __arg0 = __basicString0.__Instance; - var __ret = __Internal.FindSpecialization((__Instance + __PointerAdjustment), __arg0); - __basicString0.Dispose(false); - global::CppSharp.Parser.AST.FunctionTemplateSpecialization __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.FunctionTemplateSpecialization) global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__CreateInstance(__ret); - return __result0; - } + [FieldOffset(528)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C mangled; - public uint SpecializationsCount - { - get - { - var __ret = __Internal.GetSpecializationsCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - } - - public unsafe partial class TemplateArgument : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 40)] - public partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TemplateArgument.ArgumentKind kind; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; - - [FieldOffset(24)] - internal global::System.IntPtr declaration; - - [FieldOffset(32)] - internal long integral; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16TemplateArgumentC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16TemplateArgumentC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - } - - public enum ArgumentKind - { - Type = 0, - Declaration = 1, - NullPtr = 2, - Integral = 3, - Template = 4, - TemplateExpansion = 5, - Expression = 6, - Pack = 7 - } - - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.TemplateArgument __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.TemplateArgument(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.TemplateArgument __CreateInstance(global::CppSharp.Parser.AST.TemplateArgument.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.TemplateArgument(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateArgument.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); - *(global::CppSharp.Parser.AST.TemplateArgument.__Internal*) ret = native; - return ret.ToPointer(); - } - - private TemplateArgument(global::CppSharp.Parser.AST.TemplateArgument.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected TemplateArgument(void* native, bool skipVTables = false) - { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public TemplateArgument() - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } - - public TemplateArgument(global::CppSharp.Parser.AST.TemplateArgument _0) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) _0.__Instance); - } - - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.TemplateArgument __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - - public global::CppSharp.Parser.AST.TemplateArgument.ArgumentKind Kind - { - get - { - return ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->kind; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->kind = value; - } - } - - public global::CppSharp.Parser.AST.QualifiedType Type - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->type)); - } - - set - { - ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } - } - - public global::CppSharp.Parser.AST.Declaration Declaration - { - get - { - global::CppSharp.Parser.AST.Declaration __result0; - if (((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } - - public long Integral - { - get - { - return ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->integral; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->integral = value; - } - } - } - - public unsafe partial class AccessSpecifierDecl : global::CppSharp.Parser.AST.Declaration, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 224)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; - - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; - - [FieldOffset(32)] - internal int lineNumberEnd; - - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - - [FieldOffset(72)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - - [FieldOffset(104)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - - [FieldOffset(136)] - internal byte isIncomplete; - - [FieldOffset(137)] - internal byte isDependent; - - [FieldOffset(138)] - internal byte isImplicit; - - [FieldOffset(139)] - internal byte isInvalid; - - [FieldOffset(144)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(152)] - internal uint definitionOrder; - - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(184)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - - [FieldOffset(208)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(216)] - internal global::System.IntPtr comment; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19AccessSpecifierDeclC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19AccessSpecifierDeclC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19AccessSpecifierDeclD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); - } - - internal static new global::CppSharp.Parser.AST.AccessSpecifierDecl __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.AccessSpecifierDecl(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.AccessSpecifierDecl __CreateInstance(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.AccessSpecifierDecl(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); - global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private AccessSpecifierDecl(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected AccessSpecifierDecl(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public AccessSpecifierDecl() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } - - public AccessSpecifierDecl(global::CppSharp.Parser.AST.AccessSpecifierDecl _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } - - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - } - - public unsafe partial class ClassLayout : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 136)] - public partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CppAbi ABI; - - [FieldOffset(8)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_VFTableInfo___N_std_S_allocator__S0_ VFTables; - - [FieldOffset(32)] - internal global::CppSharp.Parser.AST.VTableLayout.__Internal layout; - - [FieldOffset(56)] - internal byte hasOwnVFPtr; - - [FieldOffset(64)] - internal long VBPtrOffset; - - [FieldOffset(72)] - internal int alignment; - - [FieldOffset(76)] - internal int size; - - [FieldOffset(80)] - internal int dataSize; - - [FieldOffset(88)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_LayoutField___N_std_S_allocator__S0_ Fields; - - [FieldOffset(112)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_LayoutBase___N_std_S_allocator__S0_ Bases; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayoutC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayoutC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayoutD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout11getVFTablesEj")] - internal static extern void GetVFTables(global::System.IntPtr @return, global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout11addVFTablesERNS1_11VFTableInfoE")] - internal static extern void AddVFTables(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout13clearVFTablesEv")] - internal static extern void ClearVFTables(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout9getFieldsEj")] - internal static extern void GetFields(global::System.IntPtr @return, global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout9addFieldsERNS1_11LayoutFieldE")] - internal static extern void AddFields(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout11clearFieldsEv")] - internal static extern void ClearFields(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout8getBasesEj")] - internal static extern void GetBases(global::System.IntPtr @return, global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout8addBasesERNS1_10LayoutBaseE")] - internal static extern void AddBases(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout10clearBasesEv")] - internal static extern void ClearBases(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout16getVFTablesCountEv")] - internal static extern uint GetVFTablesCount(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout14getFieldsCountEv")] - internal static extern uint GetFieldsCount(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout13getBasesCountEv")] - internal static extern uint GetBasesCount(global::System.IntPtr instance); - } - - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.ClassLayout __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.ClassLayout(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.ClassLayout __CreateInstance(global::CppSharp.Parser.AST.ClassLayout.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.ClassLayout(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.ClassLayout.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); - global::CppSharp.Parser.AST.ClassLayout.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private ClassLayout(global::CppSharp.Parser.AST.ClassLayout.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected ClassLayout(void* native, bool skipVTables = false) - { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public ClassLayout() - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } - - public ClassLayout(global::CppSharp.Parser.AST.ClassLayout _0) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } - - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.ClassLayout __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - - public global::CppSharp.Parser.AST.VFTableInfo GetVFTables(uint i) - { - var __ret = new global::CppSharp.Parser.AST.VFTableInfo.__Internal(); - __Internal.GetVFTables(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.VFTableInfo.__CreateInstance(__ret); - } - - public void AddVFTables(global::CppSharp.Parser.AST.VFTableInfo s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddVFTables((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearVFTables() - { - __Internal.ClearVFTables((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.LayoutField GetFields(uint i) - { - var __ret = new global::CppSharp.Parser.AST.LayoutField.__Internal(); - __Internal.GetFields(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.LayoutField.__CreateInstance(__ret); - } - - public void AddFields(global::CppSharp.Parser.AST.LayoutField s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddFields((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearFields() - { - __Internal.ClearFields((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.LayoutBase GetBases(uint i) - { - var __ret = new global::CppSharp.Parser.AST.LayoutBase.__Internal(); - __Internal.GetBases(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.LayoutBase.__CreateInstance(__ret); - } - - public void AddBases(global::CppSharp.Parser.AST.LayoutBase s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddBases((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearBases() - { - __Internal.ClearBases((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.CppAbi ABI - { - get - { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->ABI; - } - - set - { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->ABI = value; - } - } - - public global::CppSharp.Parser.AST.VTableLayout Layout - { - get - { - return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->layout)); - } - - set - { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->layout = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.VTableLayout.__Internal() : *(global::CppSharp.Parser.AST.VTableLayout.__Internal*) value.__Instance; - } - } - - public bool HasOwnVFPtr - { - get - { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->hasOwnVFPtr != 0; - } - - set - { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->hasOwnVFPtr = (byte) (value ? 1 : 0); - } - } - - public long VBPtrOffset - { - get - { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->VBPtrOffset; - } - - set - { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->VBPtrOffset = value; - } - } - - public int Alignment - { - get - { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->alignment; - } - - set - { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->alignment = value; - } - } - - public int Size - { - get - { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->size; - } - - set - { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->size = value; - } - } - - public int DataSize - { - get - { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->dataSize; - } - - set - { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->dataSize = value; - } - } - - public uint VFTablesCount - { - get - { - var __ret = __Internal.GetVFTablesCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - - public uint FieldsCount - { - get - { - var __ret = __Internal.GetFieldsCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - - public uint BasesCount - { - get - { - var __ret = __Internal.GetBasesCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - } - - public unsafe partial class VFTableInfo : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 40)] - public partial struct __Internal - { - [FieldOffset(0)] - internal ulong VBTableIndex; - - [FieldOffset(8)] - internal uint VFPtrOffset; - - [FieldOffset(12)] - internal uint VFPtrFullOffset; - - [FieldOffset(16)] - internal global::CppSharp.Parser.AST.VTableLayout.__Internal layout; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VFTableInfoC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VFTableInfoC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VFTableInfoD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); - } - - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.VFTableInfo __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.VFTableInfo(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.VFTableInfo __CreateInstance(global::CppSharp.Parser.AST.VFTableInfo.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.VFTableInfo(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.VFTableInfo.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); - global::CppSharp.Parser.AST.VFTableInfo.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private VFTableInfo(global::CppSharp.Parser.AST.VFTableInfo.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected VFTableInfo(void* native, bool skipVTables = false) - { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public VFTableInfo() - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } - - public VFTableInfo(global::CppSharp.Parser.AST.VFTableInfo _0) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } - - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.VFTableInfo __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - - public ulong VBTableIndex - { - get - { - return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VBTableIndex; - } - - set - { - ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->VBTableIndex = value; - } - } - - public uint VFPtrOffset - { - get - { - return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VFPtrOffset; - } - - set - { - ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->VFPtrOffset = value; - } - } - - public uint VFPtrFullOffset - { - get - { - return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VFPtrFullOffset; - } - - set - { - ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->VFPtrFullOffset = value; - } - } - - public global::CppSharp.Parser.AST.VTableLayout Layout - { - get - { - return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->layout)); - } - - set - { - ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->layout = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.VTableLayout.__Internal() : *(global::CppSharp.Parser.AST.VTableLayout.__Internal*) value.__Instance; - } - } - } - - public unsafe partial class VTableLayout : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 24)] - public partial struct __Internal - { - [FieldOffset(0)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_VTableComponent___N_std_S_allocator__S0_ Components; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayoutC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayoutC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayoutD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayout13getComponentsEj")] - internal static extern global::CppSharp.Parser.AST.VTableComponent.__Internal GetComponents(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayout13addComponentsERNS1_15VTableComponentE")] - internal static extern void AddComponents(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayout15clearComponentsEv")] - internal static extern void ClearComponents(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayout18getComponentsCountEv")] - internal static extern uint GetComponentsCount(global::System.IntPtr instance); - } - - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.VTableLayout __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.VTableLayout(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.VTableLayout __CreateInstance(global::CppSharp.Parser.AST.VTableLayout.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.VTableLayout(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.VTableLayout.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); - global::CppSharp.Parser.AST.VTableLayout.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private VTableLayout(global::CppSharp.Parser.AST.VTableLayout.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected VTableLayout(void* native, bool skipVTables = false) - { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public VTableLayout() - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } - - public VTableLayout(global::CppSharp.Parser.AST.VTableLayout _0) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } - - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.VTableLayout __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - - public global::CppSharp.Parser.AST.VTableComponent GetComponents(uint i) - { - var __ret = __Internal.GetComponents((__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.VTableComponent.__CreateInstance(__ret); - } - - public void AddComponents(global::CppSharp.Parser.AST.VTableComponent s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddComponents((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearComponents() - { - __Internal.ClearComponents((__Instance + __PointerAdjustment)); - } - - public uint ComponentsCount - { - get - { - var __ret = __Internal.GetComponentsCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - } - - public unsafe partial class VTableComponent : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 16)] - public partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.VTableComponentKind kind; - - [FieldOffset(4)] - internal uint offset; - - [FieldOffset(8)] - internal global::System.IntPtr declaration; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15VTableComponentC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15VTableComponentC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - } - - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.VTableComponent __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.VTableComponent(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.VTableComponent __CreateInstance(global::CppSharp.Parser.AST.VTableComponent.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.VTableComponent(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.VTableComponent.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); - *(global::CppSharp.Parser.AST.VTableComponent.__Internal*) ret = native; - return ret.ToPointer(); - } - - private VTableComponent(global::CppSharp.Parser.AST.VTableComponent.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected VTableComponent(void* native, bool skipVTables = false) - { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public VTableComponent() - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } - - public VTableComponent(global::CppSharp.Parser.AST.VTableComponent _0) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.VTableComponent.__Internal*) _0.__Instance); - } - - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.VTableComponent __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - - public global::CppSharp.Parser.AST.VTableComponentKind Kind - { - get - { - return ((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->kind; - } - - set - { - ((global::CppSharp.Parser.AST.VTableComponent.__Internal*)__Instance)->kind = value; - } - } - - public uint Offset - { - get - { - return ((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->offset; - } - - set - { - ((global::CppSharp.Parser.AST.VTableComponent.__Internal*)__Instance)->offset = value; - } - } - - public global::CppSharp.Parser.AST.Declaration Declaration - { - get - { - global::CppSharp.Parser.AST.Declaration __result0; - if (((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.VTableComponent.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } - } - - public unsafe partial class LayoutField : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 64)] - public partial struct __Internal - { - [FieldOffset(0)] - internal uint offset; - - [FieldOffset(8)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - - [FieldOffset(40)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - - [FieldOffset(56)] - internal global::System.IntPtr fieldPtr; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutFieldC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutFieldC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr other); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutFieldD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); - } - - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.LayoutField __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.LayoutField(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.LayoutField __CreateInstance(global::CppSharp.Parser.AST.LayoutField.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.LayoutField(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.LayoutField.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); - global::CppSharp.Parser.AST.LayoutField.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + [FieldOffset(560)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C signature; - private LayoutField(global::CppSharp.Parser.AST.LayoutField.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + [FieldOffset(592)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C body; - protected LayoutField(void* native, bool skipVTables = false) - { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [FieldOffset(624)] + internal global::CppSharp.Parser.AST.CallingConvention callingConvention; - public LayoutField() - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } + [FieldOffset(632)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_S_allocator__S0_ Parameters; - public LayoutField(global::CppSharp.Parser.AST.LayoutField other) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(other, null)) - throw new global::System.ArgumentNullException("other", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = other.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(656)] + internal global::System.IntPtr specializationInfo; - public void Dispose() - { - Dispose(disposing: true); - } + [FieldOffset(664)] + internal global::System.IntPtr instantiatedFrom; - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.LayoutField __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } + [FieldOffset(672)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - public uint Offset - { - get - { - return ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->offset; - } + [FieldOffset(688)] + internal byte isVirtual; - set - { - ((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->offset = value; - } - } + [FieldOffset(689)] + internal byte isStatic; - public string Name - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->name)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + [FieldOffset(690)] + internal byte isConst; - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->name), value); - } - } + [FieldOffset(691)] + internal byte isExplicit; - public global::CppSharp.Parser.AST.QualifiedType QualifiedType - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->qualifiedType)); - } + [FieldOffset(692)] + internal global::CppSharp.Parser.AST.CXXMethodKind methodKind; - set - { - ((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } - } + [FieldOffset(696)] + internal byte isDefaultConstructor; - public global::System.IntPtr FieldPtr - { - get - { - return ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->fieldPtr; - } + [FieldOffset(697)] + internal byte isCopyConstructor; - set - { - ((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->fieldPtr = (global::System.IntPtr) value; - } - } - } + [FieldOffset(698)] + internal byte isMoveConstructor; - public unsafe partial class LayoutBase : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 16)] - public partial struct __Internal - { - [FieldOffset(0)] - internal uint offset; + [FieldOffset(704)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal conversionType; - [FieldOffset(8)] - internal global::System.IntPtr _class; + [FieldOffset(720)] + internal global::CppSharp.Parser.AST.RefQualifierKind refQualifier; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10LayoutBaseC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); + [FieldOffset(728)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_S_allocator__S0_ OverriddenMethods; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10LayoutBaseC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr other); + EntryPoint="_ZN8CppSharp9CppParser3AST6MethodC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10LayoutBaseD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); - } - - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.LayoutBase __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.LayoutBase(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.LayoutBase __CreateInstance(global::CppSharp.Parser.AST.LayoutBase.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.LayoutBase(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.LayoutBase.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); - global::CppSharp.Parser.AST.LayoutBase.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private LayoutBase(global::CppSharp.Parser.AST.LayoutBase.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected LayoutBase(void* native, bool skipVTables = false) - { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public LayoutBase() - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } - - public LayoutBase(global::CppSharp.Parser.AST.LayoutBase other) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(other, null)) - throw new global::System.ArgumentNullException("other", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = other.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } - - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.LayoutBase __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - - public uint Offset - { - get - { - return ((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->offset; - } - - set - { - ((global::CppSharp.Parser.AST.LayoutBase.__Internal*)__Instance)->offset = value; - } - } - - public global::CppSharp.Parser.AST.Class Class - { - get - { - global::CppSharp.Parser.AST.Class __result0; - if (((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class)) - __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class]; - else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.LayoutBase.__Internal*)__Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } - } - - public unsafe partial class BuiltinType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 12)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + EntryPoint="_ZN8CppSharp9CppParser3AST6MethodC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - [FieldOffset(4)] - internal byte isDependent; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST6MethodD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.PrimitiveType type; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST6Method20getOverriddenMethodsEj")] + internal static extern global::System.IntPtr GetOverriddenMethods(global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11BuiltinTypeC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST6Method20addOverriddenMethodsERPS2_")] + internal static extern void AddOverriddenMethods(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11BuiltinTypeC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST6Method22clearOverriddenMethodsEv")] + internal static extern void ClearOverriddenMethods(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST6Method25getOverriddenMethodsCountEv")] + internal static extern uint GetOverriddenMethodsCount(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.BuiltinType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Method __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.BuiltinType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Method(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.BuiltinType __CreateInstance(global::CppSharp.Parser.AST.BuiltinType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Method __CreateInstance(global::CppSharp.Parser.AST.Method.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.BuiltinType(native, skipVTables); + return new global::CppSharp.Parser.AST.Method(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.BuiltinType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Method.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); - global::CppSharp.Parser.AST.BuiltinType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); + global::CppSharp.Parser.AST.Method.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private BuiltinType(global::CppSharp.Parser.AST.BuiltinType.__Internal native, bool skipVTables = false) + private Method(global::CppSharp.Parser.AST.Method.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected BuiltinType(void* native, bool skipVTables = false) + protected Method(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -8887,19 +7867,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public BuiltinType() + public Method() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public BuiltinType(global::CppSharp.Parser.AST.BuiltinType _0) + public Method(global::CppSharp.Parser.AST.Method _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -8908,527 +7888,551 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.PrimitiveType Type - { - get - { - return ((global::CppSharp.Parser.AST.BuiltinType.__Internal*) __Instance)->type; - } - - set - { - ((global::CppSharp.Parser.AST.BuiltinType.__Internal*)__Instance)->type = value; - } - } - } - - public unsafe partial class TagType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 16)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - internal byte isDependent; - - [FieldOffset(8)] - internal global::System.IntPtr declaration; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST7TagTypeC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST7TagTypeC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - } - - internal static new global::CppSharp.Parser.AST.TagType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.TagType(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.TagType __CreateInstance(global::CppSharp.Parser.AST.TagType.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.TagType(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.TagType.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); - global::CppSharp.Parser.AST.TagType.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private TagType(global::CppSharp.Parser.AST.TagType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) + public override void Dispose(bool disposing) { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; } - protected TagType(void* native, bool skipVTables = false) - : base((void*) null) + public global::CppSharp.Parser.AST.Method GetOverriddenMethods(uint i) { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); + var __ret = __Internal.GetOverriddenMethods((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Method __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Method.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Method) global::CppSharp.Parser.AST.Method.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Method.__CreateInstance(__ret); + return __result0; } - public TagType() - : this((void*) null) + public void AddOverriddenMethods(global::CppSharp.Parser.AST.Method s) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddOverriddenMethods((__Instance + __PointerAdjustment), __arg0); } - public TagType(global::CppSharp.Parser.AST.TagType _0) - : this((void*) null) + public void ClearOverriddenMethods() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + __Internal.ClearOverriddenMethods((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.Declaration Declaration + public bool IsVirtual { get { - global::CppSharp.Parser.AST.Declaration __result0; - if (((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration); - return __result0; + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isVirtual != 0; } set { - ((global::CppSharp.Parser.AST.TagType.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isVirtual = (byte) (value ? 1 : 0); } } - } - - public unsafe partial class ArrayType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 48)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - internal byte isDependent; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - - [FieldOffset(24)] - internal global::CppSharp.Parser.AST.ArrayType.ArraySize sizeType; - - [FieldOffset(32)] - internal long size; - - [FieldOffset(40)] - internal long elementSize; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9ArrayTypeC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9ArrayTypeC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - } - - public enum ArraySize - { - Constant = 0, - Variable = 1, - Dependent = 2, - Incomplete = 3 - } - internal static new global::CppSharp.Parser.AST.ArrayType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public bool IsStatic { - return new global::CppSharp.Parser.AST.ArrayType(native.ToPointer(), skipVTables); - } + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isStatic != 0; + } - internal static global::CppSharp.Parser.AST.ArrayType __CreateInstance(global::CppSharp.Parser.AST.ArrayType.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.ArrayType(native, skipVTables); + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isStatic = (byte) (value ? 1 : 0); + } } - private static void* __CopyValue(global::CppSharp.Parser.AST.ArrayType.__Internal native) + public bool IsConst { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); - global::CppSharp.Parser.AST.ArrayType.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isConst != 0; + } - private ArrayType(global::CppSharp.Parser.AST.ArrayType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isConst = (byte) (value ? 1 : 0); + } } - protected ArrayType(void* native, bool skipVTables = false) - : base((void*) null) + public bool IsExplicit { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isExplicit != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isExplicit = (byte) (value ? 1 : 0); + } } - public ArrayType() - : this((void*) null) + public global::CppSharp.Parser.AST.CXXMethodKind MethodKind { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->methodKind; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->methodKind = value; + } } - public ArrayType(global::CppSharp.Parser.AST.ArrayType _0) - : this((void*) null) + public bool IsDefaultConstructor { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isDefaultConstructor != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isDefaultConstructor = (byte) (value ? 1 : 0); + } } - public global::CppSharp.Parser.AST.QualifiedType QualifiedType + public bool IsCopyConstructor { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->qualifiedType)); + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isCopyConstructor != 0; } set { - ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isCopyConstructor = (byte) (value ? 1 : 0); } } - public global::CppSharp.Parser.AST.ArrayType.ArraySize SizeType + public bool IsMoveConstructor { get { - return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->sizeType; + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isMoveConstructor != 0; } set { - ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->sizeType = value; + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isMoveConstructor = (byte) (value ? 1 : 0); } } - public long Size + public global::CppSharp.Parser.AST.QualifiedType ConversionType { get { - return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->size; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->conversionType)); } set { - ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->size = value; + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->conversionType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public long ElementSize + public global::CppSharp.Parser.AST.RefQualifierKind RefQualifier { get { - return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->elementSize; + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->refQualifier; } set { - ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->elementSize = value; + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->refQualifier = value; + } + } + + public uint OverriddenMethodsCount + { + get + { + var __ret = __Internal.GetOverriddenMethodsCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class FunctionType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class Enumeration : global::CppSharp.Parser.AST.DeclarationContext, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 56)] + [StructLayout(LayoutKind.Explicit, Size = 536)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal byte isDependent; + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal global::System.IntPtr _namespace; [FieldOffset(24)] - internal global::CppSharp.Parser.AST.CallingConvention callingConvention; + internal global::CppSharp.Parser.SourceLocation.__Internal location; [FieldOffset(28)] - internal global::CppSharp.Parser.AST.ExceptionSpecType exceptionSpecType; + internal int lineNumberStart; [FieldOffset(32)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_S_allocator__S0_ Parameters; + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(72)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(136)] + internal byte isIncomplete; + + [FieldOffset(137)] + internal byte isDependent; + + [FieldOffset(138)] + internal byte isImplicit; + + [FieldOffset(139)] + internal byte isInvalid; + + [FieldOffset(144)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(152)] + internal uint definitionOrder; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(184)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(208)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(216)] + internal global::System.IntPtr comment; + + [FieldOffset(224)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; + + [FieldOffset(248)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; + + [FieldOffset(272)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; + + [FieldOffset(296)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; + + [FieldOffset(320)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; + + [FieldOffset(344)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; + + [FieldOffset(368)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; + + [FieldOffset(392)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; + + [FieldOffset(416)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; + + [FieldOffset(440)] + internal global::Std.Map.__Internalc__N_std_S_map____N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + + [FieldOffset(488)] + internal byte isAnonymous; + + [FieldOffset(492)] + internal global::CppSharp.Parser.AST.Enumeration.EnumModifiers modifiers; + + [FieldOffset(496)] + internal global::System.IntPtr type; + + [FieldOffset(504)] + internal global::System.IntPtr builtinType; + + [FieldOffset(512)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration_S_Item___N_std_S_allocator__S0_ Items; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11EnumerationC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST11EnumerationC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionTypeD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11EnumerationD2Ev")] internal static extern void dtor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionType13getParametersEj")] - internal static extern global::System.IntPtr GetParameters(global::System.IntPtr instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration8getItemsEj")] + internal static extern global::System.IntPtr GetItems(global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionType13addParametersERPNS1_9ParameterE")] - internal static extern void AddParameters(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration8addItemsERPNS2_4ItemE")] + internal static extern void AddItems(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionType15clearParametersEv")] - internal static extern void ClearParameters(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration10clearItemsEv")] + internal static extern void ClearItems(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionType18getParametersCountEv")] - internal static extern uint GetParametersCount(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration14FindItemByNameERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE")] + internal static extern global::System.IntPtr FindItemByName(global::System.IntPtr instance, global::System.IntPtr Name); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration13getItemsCountEv")] + internal static extern uint GetItemsCount(global::System.IntPtr instance); + } + + [Flags] + public enum EnumModifiers + { + Anonymous = 1, + Scoped = 2, + Flags = 4 } - internal static new global::CppSharp.Parser.AST.FunctionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.FunctionType(native.ToPointer(), skipVTables); - } + public unsafe partial class Item : global::CppSharp.Parser.AST.Declaration, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 264)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal global::System.IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(72)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(136)] + internal byte isIncomplete; + + [FieldOffset(137)] + internal byte isDependent; + + [FieldOffset(138)] + internal byte isImplicit; + + [FieldOffset(139)] + internal byte isInvalid; - internal static global::CppSharp.Parser.AST.FunctionType __CreateInstance(global::CppSharp.Parser.AST.FunctionType.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.FunctionType(native, skipVTables); - } + [FieldOffset(144)] + internal global::System.IntPtr completeDeclaration; - private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionType.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); - global::CppSharp.Parser.AST.FunctionType.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + [FieldOffset(152)] + internal uint definitionOrder; - private FunctionType(global::CppSharp.Parser.AST.FunctionType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - protected FunctionType(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [FieldOffset(184)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - public FunctionType() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } + [FieldOffset(208)] + internal global::System.IntPtr originalPtr; - public FunctionType(global::CppSharp.Parser.AST.FunctionType _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(216)] + internal global::System.IntPtr comment; - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Type __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } + [FieldOffset(224)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C expression; - public global::CppSharp.Parser.AST.Parameter GetParameters(uint i) - { - var __ret = __Internal.GetParameters((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Parameter __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Parameter.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Parameter) global::CppSharp.Parser.AST.Parameter.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Parameter.__CreateInstance(__ret); - return __result0; - } + [FieldOffset(256)] + internal ulong value; - public void AddParameters(global::CppSharp.Parser.AST.Parameter s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddParameters((__Instance + __PointerAdjustment), __arg0); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4ItemC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); - public void ClearParameters() - { - __Internal.ClearParameters((__Instance + __PointerAdjustment)); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4ItemC2ERKS3_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - public global::CppSharp.Parser.AST.QualifiedType ReturnType - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->returnType)); + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4ItemD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); } - set + internal static new global::CppSharp.Parser.AST.Enumeration.Item __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - ((global::CppSharp.Parser.AST.FunctionType.__Internal*)__Instance)->returnType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + return new global::CppSharp.Parser.AST.Enumeration.Item(native.ToPointer(), skipVTables); } - } - public global::CppSharp.Parser.AST.CallingConvention CallingConvention - { - get + internal static global::CppSharp.Parser.AST.Enumeration.Item __CreateInstance(global::CppSharp.Parser.AST.Enumeration.Item.__Internal native, bool skipVTables = false) { - return ((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->callingConvention; + return new global::CppSharp.Parser.AST.Enumeration.Item(native, skipVTables); } - set + private static void* __CopyValue(global::CppSharp.Parser.AST.Enumeration.Item.__Internal native) { - ((global::CppSharp.Parser.AST.FunctionType.__Internal*)__Instance)->callingConvention = value; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); + global::CppSharp.Parser.AST.Enumeration.Item.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); } - } - public global::CppSharp.Parser.AST.ExceptionSpecType ExceptionSpecType - { - get + private Item(global::CppSharp.Parser.AST.Enumeration.Item.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - return ((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->exceptionSpecType; + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; } - set + protected Item(void* native, bool skipVTables = false) + : base((void*) null) { - ((global::CppSharp.Parser.AST.FunctionType.__Internal*)__Instance)->exceptionSpecType = value; + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - } - public uint ParametersCount - { - get + public Item() + : this((void*) null) { - var __ret = __Internal.GetParametersCount((__Instance + __PointerAdjustment)); - return __ret; + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); } - } - } - - public unsafe partial class PointerType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 32)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; - [FieldOffset(4)] - internal byte isDependent; + public Item(global::CppSharp.Parser.AST.Enumeration.Item _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedPointee; + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } - [FieldOffset(24)] - internal global::CppSharp.Parser.AST.PointerType.TypeModifier modifier; + public string Expression + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*) __Instance)->expression)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11PointerTypeC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*)__Instance)->expression), value); + } + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11PointerTypeC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - } + public ulong Value + { + get + { + return ((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*) __Instance)->value; + } - public enum TypeModifier - { - Value = 0, - Pointer = 1, - LVReference = 2, - RVReference = 3 + set + { + ((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*)__Instance)->value = value; + } + } } - internal static new global::CppSharp.Parser.AST.PointerType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Enumeration __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.PointerType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Enumeration(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.PointerType __CreateInstance(global::CppSharp.Parser.AST.PointerType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Enumeration __CreateInstance(global::CppSharp.Parser.AST.Enumeration.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.PointerType(native, skipVTables); + return new global::CppSharp.Parser.AST.Enumeration(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.PointerType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Enumeration.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); - global::CppSharp.Parser.AST.PointerType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); + global::CppSharp.Parser.AST.Enumeration.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private PointerType(global::CppSharp.Parser.AST.PointerType.__Internal native, bool skipVTables = false) + private Enumeration(global::CppSharp.Parser.AST.Enumeration.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected PointerType(void* native, bool skipVTables = false) + protected Enumeration(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -9437,19 +8441,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public PointerType() + public Enumeration() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public PointerType(global::CppSharp.Parser.AST.PointerType _0) + public Enumeration(global::CppSharp.Parser.AST.Enumeration _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -9458,83 +8462,229 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType QualifiedPointee + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Enumeration.Item GetItems(uint i) + { + var __ret = __Internal.GetItems((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Enumeration.Item __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Enumeration.Item) global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Enumeration.Item.__CreateInstance(__ret); + return __result0; + } + + public void AddItems(global::CppSharp.Parser.AST.Enumeration.Item s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddItems((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearItems() + { + __Internal.ClearItems((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.Enumeration.Item FindItemByName(string Name) + { + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, Name); + var __arg0 = __basicString0.__Instance; + var __ret = __Internal.FindItemByName((__Instance + __PointerAdjustment), __arg0); + __basicString0.Dispose(false); + global::CppSharp.Parser.AST.Enumeration.Item __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Enumeration.Item) global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Enumeration.Item.__CreateInstance(__ret); + return __result0; + } + + public global::CppSharp.Parser.AST.Enumeration.EnumModifiers Modifiers { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.PointerType.__Internal*) __Instance)->qualifiedPointee)); + return ((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->modifiers; } set { - ((global::CppSharp.Parser.AST.PointerType.__Internal*)__Instance)->qualifiedPointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.Enumeration.__Internal*)__Instance)->modifiers = value; } } - public global::CppSharp.Parser.AST.PointerType.TypeModifier Modifier + public global::CppSharp.Parser.AST.Type Type { get { - return ((global::CppSharp.Parser.AST.PointerType.__Internal*) __Instance)->modifier; + global::CppSharp.Parser.AST.Type __result0; + if (((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type)) + __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type]; + else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type); + return __result0; } set { - ((global::CppSharp.Parser.AST.PointerType.__Internal*)__Instance)->modifier = value; + ((global::CppSharp.Parser.AST.Enumeration.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.BuiltinType BuiltinType + { + get + { + global::CppSharp.Parser.AST.BuiltinType __result0; + if (((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.BuiltinType.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType)) + __result0 = (global::CppSharp.Parser.AST.BuiltinType) global::CppSharp.Parser.AST.BuiltinType.NativeToManagedMap[((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType]; + else __result0 = global::CppSharp.Parser.AST.BuiltinType.__CreateInstance(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.Enumeration.__Internal*)__Instance)->builtinType = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public uint ItemsCount + { + get + { + var __ret = __Internal.GetItemsCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class MemberPointerType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class Variable : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 272)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal byte isDependent; + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal pointee; + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal global::System.IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(72)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(136)] + internal byte isIncomplete; + + [FieldOffset(137)] + internal byte isDependent; + + [FieldOffset(138)] + internal byte isImplicit; + + [FieldOffset(139)] + internal byte isInvalid; + + [FieldOffset(144)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(152)] + internal uint definitionOrder; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(184)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(208)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(216)] + internal global::System.IntPtr comment; + + [FieldOffset(224)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C mangled; + + [FieldOffset(256)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17MemberPointerTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST8VariableC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17MemberPointerTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST8VariableC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8VariableD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.MemberPointerType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Variable __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.MemberPointerType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Variable(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.MemberPointerType __CreateInstance(global::CppSharp.Parser.AST.MemberPointerType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Variable __CreateInstance(global::CppSharp.Parser.AST.Variable.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.MemberPointerType(native, skipVTables); + return new global::CppSharp.Parser.AST.Variable(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.MemberPointerType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Variable.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); - global::CppSharp.Parser.AST.MemberPointerType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); + global::CppSharp.Parser.AST.Variable.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private MemberPointerType(global::CppSharp.Parser.AST.MemberPointerType.__Internal native, bool skipVTables = false) + private Variable(global::CppSharp.Parser.AST.Variable.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected MemberPointerType(void* native, bool skipVTables = false) + protected Variable(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -9543,19 +8693,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public MemberPointerType() + public Variable() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public MemberPointerType(global::CppSharp.Parser.AST.MemberPointerType _0) + public Variable(global::CppSharp.Parser.AST.Variable _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -9564,171 +8714,324 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType Pointee + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public string Mangled { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MemberPointerType.__Internal*) __Instance)->pointee)); + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Variable.__Internal*) __Instance)->mangled)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.MemberPointerType.__Internal*)__Instance)->pointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Variable.__Internal*)__Instance)->mangled), value); + } + } + + public global::CppSharp.Parser.AST.QualifiedType QualifiedType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Variable.__Internal*) __Instance)->qualifiedType)); + } + + set + { + ((global::CppSharp.Parser.AST.Variable.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } } - public unsafe partial class TypedefType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class BaseClassSpecifier : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 16)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 24)] + public partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(4)] - internal byte isDependent; + internal byte isVirtual; [FieldOffset(8)] - internal global::System.IntPtr declaration; + internal global::System.IntPtr type; + + [FieldOffset(16)] + internal int offset; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST18BaseClassSpecifierC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST18BaseClassSpecifierC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); } - internal static new global::CppSharp.Parser.AST.TypedefType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.BaseClassSpecifier __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypedefType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.BaseClassSpecifier(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TypedefType __CreateInstance(global::CppSharp.Parser.AST.TypedefType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.BaseClassSpecifier __CreateInstance(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypedefType(native, skipVTables); + return new global::CppSharp.Parser.AST.BaseClassSpecifier(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); - global::CppSharp.Parser.AST.TypedefType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); + *(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) ret = native; return ret.ToPointer(); } - private TypedefType(global::CppSharp.Parser.AST.TypedefType.__Internal native, bool skipVTables = false) + private BaseClassSpecifier(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TypedefType(void* native, bool skipVTables = false) - : base((void*) null) + protected BaseClassSpecifier(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public TypedefType() - : this((void*) null) + public BaseClassSpecifier() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TypedefType(global::CppSharp.Parser.AST.TypedefType _0) - : this((void*) null) + public BaseClassSpecifier(global::CppSharp.Parser.AST.BaseClassSpecifier _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + *((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) _0.__Instance); } - public global::CppSharp.Parser.AST.TypedefNameDecl Declaration + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.BaseClassSpecifier __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.AccessSpecifier Access { get { - global::CppSharp.Parser.AST.TypedefNameDecl __result0; - if (((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TypedefNameDecl.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration)) - __result0 = (global::CppSharp.Parser.AST.TypedefNameDecl) global::CppSharp.Parser.AST.TypedefNameDecl.NativeToManagedMap[((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration]; - else __result0 = global::CppSharp.Parser.AST.TypedefNameDecl.__CreateInstance(((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration); + return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->access; + } + + set + { + ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->access = value; + } + } + + public bool IsVirtual + { + get + { + return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->isVirtual != 0; + } + + set + { + ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->isVirtual = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.Type Type + { + get + { + global::CppSharp.Parser.AST.Type __result0; + if (((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type)) + __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type]; + else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type); return __result0; } set { - ((global::CppSharp.Parser.AST.TypedefType.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public int Offset + { + get + { + return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->offset; + } + + set + { + ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->offset = value; } } } - public unsafe partial class AttributedType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class Field : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 256)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal byte isDependent; + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal modified; + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal global::System.IntPtr _namespace; [FieldOffset(24)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal equivalent; + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(72)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(136)] + internal byte isIncomplete; + + [FieldOffset(137)] + internal byte isDependent; + + [FieldOffset(138)] + internal byte isImplicit; + + [FieldOffset(139)] + internal byte isInvalid; + + [FieldOffset(144)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(152)] + internal uint definitionOrder; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(184)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(208)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(216)] + internal global::System.IntPtr comment; + + [FieldOffset(224)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(240)] + internal global::System.IntPtr _class; + + [FieldOffset(248)] + internal byte isBitField; + + [FieldOffset(252)] + internal uint bitWidth; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14AttributedTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST5FieldC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14AttributedTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST5FieldC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5FieldD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.AttributedType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Field __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.AttributedType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Field(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.AttributedType __CreateInstance(global::CppSharp.Parser.AST.AttributedType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Field __CreateInstance(global::CppSharp.Parser.AST.Field.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.AttributedType(native, skipVTables); + return new global::CppSharp.Parser.AST.Field(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.AttributedType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Field.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); - global::CppSharp.Parser.AST.AttributedType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); + global::CppSharp.Parser.AST.Field.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private AttributedType(global::CppSharp.Parser.AST.AttributedType.__Internal native, bool skipVTables = false) + private Field(global::CppSharp.Parser.AST.Field.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected AttributedType(void* native, bool skipVTables = false) + protected Field(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -9737,19 +9040,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public AttributedType() + public Field() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public AttributedType(global::CppSharp.Parser.AST.AttributedType _0) + public Field(global::CppSharp.Parser.AST.Field _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -9758,89 +9061,183 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType Modified + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.QualifiedType QualifiedType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->qualifiedType)); + } + + set + { + ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Class Class + { + get + { + global::CppSharp.Parser.AST.Class __result0; + if (((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class)) + __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class]; + else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool IsBitField { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.AttributedType.__Internal*) __Instance)->modified)); + return ((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->isBitField != 0; } set { - ((global::CppSharp.Parser.AST.AttributedType.__Internal*)__Instance)->modified = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->isBitField = (byte) (value ? 1 : 0); } } - public global::CppSharp.Parser.AST.QualifiedType Equivalent + public uint BitWidth { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.AttributedType.__Internal*) __Instance)->equivalent)); + return ((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->bitWidth; } set { - ((global::CppSharp.Parser.AST.AttributedType.__Internal*)__Instance)->equivalent = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->bitWidth = value; } } } - public unsafe partial class DecayedType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class AccessSpecifierDecl : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 56)] + [StructLayout(LayoutKind.Explicit, Size = 224)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal byte isDependent; + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal decayed; + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal global::System.IntPtr _namespace; [FieldOffset(24)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal original; + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; [FieldOffset(40)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal pointee; + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(72)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(136)] + internal byte isIncomplete; + + [FieldOffset(137)] + internal byte isDependent; + + [FieldOffset(138)] + internal byte isImplicit; + + [FieldOffset(139)] + internal byte isInvalid; + + [FieldOffset(144)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(152)] + internal uint definitionOrder; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(184)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(208)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(216)] + internal global::System.IntPtr comment; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11DecayedTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST19AccessSpecifierDeclC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11DecayedTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST19AccessSpecifierDeclC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19AccessSpecifierDeclD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.DecayedType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.AccessSpecifierDecl __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.DecayedType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.AccessSpecifierDecl(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.DecayedType __CreateInstance(global::CppSharp.Parser.AST.DecayedType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.AccessSpecifierDecl __CreateInstance(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.DecayedType(native, skipVTables); + return new global::CppSharp.Parser.AST.AccessSpecifierDecl(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.DecayedType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); - global::CppSharp.Parser.AST.DecayedType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); + global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private DecayedType(global::CppSharp.Parser.AST.DecayedType.__Internal native, bool skipVTables = false) + private AccessSpecifierDecl(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected DecayedType(void* native, bool skipVTables = false) + protected AccessSpecifierDecl(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -9849,19 +9246,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public DecayedType() + public AccessSpecifierDecl() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public DecayedType(global::CppSharp.Parser.AST.DecayedType _0) + public AccessSpecifierDecl(global::CppSharp.Parser.AST.AccessSpecifierDecl _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -9870,308 +9267,284 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType Decayed + public override void Dispose(bool disposing) { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->decayed)); - } - - set - { - ((global::CppSharp.Parser.AST.DecayedType.__Internal*)__Instance)->decayed = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; } + } - public global::CppSharp.Parser.AST.QualifiedType Original + public unsafe partial class Class : global::CppSharp.Parser.AST.DeclarationContext, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 616)] + public new partial struct __Internal { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->original)); - } + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal global::System.IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(72)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(136)] + internal byte isIncomplete; + + [FieldOffset(137)] + internal byte isDependent; + + [FieldOffset(138)] + internal byte isImplicit; + + [FieldOffset(139)] + internal byte isInvalid; + + [FieldOffset(144)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(152)] + internal uint definitionOrder; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(184)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(208)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(216)] + internal global::System.IntPtr comment; + + [FieldOffset(224)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; + + [FieldOffset(248)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; + + [FieldOffset(272)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; + + [FieldOffset(296)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; + + [FieldOffset(320)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; + + [FieldOffset(344)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; + + [FieldOffset(368)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; + + [FieldOffset(392)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; + + [FieldOffset(416)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; + + [FieldOffset(440)] + internal global::Std.Map.__Internalc__N_std_S_map____N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + + [FieldOffset(488)] + internal byte isAnonymous; + + [FieldOffset(496)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BaseClassSpecifier___N_std_S_allocator__S0_ Bases; + + [FieldOffset(520)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Field___N_std_S_allocator__S0_ Fields; + + [FieldOffset(544)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_S_allocator__S0_ Methods; + + [FieldOffset(568)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_AccessSpecifierDecl___N_std_S_allocator__S0_ Specifiers; + + [FieldOffset(592)] + internal byte isPOD; - set - { - ((global::CppSharp.Parser.AST.DecayedType.__Internal*)__Instance)->original = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } - } + [FieldOffset(593)] + internal byte isAbstract; - public global::CppSharp.Parser.AST.QualifiedType Pointee - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->pointee)); - } + [FieldOffset(594)] + internal byte isUnion; - set - { - ((global::CppSharp.Parser.AST.DecayedType.__Internal*)__Instance)->pointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } - } - } + [FieldOffset(595)] + internal byte isDynamic; - public unsafe partial class TemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 56)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + [FieldOffset(596)] + internal byte isPolymorphic; - [FieldOffset(4)] - internal byte isDependent; + [FieldOffset(597)] + internal byte hasNonTrivialDefaultConstructor; - [FieldOffset(8)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; + [FieldOffset(598)] + internal byte hasNonTrivialCopyConstructor; - [FieldOffset(32)] - internal global::System.IntPtr _template; + [FieldOffset(599)] + internal byte hasNonTrivialDestructor; - [FieldOffset(40)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; + [FieldOffset(600)] + internal byte isExternCContext; + + [FieldOffset(601)] + internal byte isInjected; + + [FieldOffset(608)] + internal global::System.IntPtr layout; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST5ClassC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST5ClassC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationTypeD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST5ClassD2Ev")] internal static extern void dtor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType12getArgumentsEj")] - internal static extern void GetArguments(global::System.IntPtr @return, global::System.IntPtr instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST5Class8getBasesEj")] + internal static extern global::System.IntPtr GetBases(global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType12addArgumentsERNS1_16TemplateArgumentE")] - internal static extern void AddArguments(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST5Class8addBasesERPNS1_18BaseClassSpecifierE")] + internal static extern void AddBases(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType14clearArgumentsEv")] - internal static extern void ClearArguments(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST5Class10clearBasesEv")] + internal static extern void ClearBases(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType17getArgumentsCountEv")] - internal static extern uint GetArgumentsCount(global::System.IntPtr instance); - } - - internal static new global::CppSharp.Parser.AST.TemplateSpecializationType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.TemplateSpecializationType(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.TemplateSpecializationType __CreateInstance(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.TemplateSpecializationType(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); - global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private TemplateSpecializationType(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected TemplateSpecializationType(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public TemplateSpecializationType() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } - - public TemplateSpecializationType(global::CppSharp.Parser.AST.TemplateSpecializationType _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } - - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Type __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - - public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) - { - var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); - __Internal.GetArguments(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); - } - - public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearArguments() - { - __Internal.ClearArguments((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.Template Template - { - get - { - global::CppSharp.Parser.AST.Template __result0; - if (((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Template.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template)) - __result0 = (global::CppSharp.Parser.AST.Template) global::CppSharp.Parser.AST.Template.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template]; - else __result0 = global::CppSharp.Parser.AST.Template.__CreateInstance(((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*)__Instance)->_template = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } - - public global::CppSharp.Parser.AST.QualifiedType Desugared - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->desugared)); - } - - set - { - ((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*)__Instance)->desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } - } + EntryPoint="_ZN8CppSharp9CppParser3AST5Class9getFieldsEj")] + internal static extern global::System.IntPtr GetFields(global::System.IntPtr instance, uint i); - public uint ArgumentsCount - { - get - { - var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class9addFieldsERPNS1_5FieldE")] + internal static extern void AddFields(global::System.IntPtr instance, global::System.IntPtr s); - public unsafe partial class DependentTemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 48)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class11clearFieldsEv")] + internal static extern void ClearFields(global::System.IntPtr instance); - [FieldOffset(4)] - internal byte isDependent; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class10getMethodsEj")] + internal static extern global::System.IntPtr GetMethods(global::System.IntPtr instance, uint i); - [FieldOffset(8)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class10addMethodsERPNS1_6MethodE")] + internal static extern void AddMethods(global::System.IntPtr instance, global::System.IntPtr s); - [FieldOffset(32)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class12clearMethodsEv")] + internal static extern void ClearMethods(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationTypeC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST5Class13getSpecifiersEj")] + internal static extern global::System.IntPtr GetSpecifiers(global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationTypeC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST5Class13addSpecifiersERPNS1_19AccessSpecifierDeclE")] + internal static extern void AddSpecifiers(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationTypeD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST5Class15clearSpecifiersEv")] + internal static extern void ClearSpecifiers(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationType12getArgumentsEj")] - internal static extern void GetArguments(global::System.IntPtr @return, global::System.IntPtr instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST5Class13getBasesCountEv")] + internal static extern uint GetBasesCount(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationType12addArgumentsERNS1_16TemplateArgumentE")] - internal static extern void AddArguments(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST5Class14getFieldsCountEv")] + internal static extern uint GetFieldsCount(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationType14clearArgumentsEv")] - internal static extern void ClearArguments(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST5Class15getMethodsCountEv")] + internal static extern uint GetMethodsCount(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationType17getArgumentsCountEv")] - internal static extern uint GetArgumentsCount(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST5Class18getSpecifiersCountEv")] + internal static extern uint GetSpecifiersCount(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.DependentTemplateSpecializationType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Class __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.DependentTemplateSpecializationType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Class(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.DependentTemplateSpecializationType __CreateInstance(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Class __CreateInstance(global::CppSharp.Parser.AST.Class.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.DependentTemplateSpecializationType(native, skipVTables); + return new global::CppSharp.Parser.AST.Class(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Class.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); - global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); + global::CppSharp.Parser.AST.Class.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private DependentTemplateSpecializationType(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native, bool skipVTables = false) + private Class(global::CppSharp.Parser.AST.Class.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected DependentTemplateSpecializationType(void* native, bool skipVTables = false) + protected Class(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -10180,19 +9553,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public DependentTemplateSpecializationType() + public Class() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public DependentTemplateSpecializationType(global::CppSharp.Parser.AST.DependentTemplateSpecializationType _0) + public Class(global::CppSharp.Parser.AST.Class _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -10205,7 +9578,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Type __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -10214,489 +9587,424 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) + public global::CppSharp.Parser.AST.BaseClassSpecifier GetBases(uint i) { - var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); - __Internal.GetArguments(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); + var __ret = __Internal.GetBases((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.BaseClassSpecifier __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.BaseClassSpecifier.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.BaseClassSpecifier) global::CppSharp.Parser.AST.BaseClassSpecifier.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.BaseClassSpecifier.__CreateInstance(__ret); + return __result0; } - public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) + public void AddBases(global::CppSharp.Parser.AST.BaseClassSpecifier s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearArguments() - { - __Internal.ClearArguments((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.QualifiedType Desugared - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal*) __Instance)->desugared)); - } - - set - { - ((global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal*)__Instance)->desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } - } - - public uint ArgumentsCount - { - get - { - var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); - return __ret; - } + __Internal.AddBases((__Instance + __PointerAdjustment), __arg0); } - } - public unsafe partial class TypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 256)] - public new partial struct __Internal + public void ClearBases() { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; - - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; - - [FieldOffset(32)] - internal int lineNumberEnd; - - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - - [FieldOffset(72)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - - [FieldOffset(104)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - - [FieldOffset(136)] - internal byte isIncomplete; - - [FieldOffset(137)] - internal byte isDependent; - - [FieldOffset(138)] - internal byte isImplicit; - - [FieldOffset(139)] - internal byte isInvalid; - - [FieldOffset(144)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(152)] - internal uint definitionOrder; - - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(184)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - - [FieldOffset(208)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(216)] - internal global::System.IntPtr comment; - - [FieldOffset(224)] - internal uint depth; - - [FieldOffset(228)] - internal uint index; - - [FieldOffset(232)] - internal byte isParameterPack; - - [FieldOffset(240)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal defaultArgument; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21TypeTemplateParameterC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21TypeTemplateParameterC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21TypeTemplateParameterD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); + __Internal.ClearBases((__Instance + __PointerAdjustment)); } - internal static new global::CppSharp.Parser.AST.TypeTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::CppSharp.Parser.AST.Field GetFields(uint i) { - return new global::CppSharp.Parser.AST.TypeTemplateParameter(native.ToPointer(), skipVTables); + var __ret = __Internal.GetFields((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Field __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Field.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Field) global::CppSharp.Parser.AST.Field.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Field.__CreateInstance(__ret); + return __result0; } - internal static global::CppSharp.Parser.AST.TypeTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal native, bool skipVTables = false) + public void AddFields(global::CppSharp.Parser.AST.Field s) { - return new global::CppSharp.Parser.AST.TypeTemplateParameter(native, skipVTables); + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddFields((__Instance + __PointerAdjustment), __arg0); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal native) + public void ClearFields() { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); - global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); + __Internal.ClearFields((__Instance + __PointerAdjustment)); } - private TypeTemplateParameter(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) + public global::CppSharp.Parser.AST.Method GetMethods(uint i) { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + var __ret = __Internal.GetMethods((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Method __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Method.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Method) global::CppSharp.Parser.AST.Method.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Method.__CreateInstance(__ret); + return __result0; } - protected TypeTemplateParameter(void* native, bool skipVTables = false) - : base((void*) null) + public void AddMethods(global::CppSharp.Parser.AST.Method s) { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddMethods((__Instance + __PointerAdjustment), __arg0); } - public TypeTemplateParameter() - : this((void*) null) + public void ClearMethods() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + __Internal.ClearMethods((__Instance + __PointerAdjustment)); } - public TypeTemplateParameter(global::CppSharp.Parser.AST.TypeTemplateParameter _0) - : this((void*) null) + public global::CppSharp.Parser.AST.AccessSpecifierDecl GetSpecifiers(uint i) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + var __ret = __Internal.GetSpecifiers((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.AccessSpecifierDecl __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.AccessSpecifierDecl.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.AccessSpecifierDecl) global::CppSharp.Parser.AST.AccessSpecifierDecl.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.AccessSpecifierDecl.__CreateInstance(__ret); + return __result0; } - public override void Dispose(bool disposing) + public void AddSpecifiers(global::CppSharp.Parser.AST.AccessSpecifierDecl s) { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddSpecifiers((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType DefaultArgument + public void ClearSpecifiers() + { + __Internal.ClearSpecifiers((__Instance + __PointerAdjustment)); + } + + public bool IsPOD { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal*) __Instance)->defaultArgument)); + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isPOD != 0; } set { - ((global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal*)__Instance)->defaultArgument = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isPOD = (byte) (value ? 1 : 0); } } - } - public unsafe partial class TemplateParameter : global::CppSharp.Parser.AST.Declaration, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 240)] - public new partial struct __Internal + public bool IsAbstract { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; - - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; - - [FieldOffset(32)] - internal int lineNumberEnd; - - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - - [FieldOffset(72)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - - [FieldOffset(104)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - - [FieldOffset(136)] - internal byte isIncomplete; - - [FieldOffset(137)] - internal byte isDependent; - - [FieldOffset(138)] - internal byte isImplicit; - - [FieldOffset(139)] - internal byte isInvalid; - - [FieldOffset(144)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(152)] - internal uint definitionOrder; - - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(184)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - - [FieldOffset(208)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(216)] - internal global::System.IntPtr comment; - - [FieldOffset(224)] - internal uint depth; - - [FieldOffset(228)] - internal uint index; - - [FieldOffset(232)] - internal byte isParameterPack; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17TemplateParameterC2ENS1_15DeclarationKindE")] - internal static extern void ctor(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17TemplateParameterC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isAbstract != 0; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17TemplateParameterD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isAbstract = (byte) (value ? 1 : 0); + } } - internal static new global::CppSharp.Parser.AST.TemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public bool IsUnion { - return new global::CppSharp.Parser.AST.TemplateParameter(native.ToPointer(), skipVTables); - } + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isUnion != 0; + } - internal static global::CppSharp.Parser.AST.TemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TemplateParameter.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.TemplateParameter(native, skipVTables); + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isUnion = (byte) (value ? 1 : 0); + } } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameter.__Internal native) + public bool IsDynamic { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); - global::CppSharp.Parser.AST.TemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isDynamic != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isDynamic = (byte) (value ? 1 : 0); + } } - private TemplateParameter(global::CppSharp.Parser.AST.TemplateParameter.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) + public bool IsPolymorphic { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isPolymorphic != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isPolymorphic = (byte) (value ? 1 : 0); + } } - protected TemplateParameter(void* native, bool skipVTables = false) - : base((void*) null) + public bool HasNonTrivialDefaultConstructor { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->hasNonTrivialDefaultConstructor != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->hasNonTrivialDefaultConstructor = (byte) (value ? 1 : 0); + } } - public TemplateParameter(global::CppSharp.Parser.AST.DeclarationKind kind) - : this((void*) null) + public bool HasNonTrivialCopyConstructor { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), kind); + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->hasNonTrivialCopyConstructor != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->hasNonTrivialCopyConstructor = (byte) (value ? 1 : 0); + } } - public TemplateParameter(global::CppSharp.Parser.AST.TemplateParameter _0) - : this((void*) null) + public bool HasNonTrivialDestructor { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->hasNonTrivialDestructor != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->hasNonTrivialDestructor = (byte) (value ? 1 : 0); + } } - public override void Dispose(bool disposing) + public bool IsExternCContext { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isExternCContext != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isExternCContext = (byte) (value ? 1 : 0); + } } - public static implicit operator global::CppSharp.Parser.AST.TemplateParameter(global::CppSharp.Parser.AST.DeclarationKind kind) + public bool IsInjected { - return new global::CppSharp.Parser.AST.TemplateParameter(kind); + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isInjected != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isInjected = (byte) (value ? 1 : 0); + } } - public uint Depth + public global::CppSharp.Parser.AST.ClassLayout Layout { get { - return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->depth; + global::CppSharp.Parser.AST.ClassLayout __result0; + if (((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.ClassLayout.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout)) + __result0 = (global::CppSharp.Parser.AST.ClassLayout) global::CppSharp.Parser.AST.ClassLayout.NativeToManagedMap[((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout]; + else __result0 = global::CppSharp.Parser.AST.ClassLayout.__CreateInstance(((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout); + return __result0; } set { - ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*)__Instance)->depth = value; + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->layout = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public uint BasesCount + { + get + { + var __ret = __Internal.GetBasesCount((__Instance + __PointerAdjustment)); + return __ret; } } - public uint Index + public uint FieldsCount { get { - return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->index; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*)__Instance)->index = value; + var __ret = __Internal.GetFieldsCount((__Instance + __PointerAdjustment)); + return __ret; } } - public bool IsParameterPack + public uint MethodsCount { get { - return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->isParameterPack != 0; + var __ret = __Internal.GetMethodsCount((__Instance + __PointerAdjustment)); + return __ret; } + } - set + public uint SpecifiersCount + { + get { - ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*)__Instance)->isParameterPack = (byte) (value ? 1 : 0); + var __ret = __Internal.GetSpecifiersCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class TemplateParameterType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class Template : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 256)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal byte isDependent; + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::System.IntPtr parameter; + internal global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(16)] - internal uint depth; - - [FieldOffset(20)] - internal uint index; + internal global::System.IntPtr _namespace; [FieldOffset(24)] - internal byte isParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(72)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(136)] + internal byte isIncomplete; + + [FieldOffset(137)] + internal byte isDependent; + + [FieldOffset(138)] + internal byte isImplicit; + + [FieldOffset(139)] + internal byte isInvalid; + + [FieldOffset(144)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(152)] + internal uint definitionOrder; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(184)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(208)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(216)] + internal global::System.IntPtr comment; + + [FieldOffset(224)] + internal global::System.IntPtr TemplatedDecl; + + [FieldOffset(232)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21TemplateParameterTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateC2ENS1_15DeclarationKindE")] + internal static extern void ctor(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21TemplateParameterTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21TemplateParameterTypeD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateD2Ev")] internal static extern void dtor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Template13getParametersEj")] + internal static extern global::System.IntPtr GetParameters(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Template13addParametersERPNS1_11DeclarationE")] + internal static extern void AddParameters(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Template15clearParametersEv")] + internal static extern void ClearParameters(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Template18getParametersCountEv")] + internal static extern uint GetParametersCount(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.TemplateParameterType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Template __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateParameterType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Template(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TemplateParameterType __CreateInstance(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Template __CreateInstance(global::CppSharp.Parser.AST.Template.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateParameterType(native, skipVTables); + return new global::CppSharp.Parser.AST.Template(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Template.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); - global::CppSharp.Parser.AST.TemplateParameterType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); + global::CppSharp.Parser.AST.Template.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateParameterType(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native, bool skipVTables = false) + private Template(global::CppSharp.Parser.AST.Template.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TemplateParameterType(void* native, bool skipVTables = false) + protected Template(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -10705,19 +10013,28 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TemplateParameterType() + public Template(global::CppSharp.Parser.AST.DeclarationKind kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), kind); + } + + public Template() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TemplateParameterType(global::CppSharp.Parser.AST.TemplateParameterType _0) + public Template(global::CppSharp.Parser.AST.Template _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -10730,7 +10047,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Type __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -10739,117 +10056,175 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.TypeTemplateParameter Parameter + public global::CppSharp.Parser.AST.Declaration GetParameters(uint i) + { + var __ret = __Internal.GetParameters((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Declaration __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(__ret); + return __result0; + } + + public void AddParameters(global::CppSharp.Parser.AST.Declaration s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddParameters((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearParameters() + { + __Internal.ClearParameters((__Instance + __PointerAdjustment)); + } + + public static implicit operator global::CppSharp.Parser.AST.Template(global::CppSharp.Parser.AST.DeclarationKind kind) + { + return new global::CppSharp.Parser.AST.Template(kind); + } + + public global::CppSharp.Parser.AST.Declaration TemplatedDecl { get { - global::CppSharp.Parser.AST.TypeTemplateParameter __result0; - if (((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TypeTemplateParameter.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter)) - __result0 = (global::CppSharp.Parser.AST.TypeTemplateParameter) global::CppSharp.Parser.AST.TypeTemplateParameter.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter]; - else __result0 = global::CppSharp.Parser.AST.TypeTemplateParameter.__CreateInstance(((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter); + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl); return __result0; } set { - ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->parameter = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.Template.__Internal*)__Instance)->TemplatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public uint Depth + public uint ParametersCount { get { - return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->depth; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->depth = value; + var __ret = __Internal.GetParametersCount((__Instance + __PointerAdjustment)); + return __ret; } } + } + + public unsafe partial class TypeAliasTemplate : global::CppSharp.Parser.AST.Template, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 256)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal global::System.IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(72)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(136)] + internal byte isIncomplete; + + [FieldOffset(137)] + internal byte isDependent; + + [FieldOffset(138)] + internal byte isImplicit; - public uint Index - { - get - { - return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->index; - } + [FieldOffset(139)] + internal byte isInvalid; - set - { - ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->index = value; - } - } + [FieldOffset(144)] + internal global::System.IntPtr completeDeclaration; - public bool IsParameterPack - { - get - { - return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->isParameterPack != 0; - } + [FieldOffset(152)] + internal uint definitionOrder; - set - { - ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->isParameterPack = (byte) (value ? 1 : 0); - } - } - } + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - public unsafe partial class TemplateParameterSubstitutionType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 32)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + [FieldOffset(184)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - [FieldOffset(4)] - internal byte isDependent; + [FieldOffset(208)] + internal global::System.IntPtr originalPtr; - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal replacement; + [FieldOffset(216)] + internal global::System.IntPtr comment; - [FieldOffset(24)] - internal global::System.IntPtr replacedParameter; + [FieldOffset(224)] + internal global::System.IntPtr TemplatedDecl; + + [FieldOffset(232)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST33TemplateParameterSubstitutionTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST17TypeAliasTemplateC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST33TemplateParameterSubstitutionTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST17TypeAliasTemplateC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17TypeAliasTemplateD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.TemplateParameterSubstitutionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TypeAliasTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateParameterSubstitutionType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TypeAliasTemplate(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TemplateParameterSubstitutionType __CreateInstance(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TypeAliasTemplate __CreateInstance(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateParameterSubstitutionType(native, skipVTables); + return new global::CppSharp.Parser.AST.TypeAliasTemplate(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); - global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); + global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateParameterSubstitutionType(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native, bool skipVTables = false) + private TypeAliasTemplate(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TemplateParameterSubstitutionType(void* native, bool skipVTables = false) + protected TypeAliasTemplate(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -10858,19 +10233,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TemplateParameterSubstitutionType() + public TypeAliasTemplate() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TemplateParameterSubstitutionType(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType _0) + public TypeAliasTemplate(global::CppSharp.Parser.AST.TypeAliasTemplate _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -10879,91 +10254,135 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType Replacement - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacement)); - } - - set - { - ((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*)__Instance)->replacement = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } - } - - public global::CppSharp.Parser.AST.TemplateParameterType ReplacedParameter + public override void Dispose(bool disposing) { - get - { - global::CppSharp.Parser.AST.TemplateParameterType __result0; - if (((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TemplateParameterType.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter)) - __result0 = (global::CppSharp.Parser.AST.TemplateParameterType) global::CppSharp.Parser.AST.TemplateParameterType.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter]; - else __result0 = global::CppSharp.Parser.AST.TemplateParameterType.__CreateInstance(((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*)__Instance)->replacedParameter = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; } } - public unsafe partial class InjectedClassNameType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class TemplateParameter : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 240)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal byte isDependent; + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal injectedSpecializationType; + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal global::System.IntPtr _namespace; [FieldOffset(24)] - internal global::System.IntPtr _class; + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(72)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(136)] + internal byte isIncomplete; + + [FieldOffset(137)] + internal byte isDependent; + + [FieldOffset(138)] + internal byte isImplicit; + + [FieldOffset(139)] + internal byte isInvalid; + + [FieldOffset(144)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(152)] + internal uint definitionOrder; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(184)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(208)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(216)] + internal global::System.IntPtr comment; + + [FieldOffset(224)] + internal uint depth; + + [FieldOffset(228)] + internal uint index; + + [FieldOffset(232)] + internal byte isParameterPack; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21InjectedClassNameTypeC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST17TemplateParameterC2ENS1_15DeclarationKindE")] + internal static extern void ctor(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21InjectedClassNameTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST17TemplateParameterC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17TemplateParameterD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.InjectedClassNameType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.InjectedClassNameType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TemplateParameter(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.InjectedClassNameType __CreateInstance(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TemplateParameter.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.InjectedClassNameType(native, skipVTables); + return new global::CppSharp.Parser.AST.TemplateParameter(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameter.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); - global::CppSharp.Parser.AST.InjectedClassNameType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); + global::CppSharp.Parser.AST.TemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private InjectedClassNameType(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native, bool skipVTables = false) + private TemplateParameter(global::CppSharp.Parser.AST.TemplateParameter.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected InjectedClassNameType(void* native, bool skipVTables = false) + protected TemplateParameter(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -10972,19 +10391,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public InjectedClassNameType() + public TemplateParameter(global::CppSharp.Parser.AST.DeclarationKind kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + __Internal.ctor((__Instance + __PointerAdjustment), kind); } - public InjectedClassNameType(global::CppSharp.Parser.AST.InjectedClassNameType _0) + public TemplateParameter(global::CppSharp.Parser.AST.TemplateParameter _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -10993,96 +10412,185 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType InjectedSpecializationType + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public static implicit operator global::CppSharp.Parser.AST.TemplateParameter(global::CppSharp.Parser.AST.DeclarationKind kind) + { + return new global::CppSharp.Parser.AST.TemplateParameter(kind); + } + + public uint Depth + { + get + { + return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->depth; + } + + set + { + ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*)__Instance)->depth = value; + } + } + + public uint Index { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->injectedSpecializationType)); + return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->index; } set { - ((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*)__Instance)->injectedSpecializationType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*)__Instance)->index = value; } } - public global::CppSharp.Parser.AST.Class Class + public bool IsParameterPack { get { - global::CppSharp.Parser.AST.Class __result0; - if (((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class)) - __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class]; - else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class); - return __result0; + return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->isParameterPack != 0; } set { - ((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*)__Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*)__Instance)->isParameterPack = (byte) (value ? 1 : 0); } } } - public unsafe partial class DependentNameType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class TemplateTemplateParameter : global::CppSharp.Parser.AST.Template, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 56)] + [StructLayout(LayoutKind.Explicit, Size = 264)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal byte isDependent; + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifier; + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal global::System.IntPtr _namespace; [FieldOffset(24)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C identifier; + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(72)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(136)] + internal byte isIncomplete; + + [FieldOffset(137)] + internal byte isDependent; + + [FieldOffset(138)] + internal byte isImplicit; + + [FieldOffset(139)] + internal byte isInvalid; + + [FieldOffset(144)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(152)] + internal uint definitionOrder; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(184)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(208)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(216)] + internal global::System.IntPtr comment; + + [FieldOffset(224)] + internal global::System.IntPtr TemplatedDecl; + + [FieldOffset(232)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; + + [FieldOffset(256)] + internal byte isParameterPack; + + [FieldOffset(257)] + internal byte isPackExpansion; + + [FieldOffset(258)] + internal byte isExpandedParameterPack; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17DependentNameTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST25TemplateTemplateParameterC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17DependentNameTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST25TemplateTemplateParameterC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17DependentNameTypeD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST25TemplateTemplateParameterD2Ev")] internal static extern void dtor(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.DependentNameType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TemplateTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.DependentNameType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TemplateTemplateParameter(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.DependentNameType __CreateInstance(global::CppSharp.Parser.AST.DependentNameType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TemplateTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.DependentNameType(native, skipVTables); + return new global::CppSharp.Parser.AST.TemplateTemplateParameter(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.DependentNameType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); - global::CppSharp.Parser.AST.DependentNameType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); + global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private DependentNameType(global::CppSharp.Parser.AST.DependentNameType.__Internal native, bool skipVTables = false) + private TemplateTemplateParameter(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected DependentNameType(void* native, bool skipVTables = false) + protected TemplateTemplateParameter(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -11091,19 +10599,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public DependentNameType() + public TemplateTemplateParameter() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public DependentNameType(global::CppSharp.Parser.AST.DependentNameType _0) + public TemplateTemplateParameter(global::CppSharp.Parser.AST.TemplateTemplateParameter _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -11116,7 +10624,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Type __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -11125,166 +10633,164 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.QualifiedType Qualifier + public bool IsParameterPack { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentNameType.__Internal*) __Instance)->qualifier)); + return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isParameterPack != 0; } set { - ((global::CppSharp.Parser.AST.DependentNameType.__Internal*)__Instance)->qualifier = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*)__Instance)->isParameterPack = (byte) (value ? 1 : 0); } } - public string Identifier + public bool IsPackExpansion { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentNameType.__Internal*) __Instance)->identifier)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isPackExpansion != 0; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentNameType.__Internal*)__Instance)->identifier), value); + ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*)__Instance)->isPackExpansion = (byte) (value ? 1 : 0); + } + } + + public bool IsExpandedParameterPack + { + get + { + return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isExpandedParameterPack != 0; + } + + set + { + ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*)__Instance)->isExpandedParameterPack = (byte) (value ? 1 : 0); } } } - public unsafe partial class PackExpansionType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class TypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 8)] + [StructLayout(LayoutKind.Explicit, Size = 256)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal byte isDependent; + internal int maxFieldAlignment; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17PackExpansionTypeC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17PackExpansionTypeC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - } + [FieldOffset(16)] + internal global::System.IntPtr _namespace; - internal static new global::CppSharp.Parser.AST.PackExpansionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.PackExpansionType(native.ToPointer(), skipVTables); - } + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; - internal static global::CppSharp.Parser.AST.PackExpansionType __CreateInstance(global::CppSharp.Parser.AST.PackExpansionType.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.PackExpansionType(native, skipVTables); - } + [FieldOffset(28)] + internal int lineNumberStart; - private static void* __CopyValue(global::CppSharp.Parser.AST.PackExpansionType.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); - global::CppSharp.Parser.AST.PackExpansionType.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + [FieldOffset(32)] + internal int lineNumberEnd; - private PackExpansionType(global::CppSharp.Parser.AST.PackExpansionType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - protected PackExpansionType(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [FieldOffset(72)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - public PackExpansionType() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(136)] + internal byte isIncomplete; + + [FieldOffset(137)] + internal byte isDependent; + + [FieldOffset(138)] + internal byte isImplicit; + + [FieldOffset(139)] + internal byte isInvalid; + + [FieldOffset(144)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(152)] + internal uint definitionOrder; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - public PackExpansionType(global::CppSharp.Parser.AST.PackExpansionType _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } - } + [FieldOffset(184)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - public unsafe partial class UnaryTransformType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 40)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + [FieldOffset(208)] + internal global::System.IntPtr originalPtr; - [FieldOffset(4)] - internal byte isDependent; + [FieldOffset(216)] + internal global::System.IntPtr comment; - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; + [FieldOffset(224)] + internal uint depth; - [FieldOffset(24)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal baseType; + [FieldOffset(228)] + internal uint index; + + [FieldOffset(232)] + internal byte isParameterPack; + + [FieldOffset(240)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal defaultArgument; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18UnaryTransformTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST21TypeTemplateParameterC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18UnaryTransformTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST21TypeTemplateParameterC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST21TypeTemplateParameterD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.UnaryTransformType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TypeTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.UnaryTransformType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TypeTemplateParameter(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.UnaryTransformType __CreateInstance(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TypeTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.UnaryTransformType(native, skipVTables); + return new global::CppSharp.Parser.AST.TypeTemplateParameter(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); - global::CppSharp.Parser.AST.UnaryTransformType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); + global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private UnaryTransformType(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native, bool skipVTables = false) + private TypeTemplateParameter(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected UnaryTransformType(void* native, bool skipVTables = false) + protected TypeTemplateParameter(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -11293,19 +10799,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public UnaryTransformType() + public TypeTemplateParameter() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public UnaryTransformType(global::CppSharp.Parser.AST.UnaryTransformType _0) + public TypeTemplateParameter(global::CppSharp.Parser.AST.TypeTemplateParameter _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -11314,86 +10820,160 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType Desugared + public override void Dispose(bool disposing) { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*) __Instance)->desugared)); - } - - set - { - ((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*)__Instance)->desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.QualifiedType BaseType + public global::CppSharp.Parser.AST.QualifiedType DefaultArgument { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*) __Instance)->baseType)); + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal*) __Instance)->defaultArgument)); } set { - ((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*)__Instance)->baseType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal*)__Instance)->defaultArgument = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } } - public unsafe partial class VectorType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class NonTypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 256)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal byte isDependent; + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal elementType; + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal global::System.IntPtr _namespace; [FieldOffset(24)] - internal uint numElements; + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(72)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(136)] + internal byte isIncomplete; + + [FieldOffset(137)] + internal byte isDependent; + + [FieldOffset(138)] + internal byte isImplicit; + + [FieldOffset(139)] + internal byte isInvalid; + + [FieldOffset(144)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(152)] + internal uint definitionOrder; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(184)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(208)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(216)] + internal global::System.IntPtr comment; + + [FieldOffset(224)] + internal uint depth; + + [FieldOffset(228)] + internal uint index; + + [FieldOffset(232)] + internal byte isParameterPack; + + [FieldOffset(240)] + internal global::System.IntPtr defaultArgument; + + [FieldOffset(248)] + internal uint position; + + [FieldOffset(252)] + internal byte isPackExpansion; + + [FieldOffset(253)] + internal byte isExpandedParameterPack; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10VectorTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST24NonTypeTemplateParameterC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10VectorTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST24NonTypeTemplateParameterC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST24NonTypeTemplateParameterD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.VectorType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.NonTypeTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VectorType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.NonTypeTemplateParameter(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.VectorType __CreateInstance(global::CppSharp.Parser.AST.VectorType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.NonTypeTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VectorType(native, skipVTables); + return new global::CppSharp.Parser.AST.NonTypeTemplateParameter(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.VectorType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); - global::CppSharp.Parser.AST.VectorType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); + global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private VectorType(global::CppSharp.Parser.AST.VectorType.__Internal native, bool skipVTables = false) + private NonTypeTemplateParameter(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected VectorType(void* native, bool skipVTables = false) + protected NonTypeTemplateParameter(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -11402,50 +10982,94 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public VectorType() + public NonTypeTemplateParameter() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public VectorType(global::CppSharp.Parser.AST.VectorType _0) + public NonTypeTemplateParameter(global::CppSharp.Parser.AST.NonTypeTemplateParameter _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Expression DefaultArgument + { + get + { + global::CppSharp.Parser.AST.Expression __result0; + if (((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument)) + __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument]; + else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->defaultArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public uint Position + { + get + { + return ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->position; + } + + set + { + ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->position = value; + } } - public global::CppSharp.Parser.AST.QualifiedType ElementType + public bool IsPackExpansion { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VectorType.__Internal*) __Instance)->elementType)); + return ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->isPackExpansion != 0; } set { - ((global::CppSharp.Parser.AST.VectorType.__Internal*)__Instance)->elementType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->isPackExpansion = (byte) (value ? 1 : 0); } } - public uint NumElements + public bool IsExpandedParameterPack { get { - return ((global::CppSharp.Parser.AST.VectorType.__Internal*) __Instance)->numElements; + return ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->isExpandedParameterPack != 0; } set { - ((global::CppSharp.Parser.AST.VectorType.__Internal*)__Instance)->numElements = value; + ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->isExpandedParameterPack = (byte) (value ? 1 : 0); } } } @@ -12239,115 +11863,354 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + } + + public unsafe partial class FunctionTemplate : global::CppSharp.Parser.AST.Template, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 280)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal global::System.IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(72)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(136)] + internal byte isIncomplete; + + [FieldOffset(137)] + internal byte isDependent; + + [FieldOffset(138)] + internal byte isImplicit; + + [FieldOffset(139)] + internal byte isInvalid; + + [FieldOffset(144)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(152)] + internal uint definitionOrder; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(184)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(208)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(216)] + internal global::System.IntPtr comment; + + [FieldOffset(224)] + internal global::System.IntPtr TemplatedDecl; + + [FieldOffset(232)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; + + [FieldOffset(256)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_FunctionTemplateSpecialization___N_std_S_allocator__S0_ Specializations; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplateC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplateC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplateD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate18getSpecializationsEj")] + internal static extern global::System.IntPtr GetSpecializations(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate18addSpecializationsERPNS1_30FunctionTemplateSpecializationE")] + internal static extern void AddSpecializations(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate20clearSpecializationsEv")] + internal static extern void ClearSpecializations(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate18FindSpecializationERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE")] + internal static extern global::System.IntPtr FindSpecialization(global::System.IntPtr instance, global::System.IntPtr usr); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate23getSpecializationsCountEv")] + internal static extern uint GetSpecializationsCount(global::System.IntPtr instance); + } + + internal static new global::CppSharp.Parser.AST.FunctionTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.FunctionTemplate(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.FunctionTemplate __CreateInstance(global::CppSharp.Parser.AST.FunctionTemplate.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.FunctionTemplate(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionTemplate.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); + global::CppSharp.Parser.AST.FunctionTemplate.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private FunctionTemplate(global::CppSharp.Parser.AST.FunctionTemplate.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected FunctionTemplate(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public FunctionTemplate() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public FunctionTemplate(global::CppSharp.Parser.AST.FunctionTemplate _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.FunctionTemplateSpecialization GetSpecializations(uint i) + { + var __ret = __Internal.GetSpecializations((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.FunctionTemplateSpecialization __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.FunctionTemplateSpecialization) global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__CreateInstance(__ret); + return __result0; + } + + public void AddSpecializations(global::CppSharp.Parser.AST.FunctionTemplateSpecialization s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddSpecializations((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearSpecializations() + { + __Internal.ClearSpecializations((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.FunctionTemplateSpecialization FindSpecialization(string usr) + { + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, usr); + var __arg0 = __basicString0.__Instance; + var __ret = __Internal.FindSpecialization((__Instance + __PointerAdjustment), __arg0); + __basicString0.Dispose(false); + global::CppSharp.Parser.AST.FunctionTemplateSpecialization __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.FunctionTemplateSpecialization) global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__CreateInstance(__ret); + return __result0; + } + + public uint SpecializationsCount { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; + get + { + var __ret = __Internal.GetSpecializationsCount((__Instance + __PointerAdjustment)); + return __ret; + } } } - public unsafe partial class BinaryOperator : global::CppSharp.Parser.AST.Expression, IDisposable + public unsafe partial class FunctionTemplateSpecialization : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 96)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 48)] + public partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.StatementClass _class; + internal global::System.IntPtr _template; [FieldOffset(8)] - internal global::System.IntPtr decl; - - [FieldOffset(16)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; - - [FieldOffset(48)] - internal global::System.IntPtr LHS; + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; - [FieldOffset(56)] - internal global::System.IntPtr RHS; + [FieldOffset(32)] + internal global::System.IntPtr specializedFunction; - [FieldOffset(64)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C opcodeStr; + [FieldOffset(40)] + internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14BinaryOperatorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPNS1_10ExpressionESC_SA_")] - internal static extern void ctor(global::System.IntPtr instance, global::System.IntPtr str, global::System.IntPtr lhs, global::System.IntPtr rhs, global::System.IntPtr opcodeStr); + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecializationC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14BinaryOperatorC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecializationC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14BinaryOperatorD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecializationD2Ev")] internal static extern void dtor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization12getArgumentsEj")] + internal static extern void GetArguments(global::System.IntPtr @return, global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization12addArgumentsERNS1_16TemplateArgumentE")] + internal static extern void AddArguments(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization14clearArgumentsEv")] + internal static extern void ClearArguments(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization17getArgumentsCountEv")] + internal static extern uint GetArgumentsCount(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.BinaryOperator __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.FunctionTemplateSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.BinaryOperator(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.FunctionTemplateSpecialization(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.BinaryOperator __CreateInstance(global::CppSharp.Parser.AST.BinaryOperator.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.FunctionTemplateSpecialization __CreateInstance(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.BinaryOperator(native, skipVTables); + return new global::CppSharp.Parser.AST.FunctionTemplateSpecialization(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.BinaryOperator.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); - global::CppSharp.Parser.AST.BinaryOperator.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); + global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private BinaryOperator(global::CppSharp.Parser.AST.BinaryOperator.__Internal native, bool skipVTables = false) + private FunctionTemplateSpecialization(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected BinaryOperator(void* native, bool skipVTables = false) - : base((void*) null) + protected FunctionTemplateSpecialization(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public BinaryOperator(string str, global::CppSharp.Parser.AST.Expression lhs, global::CppSharp.Parser.AST.Expression rhs, string opcodeStr) - : this((void*) null) + public FunctionTemplateSpecialization() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, str); - var __arg0 = __basicString0.__Instance; - var __arg1 = ReferenceEquals(lhs, null) ? global::System.IntPtr.Zero : lhs.__Instance; - var __arg2 = ReferenceEquals(rhs, null) ? global::System.IntPtr.Zero : rhs.__Instance; - var __basicString3 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString3, opcodeStr); - var __arg3 = __basicString3.__Instance; - __Internal.ctor((__Instance + __PointerAdjustment), __arg0, __arg1, __arg2, __arg3); - __basicString0.Dispose(false); - __basicString3.Dispose(false); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public BinaryOperator(global::CppSharp.Parser.AST.BinaryOperator _0) - : this((void*) null) + public FunctionTemplateSpecialization(global::CppSharp.Parser.AST.FunctionTemplateSpecialization _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -12356,11 +12219,16 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Statement __dummy; + global::CppSharp.Parser.AST.FunctionTemplateSpecialization __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -12369,137 +12237,230 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.Expression LHS + public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) + { + var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); + __Internal.GetArguments(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); + return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); + } + + public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearArguments() + { + __Internal.ClearArguments((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.FunctionTemplate Template { get { - global::CppSharp.Parser.AST.Expression __result0; - if (((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->LHS == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->LHS)) - __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->LHS]; - else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->LHS); + global::CppSharp.Parser.AST.FunctionTemplate __result0; + if (((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.FunctionTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template)) + __result0 = (global::CppSharp.Parser.AST.FunctionTemplate) global::CppSharp.Parser.AST.FunctionTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template]; + else __result0 = global::CppSharp.Parser.AST.FunctionTemplate.__CreateInstance(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template); return __result0; } set { - ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->LHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*)__Instance)->_template = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Function SpecializedFunction + { + get + { + global::CppSharp.Parser.AST.Function __result0; + if (((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction)) + __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction]; + else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*)__Instance)->specializedFunction = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind + { + get + { + return ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializationKind; + } + + set + { + ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*)__Instance)->specializationKind = value; + } + } + + public uint ArgumentsCount + { + get + { + var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); + return __ret; } } + } + + public unsafe partial class VarTemplate : global::CppSharp.Parser.AST.Template, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 280)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal global::System.IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(72)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(136)] + internal byte isIncomplete; + + [FieldOffset(137)] + internal byte isDependent; + + [FieldOffset(138)] + internal byte isImplicit; + + [FieldOffset(139)] + internal byte isInvalid; - public global::CppSharp.Parser.AST.Expression RHS - { - get - { - global::CppSharp.Parser.AST.Expression __result0; - if (((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->RHS == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->RHS)) - __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->RHS]; - else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->RHS); - return __result0; - } + [FieldOffset(144)] + internal global::System.IntPtr completeDeclaration; - set - { - ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->RHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } + [FieldOffset(152)] + internal uint definitionOrder; - public string OpcodeStr - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->opcodeStr)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->opcodeStr), value); - } - } - } + [FieldOffset(184)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - public unsafe partial class CallExpr : global::CppSharp.Parser.AST.Expression, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 72)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.StatementClass _class; + [FieldOffset(208)] + internal global::System.IntPtr originalPtr; - [FieldOffset(8)] - internal global::System.IntPtr decl; + [FieldOffset(216)] + internal global::System.IntPtr comment; - [FieldOffset(16)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; + [FieldOffset(224)] + internal global::System.IntPtr TemplatedDecl; - [FieldOffset(48)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expression___N_std_S_allocator__S0_ Arguments; + [FieldOffset(232)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; + + [FieldOffset(256)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_VarTemplateSpecialization___N_std_S_allocator__S0_ Specializations; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8CallExprC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPNS1_11DeclarationE")] - internal static extern void ctor(global::System.IntPtr instance, global::System.IntPtr str, global::System.IntPtr decl); + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplateC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8CallExprC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplateC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8CallExprD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplateD2Ev")] internal static extern void dtor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr12getArgumentsEj")] - internal static extern global::System.IntPtr GetArguments(global::System.IntPtr instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate18getSpecializationsEj")] + internal static extern global::System.IntPtr GetSpecializations(global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr12addArgumentsERPNS1_10ExpressionE")] - internal static extern void AddArguments(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate18addSpecializationsERPNS1_25VarTemplateSpecializationE")] + internal static extern void AddSpecializations(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr14clearArgumentsEv")] - internal static extern void ClearArguments(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate20clearSpecializationsEv")] + internal static extern void ClearSpecializations(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr17getArgumentsCountEv")] - internal static extern uint GetArgumentsCount(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate18FindSpecializationERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE")] + internal static extern global::System.IntPtr FindSpecialization(global::System.IntPtr instance, global::System.IntPtr usr); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate25FindPartialSpecializationERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE")] + internal static extern global::System.IntPtr FindPartialSpecialization(global::System.IntPtr instance, global::System.IntPtr usr); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate23getSpecializationsCountEv")] + internal static extern uint GetSpecializationsCount(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.CallExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.VarTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.CallExpr(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.VarTemplate(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.CallExpr __CreateInstance(global::CppSharp.Parser.AST.CallExpr.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.VarTemplate __CreateInstance(global::CppSharp.Parser.AST.VarTemplate.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.CallExpr(native, skipVTables); + return new global::CppSharp.Parser.AST.VarTemplate(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.CallExpr.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VarTemplate.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); - global::CppSharp.Parser.AST.CallExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); + global::CppSharp.Parser.AST.VarTemplate.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private CallExpr(global::CppSharp.Parser.AST.CallExpr.__Internal native, bool skipVTables = false) + private VarTemplate(global::CppSharp.Parser.AST.VarTemplate.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected CallExpr(void* native, bool skipVTables = false) + protected VarTemplate(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -12508,24 +12469,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public CallExpr(string str, global::CppSharp.Parser.AST.Declaration decl) + public VarTemplate() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, str); - var __arg0 = __basicString0.__Instance; - var __arg1 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; - __Internal.ctor((__Instance + __PointerAdjustment), __arg0, __arg1); - __basicString0.Dispose(false); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public CallExpr(global::CppSharp.Parser.AST.CallExpr _0) + public VarTemplate(global::CppSharp.Parser.AST.VarTemplate _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -12538,7 +12494,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Statement __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -12547,118 +12503,211 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.Expression GetArguments(uint i) + public global::CppSharp.Parser.AST.VarTemplateSpecialization GetSpecializations(uint i) { - var __ret = __Internal.GetArguments((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Expression __result0; + var __ret = __Internal.GetSpecializations((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.VarTemplateSpecialization __result0; if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(__ret); + else if (global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.VarTemplateSpecialization) global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.VarTemplateSpecialization.__CreateInstance(__ret); + return __result0; + } + + public void AddSpecializations(global::CppSharp.Parser.AST.VarTemplateSpecialization s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddSpecializations((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearSpecializations() + { + __Internal.ClearSpecializations((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.VarTemplateSpecialization FindSpecialization(string usr) + { + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, usr); + var __arg0 = __basicString0.__Instance; + var __ret = __Internal.FindSpecialization((__Instance + __PointerAdjustment), __arg0); + __basicString0.Dispose(false); + global::CppSharp.Parser.AST.VarTemplateSpecialization __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.VarTemplateSpecialization) global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.VarTemplateSpecialization.__CreateInstance(__ret); + return __result0; + } + + public global::CppSharp.Parser.AST.VarTemplatePartialSpecialization FindPartialSpecialization(string usr) + { + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, usr); + var __arg0 = __basicString0.__Instance; + var __ret = __Internal.FindPartialSpecialization((__Instance + __PointerAdjustment), __arg0); + __basicString0.Dispose(false); + global::CppSharp.Parser.AST.VarTemplatePartialSpecialization __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.VarTemplatePartialSpecialization) global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__CreateInstance(__ret); return __result0; } - public void AddArguments(global::CppSharp.Parser.AST.Expression s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); - } + public uint SpecializationsCount + { + get + { + var __ret = __Internal.GetSpecializationsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } + + public unsafe partial class VarTemplateSpecialization : global::CppSharp.Parser.AST.Variable, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 312)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal global::System.IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(72)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(136)] + internal byte isIncomplete; + + [FieldOffset(137)] + internal byte isDependent; + + [FieldOffset(138)] + internal byte isImplicit; + + [FieldOffset(139)] + internal byte isInvalid; + + [FieldOffset(144)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(152)] + internal uint definitionOrder; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(184)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(208)] + internal global::System.IntPtr originalPtr; - public void ClearArguments() - { - __Internal.ClearArguments((__Instance + __PointerAdjustment)); - } + [FieldOffset(216)] + internal global::System.IntPtr comment; - public uint ArgumentsCount - { - get - { - var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - } + [FieldOffset(224)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C mangled; - public unsafe partial class CXXConstructExpr : global::CppSharp.Parser.AST.Expression, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 72)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.StatementClass _class; + [FieldOffset(256)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - [FieldOffset(8)] - internal global::System.IntPtr decl; + [FieldOffset(272)] + internal global::System.IntPtr templatedDecl; - [FieldOffset(16)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; + [FieldOffset(280)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; - [FieldOffset(48)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expression___N_std_S_allocator__S0_ Arguments; + [FieldOffset(304)] + internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExprC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPNS1_11DeclarationE")] - internal static extern void ctor(global::System.IntPtr instance, global::System.IntPtr str, global::System.IntPtr decl); + EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecializationC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExprC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecializationC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExprD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecializationD2Ev")] internal static extern void dtor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr12getArgumentsEj")] - internal static extern global::System.IntPtr GetArguments(global::System.IntPtr instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecialization12getArgumentsEj")] + internal static extern void GetArguments(global::System.IntPtr @return, global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr12addArgumentsERPNS1_10ExpressionE")] + EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecialization12addArgumentsERNS1_16TemplateArgumentE")] internal static extern void AddArguments(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr14clearArgumentsEv")] + EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecialization14clearArgumentsEv")] internal static extern void ClearArguments(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr17getArgumentsCountEv")] + EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecialization17getArgumentsCountEv")] internal static extern uint GetArgumentsCount(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.CXXConstructExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.VarTemplateSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.CXXConstructExpr(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.VarTemplateSpecialization(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.CXXConstructExpr __CreateInstance(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.VarTemplateSpecialization __CreateInstance(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.CXXConstructExpr(native, skipVTables); + return new global::CppSharp.Parser.AST.VarTemplateSpecialization(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); - global::CppSharp.Parser.AST.CXXConstructExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal)); + global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private CXXConstructExpr(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native, bool skipVTables = false) + private VarTemplateSpecialization(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected CXXConstructExpr(void* native, bool skipVTables = false) + protected VarTemplateSpecialization(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -12667,24 +12716,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public CXXConstructExpr(string str, global::CppSharp.Parser.AST.Declaration decl) + public VarTemplateSpecialization() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, str); - var __arg0 = __basicString0.__Instance; - var __arg1 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; - __Internal.ctor((__Instance + __PointerAdjustment), __arg0, __arg1); - __basicString0.Dispose(false); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public CXXConstructExpr(global::CppSharp.Parser.AST.CXXConstructExpr _0) + public VarTemplateSpecialization(global::CppSharp.Parser.AST.VarTemplateSpecialization _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -12697,7 +12741,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Statement __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -12706,18 +12750,14 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.Expression GetArguments(uint i) + public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) { - var __ret = __Internal.GetArguments((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Expression __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(__ret); - return __result0; + var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); + __Internal.GetArguments(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); + return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); } - public void AddArguments(global::CppSharp.Parser.AST.Expression s) + public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); @@ -12730,6 +12770,37 @@ namespace CppSharp __Internal.ClearArguments((__Instance + __PointerAdjustment)); } + public global::CppSharp.Parser.AST.VarTemplate TemplatedDecl + { + get + { + global::CppSharp.Parser.AST.VarTemplate __result0; + if (((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.VarTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl)) + __result0 = (global::CppSharp.Parser.AST.VarTemplate) global::CppSharp.Parser.AST.VarTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl]; + else __result0 = global::CppSharp.Parser.AST.VarTemplate.__CreateInstance(((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*)__Instance)->templatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind + { + get + { + return ((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->specializationKind; + } + + set + { + ((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*)__Instance)->specializationKind = value; + } + } + public uint ArgumentsCount { get @@ -12740,9 +12811,9 @@ namespace CppSharp } } - public unsafe partial class TemplateTemplateParameter : global::CppSharp.Parser.AST.Template, IDisposable + public unsafe partial class VarTemplatePartialSpecialization : global::CppSharp.Parser.AST.VarTemplateSpecialization, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 264)] + [StructLayout(LayoutKind.Explicit, Size = 312)] public new partial struct __Internal { [FieldOffset(0)] @@ -12806,61 +12877,61 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(224)] - internal global::System.IntPtr TemplatedDecl; - - [FieldOffset(232)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C mangled; [FieldOffset(256)] - internal byte isParameterPack; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - [FieldOffset(257)] - internal byte isPackExpansion; + [FieldOffset(272)] + internal global::System.IntPtr templatedDecl; - [FieldOffset(258)] - internal byte isExpandedParameterPack; + [FieldOffset(280)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; + + [FieldOffset(304)] + internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25TemplateTemplateParameterC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST32VarTemplatePartialSpecializationC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25TemplateTemplateParameterC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST32VarTemplatePartialSpecializationC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25TemplateTemplateParameterD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST32VarTemplatePartialSpecializationD2Ev")] internal static extern void dtor(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.TemplateTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.VarTemplatePartialSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateTemplateParameter(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.VarTemplatePartialSpecialization(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TemplateTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.VarTemplatePartialSpecialization __CreateInstance(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateTemplateParameter(native, skipVTables); + return new global::CppSharp.Parser.AST.VarTemplatePartialSpecialization(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); - global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal)); + global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateTemplateParameter(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native, bool skipVTables = false) + private VarTemplatePartialSpecialization(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TemplateTemplateParameter(void* native, bool skipVTables = false) + protected VarTemplatePartialSpecialization(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -12869,19 +12940,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TemplateTemplateParameter() + public VarTemplatePartialSpecialization() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TemplateTemplateParameter(global::CppSharp.Parser.AST.TemplateTemplateParameter _0) + public VarTemplatePartialSpecialization(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -12902,50 +12973,11 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - - public bool IsParameterPack - { - get - { - return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isParameterPack != 0; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*)__Instance)->isParameterPack = (byte) (value ? 1 : 0); - } - } - - public bool IsPackExpansion - { - get - { - return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isPackExpansion != 0; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*)__Instance)->isPackExpansion = (byte) (value ? 1 : 0); - } - } - - public bool IsExpandedParameterPack - { - get - { - return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isExpandedParameterPack != 0; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*)__Instance)->isExpandedParameterPack = (byte) (value ? 1 : 0); - } - } } - public unsafe partial class NonTypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable + public unsafe partial class Namespace : global::CppSharp.Parser.AST.DeclarationContext, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 256)] + [StructLayout(LayoutKind.Explicit, Size = 496)] public new partial struct __Internal { [FieldOffset(0)] @@ -13002,74 +13034,89 @@ namespace CppSharp [FieldOffset(184)] internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - [FieldOffset(208)] - internal global::System.IntPtr originalPtr; + [FieldOffset(208)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(216)] + internal global::System.IntPtr comment; + + [FieldOffset(224)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; + + [FieldOffset(248)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; + + [FieldOffset(272)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; - [FieldOffset(216)] - internal global::System.IntPtr comment; + [FieldOffset(296)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; - [FieldOffset(224)] - internal uint depth; + [FieldOffset(320)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; - [FieldOffset(228)] - internal uint index; + [FieldOffset(344)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; - [FieldOffset(232)] - internal byte isParameterPack; + [FieldOffset(368)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; - [FieldOffset(240)] - internal global::System.IntPtr defaultArgument; + [FieldOffset(392)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; - [FieldOffset(248)] - internal uint position; + [FieldOffset(416)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; - [FieldOffset(252)] - internal byte isPackExpansion; + [FieldOffset(440)] + internal global::Std.Map.__Internalc__N_std_S_map____N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; - [FieldOffset(253)] - internal byte isExpandedParameterPack; + [FieldOffset(488)] + internal byte isAnonymous; + + [FieldOffset(489)] + internal byte isInline; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST24NonTypeTemplateParameterC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST9NamespaceC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST24NonTypeTemplateParameterC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST9NamespaceC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST24NonTypeTemplateParameterD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST9NamespaceD2Ev")] internal static extern void dtor(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.NonTypeTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Namespace __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.NonTypeTemplateParameter(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Namespace(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.NonTypeTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Namespace __CreateInstance(global::CppSharp.Parser.AST.Namespace.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.NonTypeTemplateParameter(native, skipVTables); + return new global::CppSharp.Parser.AST.Namespace(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Namespace.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); - global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); + global::CppSharp.Parser.AST.Namespace.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private NonTypeTemplateParameter(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native, bool skipVTables = false) + private Namespace(global::CppSharp.Parser.AST.Namespace.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected NonTypeTemplateParameter(void* native, bool skipVTables = false) + protected Namespace(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -13078,19 +13125,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public NonTypeTemplateParameter() + public Namespace() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public NonTypeTemplateParameter(global::CppSharp.Parser.AST.NonTypeTemplateParameter _0) + public Namespace(global::CppSharp.Parser.AST.Namespace _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -13112,205 +13159,223 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.Expression DefaultArgument + public bool IsInline { get { - global::CppSharp.Parser.AST.Expression __result0; - if (((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument)) - __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument]; - else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument); - return __result0; + return ((global::CppSharp.Parser.AST.Namespace.__Internal*) __Instance)->isInline != 0; } set { - ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->defaultArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.Namespace.__Internal*)__Instance)->isInline = (byte) (value ? 1 : 0); } } + } - public uint Position + public unsafe partial class PreprocessedEntity : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public partial struct __Internal { - get - { - return ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->position; - } + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.MacroLocation macroLocation; - set - { - ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->position = value; - } + [FieldOffset(8)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18PreprocessedEntityC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18PreprocessedEntityC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); } - public bool IsPackExpansion + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.PreprocessedEntity __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.PreprocessedEntity(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.PreprocessedEntity __CreateInstance(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.PreprocessedEntity(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); + *(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) ret = native; + return ret.ToPointer(); + } + + private PreprocessedEntity(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected PreprocessedEntity(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public PreprocessedEntity() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public PreprocessedEntity(global::CppSharp.Parser.AST.PreprocessedEntity _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) _0.__Instance); + } + + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.PreprocessedEntity __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.MacroLocation MacroLocation { get { - return ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->isPackExpansion != 0; + return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->macroLocation; } set { - ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->isPackExpansion = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*)__Instance)->macroLocation = value; } } - public bool IsExpandedParameterPack + public global::System.IntPtr OriginalPtr { get { - return ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->isExpandedParameterPack != 0; + return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->originalPtr; } set { - ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->isExpandedParameterPack = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*)__Instance)->originalPtr = (global::System.IntPtr) value; } } - } - public unsafe partial class VarTemplateSpecialization : global::CppSharp.Parser.AST.Variable, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 312)] - public new partial struct __Internal + public global::CppSharp.Parser.AST.DeclarationKind Kind { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; - - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; - - [FieldOffset(32)] - internal int lineNumberEnd; - - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - - [FieldOffset(72)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - - [FieldOffset(104)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - - [FieldOffset(136)] - internal byte isIncomplete; - - [FieldOffset(137)] - internal byte isDependent; - - [FieldOffset(138)] - internal byte isImplicit; - - [FieldOffset(139)] - internal byte isInvalid; - - [FieldOffset(144)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(152)] - internal uint definitionOrder; - - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + get + { + return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->kind; + } - [FieldOffset(184)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + set + { + ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*)__Instance)->kind = value; + } + } + } - [FieldOffset(208)] - internal global::System.IntPtr originalPtr; + public unsafe partial class MacroDefinition : global::CppSharp.Parser.AST.PreprocessedEntity, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 96)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.MacroLocation macroLocation; - [FieldOffset(216)] - internal global::System.IntPtr comment; + [FieldOffset(8)] + internal global::System.IntPtr originalPtr; - [FieldOffset(224)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C mangled; + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; - [FieldOffset(256)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + [FieldOffset(24)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - [FieldOffset(272)] - internal global::System.IntPtr templatedDecl; + [FieldOffset(56)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C expression; - [FieldOffset(280)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; + [FieldOffset(88)] + internal int lineNumberStart; - [FieldOffset(304)] - internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; + [FieldOffset(92)] + internal int lineNumberEnd; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecializationC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST15MacroDefinitionC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecializationC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST15MacroDefinitionC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecializationD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST15MacroDefinitionD2Ev")] internal static extern void dtor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecialization12getArgumentsEj")] - internal static extern void GetArguments(global::System.IntPtr @return, global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecialization12addArgumentsERNS1_16TemplateArgumentE")] - internal static extern void AddArguments(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecialization14clearArgumentsEv")] - internal static extern void ClearArguments(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecialization17getArgumentsCountEv")] - internal static extern uint GetArgumentsCount(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.VarTemplateSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.MacroDefinition __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VarTemplateSpecialization(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.MacroDefinition(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.VarTemplateSpecialization __CreateInstance(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.MacroDefinition __CreateInstance(global::CppSharp.Parser.AST.MacroDefinition.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VarTemplateSpecialization(native, skipVTables); + return new global::CppSharp.Parser.AST.MacroDefinition(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.MacroDefinition.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal)); - global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal)); + global::CppSharp.Parser.AST.MacroDefinition.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private VarTemplateSpecialization(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal native, bool skipVTables = false) + private MacroDefinition(global::CppSharp.Parser.AST.MacroDefinition.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected VarTemplateSpecialization(void* native, bool skipVTables = false) + protected MacroDefinition(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -13319,19 +13384,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public VarTemplateSpecialization() + public MacroDefinition() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public VarTemplateSpecialization(global::CppSharp.Parser.AST.VarTemplateSpecialization _0) + public MacroDefinition(global::CppSharp.Parser.AST.MacroDefinition _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -13344,7 +13409,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.PreprocessedEntity __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -13353,212 +13418,129 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) - { - var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); - __Internal.GetArguments(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); - } - - public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) + public string Name { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); - } + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->name)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } - public void ClearArguments() - { - __Internal.ClearArguments((__Instance + __PointerAdjustment)); + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->name), value); + } } - public global::CppSharp.Parser.AST.VarTemplate TemplatedDecl + public string Expression { get { - global::CppSharp.Parser.AST.VarTemplate __result0; - if (((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.VarTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl)) - __result0 = (global::CppSharp.Parser.AST.VarTemplate) global::CppSharp.Parser.AST.VarTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl]; - else __result0 = global::CppSharp.Parser.AST.VarTemplate.__CreateInstance(((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl); - return __result0; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->expression)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*)__Instance)->templatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->expression), value); } } - public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind + public int LineNumberStart { get { - return ((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->specializationKind; + return ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->lineNumberStart; } set { - ((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*)__Instance)->specializationKind = value; + ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->lineNumberStart = value; } } - public uint ArgumentsCount + public int LineNumberEnd { get { - var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->lineNumberEnd; + } + + set + { + ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->lineNumberEnd = value; } } } - public unsafe partial class VarTemplate : global::CppSharp.Parser.AST.Template, IDisposable + public unsafe partial class MacroExpansion : global::CppSharp.Parser.AST.PreprocessedEntity, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 280)] + [StructLayout(LayoutKind.Explicit, Size = 96)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; + internal global::CppSharp.Parser.AST.MacroLocation macroLocation; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; + internal global::System.IntPtr originalPtr; [FieldOffset(16)] - internal global::System.IntPtr _namespace; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; - - [FieldOffset(32)] - internal int lineNumberEnd; - - [FieldOffset(40)] internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - [FieldOffset(72)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - - [FieldOffset(104)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - - [FieldOffset(136)] - internal byte isIncomplete; - - [FieldOffset(137)] - internal byte isDependent; - - [FieldOffset(138)] - internal byte isImplicit; - - [FieldOffset(139)] - internal byte isInvalid; - - [FieldOffset(144)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(152)] - internal uint definitionOrder; - - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(184)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - - [FieldOffset(208)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(216)] - internal global::System.IntPtr comment; - - [FieldOffset(224)] - internal global::System.IntPtr TemplatedDecl; - - [FieldOffset(232)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; + [FieldOffset(56)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C text; - [FieldOffset(256)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_VarTemplateSpecialization___N_std_S_allocator__S0_ Specializations; + [FieldOffset(88)] + internal global::System.IntPtr definition; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplateC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST14MacroExpansionC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplateC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST14MacroExpansionC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplateD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate18getSpecializationsEj")] - internal static extern global::System.IntPtr GetSpecializations(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate18addSpecializationsERPNS1_25VarTemplateSpecializationE")] - internal static extern void AddSpecializations(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate20clearSpecializationsEv")] - internal static extern void ClearSpecializations(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate18FindSpecializationERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE")] - internal static extern global::System.IntPtr FindSpecialization(global::System.IntPtr instance, global::System.IntPtr usr); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate25FindPartialSpecializationERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE")] - internal static extern global::System.IntPtr FindPartialSpecialization(global::System.IntPtr instance, global::System.IntPtr usr); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate23getSpecializationsCountEv")] - internal static extern uint GetSpecializationsCount(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST14MacroExpansionD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.VarTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.MacroExpansion __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VarTemplate(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.MacroExpansion(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.VarTemplate __CreateInstance(global::CppSharp.Parser.AST.VarTemplate.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.MacroExpansion __CreateInstance(global::CppSharp.Parser.AST.MacroExpansion.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VarTemplate(native, skipVTables); + return new global::CppSharp.Parser.AST.MacroExpansion(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.VarTemplate.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.MacroExpansion.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); - global::CppSharp.Parser.AST.VarTemplate.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal)); + global::CppSharp.Parser.AST.MacroExpansion.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private VarTemplate(global::CppSharp.Parser.AST.VarTemplate.__Internal native, bool skipVTables = false) + private MacroExpansion(global::CppSharp.Parser.AST.MacroExpansion.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected VarTemplate(void* native, bool skipVTables = false) + protected MacroExpansion(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -13567,19 +13549,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public VarTemplate() + public MacroExpansion() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public VarTemplate(global::CppSharp.Parser.AST.VarTemplate _0) + public MacroExpansion(global::CppSharp.Parser.AST.MacroExpansion _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -13592,7 +13574,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.PreprocessedEntity __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -13601,73 +13583,60 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.VarTemplateSpecialization GetSpecializations(uint i) - { - var __ret = __Internal.GetSpecializations((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.VarTemplateSpecialization __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.VarTemplateSpecialization) global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.VarTemplateSpecialization.__CreateInstance(__ret); - return __result0; - } - - public void AddSpecializations(global::CppSharp.Parser.AST.VarTemplateSpecialization s) + public string Name { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddSpecializations((__Instance + __PointerAdjustment), __arg0); - } + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->name)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } - public void ClearSpecializations() - { - __Internal.ClearSpecializations((__Instance + __PointerAdjustment)); + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*)__Instance)->name), value); + } } - public global::CppSharp.Parser.AST.VarTemplateSpecialization FindSpecialization(string usr) + public string Text { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, usr); - var __arg0 = __basicString0.__Instance; - var __ret = __Internal.FindSpecialization((__Instance + __PointerAdjustment), __arg0); - __basicString0.Dispose(false); - global::CppSharp.Parser.AST.VarTemplateSpecialization __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.VarTemplateSpecialization) global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.VarTemplateSpecialization.__CreateInstance(__ret); - return __result0; - } + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->text)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } - public global::CppSharp.Parser.AST.VarTemplatePartialSpecialization FindPartialSpecialization(string usr) - { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, usr); - var __arg0 = __basicString0.__Instance; - var __ret = __Internal.FindPartialSpecialization((__Instance + __PointerAdjustment), __arg0); - __basicString0.Dispose(false); - global::CppSharp.Parser.AST.VarTemplatePartialSpecialization __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.VarTemplatePartialSpecialization) global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__CreateInstance(__ret); - return __result0; + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*)__Instance)->text), value); + } } - public uint SpecializationsCount + public global::CppSharp.Parser.AST.MacroDefinition Definition { get { - var __ret = __Internal.GetSpecializationsCount((__Instance + __PointerAdjustment)); - return __ret; + global::CppSharp.Parser.AST.MacroDefinition __result0; + if (((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition)) + __result0 = (global::CppSharp.Parser.AST.MacroDefinition) global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap[((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition]; + else __result0 = global::CppSharp.Parser.AST.MacroDefinition.__CreateInstance(((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.MacroExpansion.__Internal*)__Instance)->definition = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } - public unsafe partial class VarTemplatePartialSpecialization : global::CppSharp.Parser.AST.VarTemplateSpecialization, IDisposable + public unsafe partial class TranslationUnit : global::CppSharp.Parser.AST.Namespace, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 312)] + [StructLayout(LayoutKind.Explicit, Size = 560)] public new partial struct __Internal { [FieldOffset(0)] @@ -13731,171 +13700,111 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(224)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C mangled; + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; - [FieldOffset(256)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + [FieldOffset(248)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; [FieldOffset(272)] - internal global::System.IntPtr templatedDecl; - - [FieldOffset(280)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; - - [FieldOffset(304)] - internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST32VarTemplatePartialSpecializationC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST32VarTemplatePartialSpecializationC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST32VarTemplatePartialSpecializationD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); - } + [FieldOffset(296)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; - internal static new global::CppSharp.Parser.AST.VarTemplatePartialSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.VarTemplatePartialSpecialization(native.ToPointer(), skipVTables); - } + [FieldOffset(320)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; - internal static global::CppSharp.Parser.AST.VarTemplatePartialSpecialization __CreateInstance(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.VarTemplatePartialSpecialization(native, skipVTables); - } + [FieldOffset(344)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; - private static void* __CopyValue(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal)); - global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + [FieldOffset(368)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; - private VarTemplatePartialSpecialization(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + [FieldOffset(392)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; - protected VarTemplatePartialSpecialization(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [FieldOffset(416)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; - public VarTemplatePartialSpecialization() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } + [FieldOffset(440)] + internal global::Std.Map.__Internalc__N_std_S_map____N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; - public VarTemplatePartialSpecialization(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(488)] + internal byte isAnonymous; - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - } + [FieldOffset(489)] + internal byte isInline; - public unsafe partial class MacroDefinition : global::CppSharp.Parser.AST.PreprocessedEntity, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 96)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.MacroLocation macroLocation; + [FieldOffset(496)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C fileName; - [FieldOffset(8)] - internal global::System.IntPtr originalPtr; + [FieldOffset(528)] + internal byte isSystemHeader; - [FieldOffset(16)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + [FieldOffset(536)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_MacroDefinition___N_std_S_allocator__S0_ Macros; - [FieldOffset(24)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnitC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); - [FieldOffset(56)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C expression; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnitC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - [FieldOffset(88)] - internal int lineNumberStart; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnitD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); - [FieldOffset(92)] - internal int lineNumberEnd; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnit9getMacrosEj")] + internal static extern global::System.IntPtr GetMacros(global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15MacroDefinitionC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnit9addMacrosERPNS1_15MacroDefinitionE")] + internal static extern void AddMacros(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15MacroDefinitionC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnit11clearMacrosEv")] + internal static extern void ClearMacros(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15MacroDefinitionD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnit14getMacrosCountEv")] + internal static extern uint GetMacrosCount(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.MacroDefinition __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TranslationUnit __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.MacroDefinition(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TranslationUnit(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.MacroDefinition __CreateInstance(global::CppSharp.Parser.AST.MacroDefinition.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TranslationUnit __CreateInstance(global::CppSharp.Parser.AST.TranslationUnit.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.MacroDefinition(native, skipVTables); + return new global::CppSharp.Parser.AST.TranslationUnit(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.MacroDefinition.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TranslationUnit.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal)); - global::CppSharp.Parser.AST.MacroDefinition.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal)); + global::CppSharp.Parser.AST.TranslationUnit.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private MacroDefinition(global::CppSharp.Parser.AST.MacroDefinition.__Internal native, bool skipVTables = false) + private TranslationUnit(global::CppSharp.Parser.AST.TranslationUnit.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected MacroDefinition(void* native, bool skipVTables = false) + protected TranslationUnit(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -13904,19 +13813,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public MacroDefinition() + public TranslationUnit() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public MacroDefinition(global::CppSharp.Parser.AST.MacroDefinition _0) + public TranslationUnit(global::CppSharp.Parser.AST.TranslationUnit _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -13929,7 +13838,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.PreprocessedEntity __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -13938,27 +13847,35 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public string Name + public global::CppSharp.Parser.AST.MacroDefinition GetMacros(uint i) { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->name)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + var __ret = __Internal.GetMacros((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.MacroDefinition __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.MacroDefinition) global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.MacroDefinition.__CreateInstance(__ret); + return __result0; + } - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->name), value); - } + public void AddMacros(global::CppSharp.Parser.AST.MacroDefinition s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddMacros((__Instance + __PointerAdjustment), __arg0); } - public string Expression + public void ClearMacros() + { + __Internal.ClearMacros((__Instance + __PointerAdjustment)); + } + + public string FileName { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->expression)); + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TranslationUnit.__Internal*) __Instance)->fileName)); var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); __basicStringRet0.Dispose(false); return __stringRet0; @@ -13966,122 +13883,156 @@ namespace CppSharp set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->expression), value); + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TranslationUnit.__Internal*)__Instance)->fileName), value); } } - public int LineNumberStart + public bool IsSystemHeader { get { - return ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->lineNumberStart; + return ((global::CppSharp.Parser.AST.TranslationUnit.__Internal*) __Instance)->isSystemHeader != 0; } set { - ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->lineNumberStart = value; + ((global::CppSharp.Parser.AST.TranslationUnit.__Internal*)__Instance)->isSystemHeader = (byte) (value ? 1 : 0); } } - public int LineNumberEnd + public uint MacrosCount { get { - return ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->lineNumberEnd; - } - - set - { - ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->lineNumberEnd = value; + var __ret = __Internal.GetMacrosCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class MacroExpansion : global::CppSharp.Parser.AST.PreprocessedEntity, IDisposable + public unsafe partial class NativeLibrary : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 96)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 88)] + public partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.MacroLocation macroLocation; - - [FieldOffset(8)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(16)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C fileName; - [FieldOffset(24)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + [FieldOffset(32)] + internal global::CppSharp.Parser.AST.ArchType archType; - [FieldOffset(56)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C text; + [FieldOffset(40)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C___N_std_S_allocator__S0_ Symbols; - [FieldOffset(88)] - internal global::System.IntPtr definition; + [FieldOffset(64)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C___N_std_S_allocator__S0_ Dependencies; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14MacroExpansionC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibraryC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14MacroExpansionC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibraryC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14MacroExpansionD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibraryD2Ev")] internal static extern void dtor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary10getSymbolsEj")] + internal static extern global::System.IntPtr GetSymbols(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary10addSymbolsEPKc")] + internal static extern void AddSymbols(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary12clearSymbolsEv")] + internal static extern void ClearSymbols(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary15getDependenciesEj")] + internal static extern global::System.IntPtr GetDependencies(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary15addDependenciesEPKc")] + internal static extern void AddDependencies(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary17clearDependenciesEv")] + internal static extern void ClearDependencies(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary15getSymbolsCountEv")] + internal static extern uint GetSymbolsCount(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary20getDependenciesCountEv")] + internal static extern uint GetDependenciesCount(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.MacroExpansion __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.NativeLibrary __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.MacroExpansion(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.NativeLibrary(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.MacroExpansion __CreateInstance(global::CppSharp.Parser.AST.MacroExpansion.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.NativeLibrary __CreateInstance(global::CppSharp.Parser.AST.NativeLibrary.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.MacroExpansion(native, skipVTables); + return new global::CppSharp.Parser.AST.NativeLibrary(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.MacroExpansion.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.NativeLibrary.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal)); - global::CppSharp.Parser.AST.MacroExpansion.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NativeLibrary.__Internal)); + global::CppSharp.Parser.AST.NativeLibrary.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private MacroExpansion(global::CppSharp.Parser.AST.MacroExpansion.__Internal native, bool skipVTables = false) + private NativeLibrary(global::CppSharp.Parser.AST.NativeLibrary.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected MacroExpansion(void* native, bool skipVTables = false) - : base((void*) null) + protected NativeLibrary(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public MacroExpansion() - : this((void*) null) + public NativeLibrary() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NativeLibrary.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public MacroExpansion(global::CppSharp.Parser.AST.MacroExpansion _0) - : this((void*) null) + public NativeLibrary(global::CppSharp.Parser.AST.NativeLibrary _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NativeLibrary.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -14090,24 +14041,61 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.NativeLibrary __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public string GetSymbols(uint i) + { + var __ret = __Internal.GetSymbols((__Instance + __PointerAdjustment), i); + return Marshal.PtrToStringAnsi(__ret); + } + + public void AddSymbols(string s) + { + __Internal.AddSymbols((__Instance + __PointerAdjustment), s); + } + + public void ClearSymbols() + { + __Internal.ClearSymbols((__Instance + __PointerAdjustment)); + } + + public string GetDependencies(uint i) + { + var __ret = __Internal.GetDependencies((__Instance + __PointerAdjustment), i); + return Marshal.PtrToStringAnsi(__ret); + } + + public void AddDependencies(string s) { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.PreprocessedEntity __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; + __Internal.AddDependencies((__Instance + __PointerAdjustment), s); } - public string Name + public void ClearDependencies() + { + __Internal.ClearDependencies((__Instance + __PointerAdjustment)); + } + + public string FileName { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->name)); + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.NativeLibrary.__Internal*) __Instance)->fileName)); var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); __basicStringRet0.Dispose(false); return __stringRet0; @@ -14115,237 +14103,141 @@ namespace CppSharp set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*)__Instance)->name), value); + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.NativeLibrary.__Internal*)__Instance)->fileName), value); } } - public string Text + public global::CppSharp.Parser.AST.ArchType ArchType { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->text)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + return ((global::CppSharp.Parser.AST.NativeLibrary.__Internal*) __Instance)->archType; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*)__Instance)->text), value); + ((global::CppSharp.Parser.AST.NativeLibrary.__Internal*)__Instance)->archType = value; } } - public global::CppSharp.Parser.AST.MacroDefinition Definition + public uint SymbolsCount { get { - global::CppSharp.Parser.AST.MacroDefinition __result0; - if (((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition)) - __result0 = (global::CppSharp.Parser.AST.MacroDefinition) global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap[((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition]; - else __result0 = global::CppSharp.Parser.AST.MacroDefinition.__CreateInstance(((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition); - return __result0; + var __ret = __Internal.GetSymbolsCount((__Instance + __PointerAdjustment)); + return __ret; } + } - set + public uint DependenciesCount + { + get { - ((global::CppSharp.Parser.AST.MacroExpansion.__Internal*)__Instance)->definition = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + var __ret = __Internal.GetDependenciesCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class TranslationUnit : global::CppSharp.Parser.AST.Namespace, IDisposable + public unsafe partial class ASTContext : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 560)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 24)] + public partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; - - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; - - [FieldOffset(32)] - internal int lineNumberEnd; - - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - - [FieldOffset(72)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - - [FieldOffset(104)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - - [FieldOffset(136)] - internal byte isIncomplete; - - [FieldOffset(137)] - internal byte isDependent; - - [FieldOffset(138)] - internal byte isImplicit; - - [FieldOffset(139)] - internal byte isInvalid; - - [FieldOffset(144)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(152)] - internal uint definitionOrder; - - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(184)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - - [FieldOffset(208)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(216)] - internal global::System.IntPtr comment; - - [FieldOffset(224)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; - - [FieldOffset(248)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; - - [FieldOffset(272)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; - - [FieldOffset(296)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; - - [FieldOffset(320)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; - - [FieldOffset(344)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; - - [FieldOffset(368)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; - - [FieldOffset(392)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; - - [FieldOffset(416)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; - - [FieldOffset(440)] - internal global::Std.Map.__Internalc__N_std_S_map____N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; - - [FieldOffset(488)] - internal byte isAnonymous; - - [FieldOffset(489)] - internal byte isInline; - - [FieldOffset(496)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C fileName; - - [FieldOffset(528)] - internal byte isSystemHeader; - - [FieldOffset(536)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_MacroDefinition___N_std_S_allocator__S0_ Macros; + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TranslationUnit___N_std_S_allocator__S0_ TranslationUnits; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnitC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContextC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnitC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContextC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnitD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContextD2Ev")] internal static extern void dtor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnit9getMacrosEj")] - internal static extern global::System.IntPtr GetMacros(global::System.IntPtr instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext18FindOrCreateModuleENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE")] + internal static extern global::System.IntPtr FindOrCreateModule(global::System.IntPtr instance, global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C File); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnit9addMacrosERPNS1_15MacroDefinitionE")] - internal static extern void AddMacros(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext19getTranslationUnitsEj")] + internal static extern global::System.IntPtr GetTranslationUnits(global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnit11clearMacrosEv")] - internal static extern void ClearMacros(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext19addTranslationUnitsERPNS1_15TranslationUnitE")] + internal static extern void AddTranslationUnits(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnit14getMacrosCountEv")] - internal static extern uint GetMacrosCount(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext21clearTranslationUnitsEv")] + internal static extern void ClearTranslationUnits(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext24getTranslationUnitsCountEv")] + internal static extern uint GetTranslationUnitsCount(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.TranslationUnit __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.ASTContext __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TranslationUnit(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.ASTContext(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TranslationUnit __CreateInstance(global::CppSharp.Parser.AST.TranslationUnit.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.ASTContext __CreateInstance(global::CppSharp.Parser.AST.ASTContext.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TranslationUnit(native, skipVTables); + return new global::CppSharp.Parser.AST.ASTContext(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TranslationUnit.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.ASTContext.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal)); - global::CppSharp.Parser.AST.TranslationUnit.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal)); + global::CppSharp.Parser.AST.ASTContext.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TranslationUnit(global::CppSharp.Parser.AST.TranslationUnit.__Internal native, bool skipVTables = false) + private ASTContext(global::CppSharp.Parser.AST.ASTContext.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TranslationUnit(void* native, bool skipVTables = false) - : base((void*) null) + protected ASTContext(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public TranslationUnit() - : this((void*) null) + public ASTContext() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TranslationUnit(global::CppSharp.Parser.AST.TranslationUnit _0) - : this((void*) null) + public ASTContext(global::CppSharp.Parser.AST.ASTContext _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -14354,11 +14246,16 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.ASTContext __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -14367,198 +14264,127 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.MacroDefinition GetMacros(uint i) + public global::CppSharp.Parser.AST.TranslationUnit FindOrCreateModule(string File) { - var __ret = __Internal.GetMacros((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.MacroDefinition __result0; + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, File); + var __arg0 = *(global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C*) __basicString0.__Instance; + var __ret = __Internal.FindOrCreateModule((__Instance + __PointerAdjustment), __arg0); + __basicString0.Dispose(false); + global::CppSharp.Parser.AST.TranslationUnit __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.TranslationUnit) global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.TranslationUnit.__CreateInstance(__ret); + return __result0; + } + + public global::CppSharp.Parser.AST.TranslationUnit GetTranslationUnits(uint i) + { + var __ret = __Internal.GetTranslationUnits((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.TranslationUnit __result0; if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.MacroDefinition) global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.MacroDefinition.__CreateInstance(__ret); + else if (global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.TranslationUnit) global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.TranslationUnit.__CreateInstance(__ret); return __result0; } - public void AddMacros(global::CppSharp.Parser.AST.MacroDefinition s) + public void AddTranslationUnits(global::CppSharp.Parser.AST.TranslationUnit s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddMacros((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearMacros() - { - __Internal.ClearMacros((__Instance + __PointerAdjustment)); - } - - public string FileName - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TranslationUnit.__Internal*) __Instance)->fileName)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TranslationUnit.__Internal*)__Instance)->fileName), value); - } + __Internal.AddTranslationUnits((__Instance + __PointerAdjustment), __arg0); } - public bool IsSystemHeader + public void ClearTranslationUnits() { - get - { - return ((global::CppSharp.Parser.AST.TranslationUnit.__Internal*) __Instance)->isSystemHeader != 0; - } - - set - { - ((global::CppSharp.Parser.AST.TranslationUnit.__Internal*)__Instance)->isSystemHeader = (byte) (value ? 1 : 0); - } + __Internal.ClearTranslationUnits((__Instance + __PointerAdjustment)); } - public uint MacrosCount + public uint TranslationUnitsCount { get { - var __ret = __Internal.GetMacrosCount((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetTranslationUnitsCount((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class NativeLibrary : IDisposable + public unsafe partial class Comment : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 88)] + [StructLayout(LayoutKind.Explicit, Size = 4)] public partial struct __Internal { [FieldOffset(0)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C fileName; - - [FieldOffset(32)] - internal global::CppSharp.Parser.AST.ArchType archType; - - [FieldOffset(40)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C___N_std_S_allocator__S0_ Symbols; - - [FieldOffset(64)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C___N_std_S_allocator__S0_ Dependencies; + internal global::CppSharp.Parser.AST.CommentKind kind; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibraryC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST7CommentC2ENS1_11CommentKindE")] + internal static extern void ctor(global::System.IntPtr instance, global::CppSharp.Parser.AST.CommentKind kind); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibraryC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST7CommentC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibraryD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary10getSymbolsEj")] - internal static extern global::System.IntPtr GetSymbols(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary10addSymbolsEPKc")] - internal static extern void AddSymbols(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary12clearSymbolsEv")] - internal static extern void ClearSymbols(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary15getDependenciesEj")] - internal static extern global::System.IntPtr GetDependencies(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary15addDependenciesEPKc")] - internal static extern void AddDependencies(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary17clearDependenciesEv")] - internal static extern void ClearDependencies(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary15getSymbolsCountEv")] - internal static extern uint GetSymbolsCount(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary20getDependenciesCountEv")] - internal static extern uint GetDependenciesCount(global::System.IntPtr instance); } public global::System.IntPtr __Instance { get; protected set; } protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); protected void*[] __OriginalVTables; protected bool __ownsNativeInstance; - internal static global::CppSharp.Parser.AST.NativeLibrary __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Comment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.NativeLibrary(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Comment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.NativeLibrary __CreateInstance(global::CppSharp.Parser.AST.NativeLibrary.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Comment __CreateInstance(global::CppSharp.Parser.AST.Comment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.NativeLibrary(native, skipVTables); + return new global::CppSharp.Parser.AST.Comment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.NativeLibrary.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Comment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NativeLibrary.__Internal)); - global::CppSharp.Parser.AST.NativeLibrary.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Comment.__Internal)); + *(global::CppSharp.Parser.AST.Comment.__Internal*) ret = native; return ret.ToPointer(); } - private NativeLibrary(global::CppSharp.Parser.AST.NativeLibrary.__Internal native, bool skipVTables = false) + private Comment(global::CppSharp.Parser.AST.Comment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected NativeLibrary(void* native, bool skipVTables = false) + protected Comment(void* native, bool skipVTables = false) { if (native == null) return; __Instance = new global::System.IntPtr(native); } - public NativeLibrary() + public Comment(global::CppSharp.Parser.AST.CommentKind kind) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NativeLibrary.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Comment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + __Internal.ctor((__Instance + __PointerAdjustment), kind); } - public NativeLibrary(global::CppSharp.Parser.AST.NativeLibrary _0) + public Comment(global::CppSharp.Parser.AST.Comment _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NativeLibrary.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Comment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + *((global::CppSharp.Parser.AST.Comment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.Comment.__Internal*) _0.__Instance); } public void Dispose() @@ -14570,194 +14396,215 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.NativeLibrary __dummy; + global::CppSharp.Parser.AST.Comment __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - public string GetSymbols(uint i) + public static implicit operator global::CppSharp.Parser.AST.Comment(global::CppSharp.Parser.AST.CommentKind kind) { - var __ret = __Internal.GetSymbols((__Instance + __PointerAdjustment), i); - return Marshal.PtrToStringAnsi(__ret); + return new global::CppSharp.Parser.AST.Comment(kind); } - public void AddSymbols(string s) + public global::CppSharp.Parser.AST.CommentKind Kind { - __Internal.AddSymbols((__Instance + __PointerAdjustment), s); + get + { + return ((global::CppSharp.Parser.AST.Comment.__Internal*) __Instance)->kind; + } + + set + { + ((global::CppSharp.Parser.AST.Comment.__Internal*)__Instance)->kind = value; + } } + } - public void ClearSymbols() + public unsafe partial class BlockContentComment : global::CppSharp.Parser.AST.Comment, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 4)] + public new partial struct __Internal { - __Internal.ClearSymbols((__Instance + __PointerAdjustment)); + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.CommentKind kind; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19BlockContentCommentC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19BlockContentCommentC2ENS1_11CommentKindE")] + internal static extern void ctor(global::System.IntPtr instance, global::CppSharp.Parser.AST.CommentKind Kind); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19BlockContentCommentC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); } - public string GetDependencies(uint i) + internal static new global::CppSharp.Parser.AST.BlockContentComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - var __ret = __Internal.GetDependencies((__Instance + __PointerAdjustment), i); - return Marshal.PtrToStringAnsi(__ret); + return new global::CppSharp.Parser.AST.BlockContentComment(native.ToPointer(), skipVTables); } - public void AddDependencies(string s) + internal static global::CppSharp.Parser.AST.BlockContentComment __CreateInstance(global::CppSharp.Parser.AST.BlockContentComment.__Internal native, bool skipVTables = false) { - __Internal.AddDependencies((__Instance + __PointerAdjustment), s); + return new global::CppSharp.Parser.AST.BlockContentComment(native, skipVTables); } - public void ClearDependencies() + private static void* __CopyValue(global::CppSharp.Parser.AST.BlockContentComment.__Internal native) { - __Internal.ClearDependencies((__Instance + __PointerAdjustment)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); + *(global::CppSharp.Parser.AST.BlockContentComment.__Internal*) ret = native; + return ret.ToPointer(); } - public string FileName + private BlockContentComment(global::CppSharp.Parser.AST.BlockContentComment.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.NativeLibrary.__Internal*) __Instance)->fileName)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.NativeLibrary.__Internal*)__Instance)->fileName), value); - } + protected BlockContentComment(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - public global::CppSharp.Parser.AST.ArchType ArchType + public BlockContentComment() + : this((void*) null) { - get - { - return ((global::CppSharp.Parser.AST.NativeLibrary.__Internal*) __Instance)->archType; - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - set - { - ((global::CppSharp.Parser.AST.NativeLibrary.__Internal*)__Instance)->archType = value; - } + public BlockContentComment(global::CppSharp.Parser.AST.CommentKind Kind) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), Kind); } - public uint SymbolsCount + public BlockContentComment(global::CppSharp.Parser.AST.BlockContentComment _0) + : this((void*) null) { - get - { - var __ret = __Internal.GetSymbolsCount((__Instance + __PointerAdjustment)); - return __ret; - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.BlockContentComment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.BlockContentComment.__Internal*) _0.__Instance); } - public uint DependenciesCount + public static implicit operator global::CppSharp.Parser.AST.BlockContentComment(global::CppSharp.Parser.AST.CommentKind Kind) { - get - { - var __ret = __Internal.GetDependenciesCount((__Instance + __PointerAdjustment)); - return __ret; - } + return new global::CppSharp.Parser.AST.BlockContentComment(Kind); } } - public unsafe partial class ASTContext : IDisposable + public unsafe partial class FullComment : global::CppSharp.Parser.AST.Comment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 24)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TranslationUnit___N_std_S_allocator__S0_ TranslationUnits; + internal global::CppSharp.Parser.AST.CommentKind kind; + + [FieldOffset(8)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BlockContentComment___N_std_S_allocator__S0_ Blocks; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContextC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11FullCommentC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContextC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST11FullCommentC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContextD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11FullCommentD2Ev")] internal static extern void dtor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext18FindOrCreateModuleENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE")] - internal static extern global::System.IntPtr FindOrCreateModule(global::System.IntPtr instance, global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C File); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext19getTranslationUnitsEj")] - internal static extern global::System.IntPtr GetTranslationUnits(global::System.IntPtr instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST11FullComment9getBlocksEj")] + internal static extern global::System.IntPtr GetBlocks(global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext19addTranslationUnitsERPNS1_15TranslationUnitE")] - internal static extern void AddTranslationUnits(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST11FullComment9addBlocksERPNS1_19BlockContentCommentE")] + internal static extern void AddBlocks(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext21clearTranslationUnitsEv")] - internal static extern void ClearTranslationUnits(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11FullComment11clearBlocksEv")] + internal static extern void ClearBlocks(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext24getTranslationUnitsCountEv")] - internal static extern uint GetTranslationUnitsCount(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11FullComment14getBlocksCountEv")] + internal static extern uint GetBlocksCount(global::System.IntPtr instance); } - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.ASTContext __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.FullComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ASTContext(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.FullComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.ASTContext __CreateInstance(global::CppSharp.Parser.AST.ASTContext.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.FullComment __CreateInstance(global::CppSharp.Parser.AST.FullComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ASTContext(native, skipVTables); + return new global::CppSharp.Parser.AST.FullComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.ASTContext.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.FullComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal)); - global::CppSharp.Parser.AST.ASTContext.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullComment.__Internal)); + global::CppSharp.Parser.AST.FullComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private ASTContext(global::CppSharp.Parser.AST.ASTContext.__Internal native, bool skipVTables = false) + private FullComment(global::CppSharp.Parser.AST.FullComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected ASTContext(void* native, bool skipVTables = false) + protected FullComment(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public ASTContext() + public FullComment() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public ASTContext(global::CppSharp.Parser.AST.ASTContext _0) + public FullComment(global::CppSharp.Parser.AST.FullComment _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -14766,16 +14613,11 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.ASTContext __dummy; + global::CppSharp.Parser.AST.Comment __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -14784,50 +14626,35 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.TranslationUnit FindOrCreateModule(string File) - { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, File); - var __arg0 = *(global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C*) __basicString0.__Instance; - var __ret = __Internal.FindOrCreateModule((__Instance + __PointerAdjustment), __arg0); - __basicString0.Dispose(false); - global::CppSharp.Parser.AST.TranslationUnit __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.TranslationUnit) global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.TranslationUnit.__CreateInstance(__ret); - return __result0; - } - - public global::CppSharp.Parser.AST.TranslationUnit GetTranslationUnits(uint i) + public global::CppSharp.Parser.AST.BlockContentComment GetBlocks(uint i) { - var __ret = __Internal.GetTranslationUnits((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.TranslationUnit __result0; + var __ret = __Internal.GetBlocks((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.BlockContentComment __result0; if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.TranslationUnit) global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.TranslationUnit.__CreateInstance(__ret); + else if (global::CppSharp.Parser.AST.BlockContentComment.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.BlockContentComment) global::CppSharp.Parser.AST.BlockContentComment.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.BlockContentComment.__CreateInstance(__ret); return __result0; } - public void AddTranslationUnits(global::CppSharp.Parser.AST.TranslationUnit s) + public void AddBlocks(global::CppSharp.Parser.AST.BlockContentComment s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddTranslationUnits((__Instance + __PointerAdjustment), __arg0); + __Internal.AddBlocks((__Instance + __PointerAdjustment), __arg0); } - public void ClearTranslationUnits() + public void ClearBlocks() { - __Internal.ClearTranslationUnits((__Instance + __PointerAdjustment)); + __Internal.ClearBlocks((__Instance + __PointerAdjustment)); } - public uint TranslationUnitsCount + public uint BlocksCount { get { - var __ret = __Internal.GetTranslationUnitsCount((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetBlocksCount((__Instance + __PointerAdjustment)); return __ret; } } @@ -16812,49 +16639,163 @@ namespace CppSharp internal byte hasTrailingNewline; [FieldOffset(8)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C tagName; + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C tagName; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17HTMLEndTagCommentC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17HTMLEndTagCommentC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17HTMLEndTagCommentD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); + } + + internal static new global::CppSharp.Parser.AST.HTMLEndTagComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.HTMLEndTagComment(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.HTMLEndTagComment __CreateInstance(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.HTMLEndTagComment(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal)); + global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private HTMLEndTagComment(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected HTMLEndTagComment(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public HTMLEndTagComment() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public HTMLEndTagComment(global::CppSharp.Parser.AST.HTMLEndTagComment _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Comment __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public string TagName + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal*) __Instance)->tagName)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal*)__Instance)->tagName), value); + } + } + } + + public unsafe partial class TextComment : global::CppSharp.Parser.AST.InlineContentComment, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.CommentKind kind; + + [FieldOffset(4)] + internal byte hasTrailingNewline; + + [FieldOffset(8)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C text; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17HTMLEndTagCommentC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11TextCommentC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17HTMLEndTagCommentC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST11TextCommentC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17HTMLEndTagCommentD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11TextCommentD2Ev")] internal static extern void dtor(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.HTMLEndTagComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TextComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.HTMLEndTagComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TextComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.HTMLEndTagComment __CreateInstance(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TextComment __CreateInstance(global::CppSharp.Parser.AST.TextComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.HTMLEndTagComment(native, skipVTables); + return new global::CppSharp.Parser.AST.TextComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TextComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal)); - global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TextComment.__Internal)); + global::CppSharp.Parser.AST.TextComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private HTMLEndTagComment(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal native, bool skipVTables = false) + private TextComment(global::CppSharp.Parser.AST.TextComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected HTMLEndTagComment(void* native, bool skipVTables = false) + protected TextComment(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -16863,19 +16804,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public HTMLEndTagComment() + public TextComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TextComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public HTMLEndTagComment(global::CppSharp.Parser.AST.HTMLEndTagComment _0) + public TextComment(global::CppSharp.Parser.AST.TextComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TextComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -16897,11 +16838,11 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public string TagName + public string Text { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal*) __Instance)->tagName)); + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TextComment.__Internal*) __Instance)->text)); var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); __basicStringRet0.Dispose(false); return __stringRet0; @@ -16909,87 +16850,94 @@ namespace CppSharp set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal*)__Instance)->tagName), value); + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TextComment.__Internal*)__Instance)->text), value); } } } - public unsafe partial class TextComment : global::CppSharp.Parser.AST.InlineContentComment, IDisposable + public unsafe partial class RawComment : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 40)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 80)] + public partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; - - [FieldOffset(4)] - internal byte hasTrailingNewline; + internal global::CppSharp.Parser.AST.RawCommentKind kind; [FieldOffset(8)] internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C text; + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C briefText; + + [FieldOffset(72)] + internal global::System.IntPtr fullCommentBlock; + [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11TextCommentC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST10RawCommentC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11TextCommentC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST10RawCommentC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11TextCommentD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST10RawCommentD2Ev")] internal static extern void dtor(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.TextComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.RawComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TextComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.RawComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TextComment __CreateInstance(global::CppSharp.Parser.AST.TextComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.RawComment __CreateInstance(global::CppSharp.Parser.AST.RawComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TextComment(native, skipVTables); + return new global::CppSharp.Parser.AST.RawComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TextComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.RawComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TextComment.__Internal)); - global::CppSharp.Parser.AST.TextComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); + global::CppSharp.Parser.AST.RawComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TextComment(global::CppSharp.Parser.AST.TextComment.__Internal native, bool skipVTables = false) + private RawComment(global::CppSharp.Parser.AST.RawComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TextComment(void* native, bool skipVTables = false) - : base((void*) null) + protected RawComment(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public TextComment() - : this((void*) null) + public RawComment() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TextComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TextComment(global::CppSharp.Parser.AST.TextComment _0) - : this((void*) null) + public RawComment(global::CppSharp.Parser.AST.RawComment _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TextComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -16998,11 +16946,16 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Comment __dummy; + global::CppSharp.Parser.AST.RawComment __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -17011,11 +16964,24 @@ namespace CppSharp __Instance = IntPtr.Zero; } + public global::CppSharp.Parser.AST.RawCommentKind Kind + { + get + { + return ((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->kind; + } + + set + { + ((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->kind = value; + } + } + public string Text { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TextComment.__Internal*) __Instance)->text)); + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->text)); var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); __basicStringRet0.Dispose(false); return __stringRet0; @@ -17023,7 +16989,41 @@ namespace CppSharp set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TextComment.__Internal*)__Instance)->text), value); + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->text), value); + } + } + + public string BriefText + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->briefText)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->briefText), value); + } + } + + public global::CppSharp.Parser.AST.FullComment FullCommentBlock + { + get + { + global::CppSharp.Parser.AST.FullComment __result0; + if (((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.FullComment.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock)) + __result0 = (global::CppSharp.Parser.AST.FullComment) global::CppSharp.Parser.AST.FullComment.NativeToManagedMap[((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock]; + else __result0 = global::CppSharp.Parser.AST.FullComment.__CreateInstance(((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->fullCommentBlock = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } @@ -17931,6 +17931,53 @@ namespace CppSharp User = 4 } + public unsafe partial class Parser + { + [StructLayout(LayoutKind.Explicit, Size = 0)] + public partial struct __Internal + { + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.Parser __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.Parser(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.Parser __CreateInstance(global::CppSharp.Parser.Parser.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.Parser(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.Parser.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.Parser.__Internal)); + *(global::CppSharp.Parser.Parser.__Internal*) ret = native; + return ret.ToPointer(); + } + + private Parser(global::CppSharp.Parser.Parser.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Parser(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + } + public unsafe partial class CppParserOptions : IDisposable { [StructLayout(LayoutKind.Explicit, Size = 320)] @@ -18787,53 +18834,6 @@ namespace CppSharp } } - public unsafe partial class Parser - { - [StructLayout(LayoutKind.Explicit, Size = 0)] - public partial struct __Internal - { - } - - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.Parser __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.Parser(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.Parser __CreateInstance(global::CppSharp.Parser.Parser.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.Parser(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.Parser.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.Parser.__Internal)); - *(global::CppSharp.Parser.Parser.__Internal*) ret = native; - return ret.ToPointer(); - } - - private Parser(global::CppSharp.Parser.Parser.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected Parser(void* native, bool skipVTables = false) - { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - } - public unsafe partial class ParserResult : IDisposable { [StructLayout(LayoutKind.Explicit, Size = 56)] diff --git a/src/CppParser/Bindings/CSharp/x86_64-linux-gnu/CppSharp.CppParser.cs b/src/CppParser/Bindings/CSharp/x86_64-linux-gnu/CppSharp.CppParser.cs index 1ae9ec2b..9405c1c5 100644 --- a/src/CppParser/Bindings/CSharp/x86_64-linux-gnu/CppSharp.CppParser.cs +++ b/src/CppParser/Bindings/CSharp/x86_64-linux-gnu/CppSharp.CppParser.cs @@ -681,177 +681,192 @@ namespace CppSharp } } - public unsafe partial class Declaration : IDisposable + public unsafe partial class TagType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 152)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 16)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + internal global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - internal int maxFieldAlignment; + internal byte isDependent; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; + internal global::System.IntPtr declaration; - [FieldOffset(16)] - internal global::System.IntPtr _namespace; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST7TagTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST7TagTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + } - [FieldOffset(28)] - internal int lineNumberStart; + internal static new global::CppSharp.Parser.AST.TagType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.TagType(native.ToPointer(), skipVTables); + } - [FieldOffset(32)] - internal int lineNumberEnd; + internal static global::CppSharp.Parser.AST.TagType __CreateInstance(global::CppSharp.Parser.AST.TagType.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.TagType(native, skipVTables); + } - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + private static void* __CopyValue(global::CppSharp.Parser.AST.TagType.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); + global::CppSharp.Parser.AST.TagType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(48)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + private TagType(global::CppSharp.Parser.AST.TagType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(56)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + protected TagType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(64)] - internal byte isIncomplete; + public TagType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - [FieldOffset(65)] - internal byte isDependent; + public TagType(global::CppSharp.Parser.AST.TagType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(66)] - internal byte isImplicit; + public global::CppSharp.Parser.AST.Declaration Declaration + { + get + { + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration); + return __result0; + } - [FieldOffset(67)] - internal byte isInvalid; + set + { + ((global::CppSharp.Parser.AST.TagType.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } - [FieldOffset(72)] - internal global::System.IntPtr completeDeclaration; + public unsafe partial class ArrayType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; - [FieldOffset(80)] - internal uint definitionOrder; + [FieldOffset(4)] + internal byte isDependent; - [FieldOffset(88)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - [FieldOffset(112)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.ArrayType.ArraySize sizeType; - [FieldOffset(136)] - internal global::System.IntPtr originalPtr; + [FieldOffset(32)] + internal long size; - [FieldOffset(144)] - internal global::System.IntPtr comment; + [FieldOffset(40)] + internal long elementSize; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11DeclarationC2ENS1_15DeclarationKindE")] - internal static extern void ctor(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); + EntryPoint="_ZN8CppSharp9CppParser3AST9ArrayTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11DeclarationC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST9ArrayTypeC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11DeclarationD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration23getPreprocessedEntitiesEj")] - internal static extern global::System.IntPtr GetPreprocessedEntities(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration23addPreprocessedEntitiesERPNS1_18PreprocessedEntityE")] - internal static extern void AddPreprocessedEntities(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration25clearPreprocessedEntitiesEv")] - internal static extern void ClearPreprocessedEntities(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration17getRedeclarationsEj")] - internal static extern global::System.IntPtr GetRedeclarations(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration17addRedeclarationsERPS2_")] - internal static extern void AddRedeclarations(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration19clearRedeclarationsEv")] - internal static extern void ClearRedeclarations(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration28getPreprocessedEntitiesCountEv")] - internal static extern uint GetPreprocessedEntitiesCount(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration22getRedeclarationsCountEv")] - internal static extern uint GetRedeclarationsCount(global::System.IntPtr instance); } - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; + public enum ArraySize + { + Constant = 0, + Variable = 1, + Dependent = 2, + Incomplete = 3 + } - internal static global::CppSharp.Parser.AST.Declaration __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.ArrayType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Declaration(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.ArrayType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Declaration __CreateInstance(global::CppSharp.Parser.AST.Declaration.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.ArrayType __CreateInstance(global::CppSharp.Parser.AST.ArrayType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Declaration(native, skipVTables); + return new global::CppSharp.Parser.AST.ArrayType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Declaration.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.ArrayType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); - global::CppSharp.Parser.AST.Declaration.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); + global::CppSharp.Parser.AST.ArrayType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Declaration(global::CppSharp.Parser.AST.Declaration.__Internal native, bool skipVTables = false) + private ArrayType(global::CppSharp.Parser.AST.ArrayType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Declaration(void* native, bool skipVTables = false) + protected ArrayType(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public Declaration(global::CppSharp.Parser.AST.DeclarationKind kind) + public ArrayType() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), kind); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public Declaration(global::CppSharp.Parser.AST.Declaration _0) + public ArrayType(global::CppSharp.Parser.AST.ArrayType _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -860,673 +875,731 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public void Dispose() + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { - Dispose(disposing: true); - } + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->qualifiedType)); + } - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; + set + { + ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } } - public global::CppSharp.Parser.AST.PreprocessedEntity GetPreprocessedEntities(uint i) + public global::CppSharp.Parser.AST.ArrayType.ArraySize SizeType { - var __ret = __Internal.GetPreprocessedEntities((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.PreprocessedEntity __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.PreprocessedEntity.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.PreprocessedEntity) global::CppSharp.Parser.AST.PreprocessedEntity.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.PreprocessedEntity.__CreateInstance(__ret); - return __result0; + get + { + return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->sizeType; + } + + set + { + ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->sizeType = value; + } } - public void AddPreprocessedEntities(global::CppSharp.Parser.AST.PreprocessedEntity s) + public long Size { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddPreprocessedEntities((__Instance + __PointerAdjustment), __arg0); + get + { + return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->size; + } + + set + { + ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->size = value; + } } - public void ClearPreprocessedEntities() + public long ElementSize { - __Internal.ClearPreprocessedEntities((__Instance + __PointerAdjustment)); + get + { + return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->elementSize; + } + + set + { + ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->elementSize = value; + } } + } - public global::CppSharp.Parser.AST.Declaration GetRedeclarations(uint i) + public unsafe partial class FunctionType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal { - var __ret = __Internal.GetRedeclarations((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Declaration __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(__ret); - return __result0; + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] + internal byte isDependent; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.CallingConvention callingConvention; + + [FieldOffset(28)] + internal global::CppSharp.Parser.AST.ExceptionSpecType exceptionSpecType; + + [FieldOffset(32)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_S_allocator__S0_ Parameters; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionTypeD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionType13getParametersEj")] + internal static extern global::System.IntPtr GetParameters(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionType13addParametersERPNS1_9ParameterE")] + internal static extern void AddParameters(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionType15clearParametersEv")] + internal static extern void ClearParameters(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionType18getParametersCountEv")] + internal static extern uint GetParametersCount(global::System.IntPtr instance); } - public void AddRedeclarations(global::CppSharp.Parser.AST.Declaration s) + internal static new global::CppSharp.Parser.AST.FunctionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddRedeclarations((__Instance + __PointerAdjustment), __arg0); + return new global::CppSharp.Parser.AST.FunctionType(native.ToPointer(), skipVTables); } - public void ClearRedeclarations() + internal static global::CppSharp.Parser.AST.FunctionType __CreateInstance(global::CppSharp.Parser.AST.FunctionType.__Internal native, bool skipVTables = false) { - __Internal.ClearRedeclarations((__Instance + __PointerAdjustment)); + return new global::CppSharp.Parser.AST.FunctionType(native, skipVTables); } - public static implicit operator global::CppSharp.Parser.AST.Declaration(global::CppSharp.Parser.AST.DeclarationKind kind) + private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionType.__Internal native) { - return new global::CppSharp.Parser.AST.Declaration(kind); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); + global::CppSharp.Parser.AST.FunctionType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); } - public global::CppSharp.Parser.AST.DeclarationKind Kind + private FunctionType(global::CppSharp.Parser.AST.FunctionType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->kind; - } + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->kind = value; - } + protected FunctionType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - public int MaxFieldAlignment + public FunctionType() + : this((void*) null) { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->maxFieldAlignment; - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->maxFieldAlignment = value; - } + public FunctionType(global::CppSharp.Parser.AST.FunctionType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.AccessSpecifier Access + public override void Dispose(bool disposing) { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->access; - } + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Type __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->access = value; - } + public global::CppSharp.Parser.AST.Parameter GetParameters(uint i) + { + var __ret = __Internal.GetParameters((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Parameter __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Parameter.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Parameter) global::CppSharp.Parser.AST.Parameter.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Parameter.__CreateInstance(__ret); + return __result0; } - public global::CppSharp.Parser.AST.DeclarationContext Namespace + public void AddParameters(global::CppSharp.Parser.AST.Parameter s) { - get - { - global::CppSharp.Parser.AST.DeclarationContext __result0; - if (((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.DeclarationContext.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace)) - __result0 = (global::CppSharp.Parser.AST.DeclarationContext) global::CppSharp.Parser.AST.DeclarationContext.NativeToManagedMap[((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace]; - else __result0 = global::CppSharp.Parser.AST.DeclarationContext.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace); - return __result0; - } + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddParameters((__Instance + __PointerAdjustment), __arg0); + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->_namespace = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + public void ClearParameters() + { + __Internal.ClearParameters((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.SourceLocation Location + public global::CppSharp.Parser.AST.QualifiedType ReturnType { get { - return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->location); + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->returnType)); } set { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->location = value.__Instance; + ((global::CppSharp.Parser.AST.FunctionType.__Internal*)__Instance)->returnType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public int LineNumberStart + public global::CppSharp.Parser.AST.CallingConvention CallingConvention { get { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->lineNumberStart; + return ((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->callingConvention; } set { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->lineNumberStart = value; + ((global::CppSharp.Parser.AST.FunctionType.__Internal*)__Instance)->callingConvention = value; } } - public int LineNumberEnd + public global::CppSharp.Parser.AST.ExceptionSpecType ExceptionSpecType { get { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->lineNumberEnd; + return ((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->exceptionSpecType; } set { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->lineNumberEnd = value; + ((global::CppSharp.Parser.AST.FunctionType.__Internal*)__Instance)->exceptionSpecType = value; } } - public string Name + public uint ParametersCount { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->name)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + var __ret = __Internal.GetParametersCount((__Instance + __PointerAdjustment)); + return __ret; } + } + } - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->name), value); - } + public unsafe partial class PointerType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] + internal byte isDependent; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedPointee; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.PointerType.TypeModifier modifier; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11PointerTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11PointerTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); } - public string USR + public enum TypeModifier { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->USR)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + Value = 0, + Pointer = 1, + LVReference = 2, + RVReference = 3 + } - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->USR), value); - } + internal static new global::CppSharp.Parser.AST.PointerType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.PointerType(native.ToPointer(), skipVTables); } - public string DebugText + internal static global::CppSharp.Parser.AST.PointerType __CreateInstance(global::CppSharp.Parser.AST.PointerType.__Internal native, bool skipVTables = false) { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->debugText)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + return new global::CppSharp.Parser.AST.PointerType(native, skipVTables); + } - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->debugText), value); - } + private static void* __CopyValue(global::CppSharp.Parser.AST.PointerType.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); + global::CppSharp.Parser.AST.PointerType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); } - public bool IsIncomplete + private PointerType(global::CppSharp.Parser.AST.PointerType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isIncomplete != 0; - } + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isIncomplete = (byte) (value ? 1 : 0); - } + protected PointerType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - public bool IsDependent + public PointerType() + : this((void*) null) { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isDependent != 0; - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isDependent = (byte) (value ? 1 : 0); - } + public PointerType(global::CppSharp.Parser.AST.PointerType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public bool IsImplicit + public global::CppSharp.Parser.AST.QualifiedType QualifiedPointee { get { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isImplicit != 0; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.PointerType.__Internal*) __Instance)->qualifiedPointee)); } set { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isImplicit = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.PointerType.__Internal*)__Instance)->qualifiedPointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public bool IsInvalid + public global::CppSharp.Parser.AST.PointerType.TypeModifier Modifier { get { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isInvalid != 0; + return ((global::CppSharp.Parser.AST.PointerType.__Internal*) __Instance)->modifier; } set { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isInvalid = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.PointerType.__Internal*)__Instance)->modifier = value; } } + } - public global::CppSharp.Parser.AST.Declaration CompleteDeclaration + public unsafe partial class MemberPointerType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public new partial struct __Internal { - get - { - global::CppSharp.Parser.AST.Declaration __result0; - if (((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration); - return __result0; - } + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->completeDeclaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + [FieldOffset(4)] + internal byte isDependent; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal pointee; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17MemberPointerTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17MemberPointerTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); } - public uint DefinitionOrder + internal static new global::CppSharp.Parser.AST.MemberPointerType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->definitionOrder; - } + return new global::CppSharp.Parser.AST.MemberPointerType(native.ToPointer(), skipVTables); + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->definitionOrder = value; - } + internal static global::CppSharp.Parser.AST.MemberPointerType __CreateInstance(global::CppSharp.Parser.AST.MemberPointerType.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MemberPointerType(native, skipVTables); } - public global::System.IntPtr OriginalPtr + private static void* __CopyValue(global::CppSharp.Parser.AST.MemberPointerType.__Internal native) { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->originalPtr; - } + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); + global::CppSharp.Parser.AST.MemberPointerType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->originalPtr = (global::System.IntPtr) value; - } + private MemberPointerType(global::CppSharp.Parser.AST.MemberPointerType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; } - public global::CppSharp.Parser.AST.RawComment Comment + protected MemberPointerType(void* native, bool skipVTables = false) + : base((void*) null) { - get - { - global::CppSharp.Parser.AST.RawComment __result0; - if (((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.RawComment.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment)) - __result0 = (global::CppSharp.Parser.AST.RawComment) global::CppSharp.Parser.AST.RawComment.NativeToManagedMap[((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment]; - else __result0 = global::CppSharp.Parser.AST.RawComment.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment); - return __result0; - } + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->comment = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + public MemberPointerType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); } - public uint PreprocessedEntitiesCount + public MemberPointerType(global::CppSharp.Parser.AST.MemberPointerType _0) + : this((void*) null) { - get - { - var __ret = __Internal.GetPreprocessedEntitiesCount((__Instance + __PointerAdjustment)); - return __ret; - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public uint RedeclarationsCount + public global::CppSharp.Parser.AST.QualifiedType Pointee { get { - var __ret = __Internal.GetRedeclarationsCount((__Instance + __PointerAdjustment)); - return __ret; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MemberPointerType.__Internal*) __Instance)->pointee)); + } + + set + { + ((global::CppSharp.Parser.AST.MemberPointerType.__Internal*)__Instance)->pointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } } - public unsafe partial class DeclarationContext : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class TypedefType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 424)] + [StructLayout(LayoutKind.Explicit, Size = 16)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + internal global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - internal int maxFieldAlignment; + internal byte isDependent; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; + internal global::System.IntPtr declaration; - [FieldOffset(16)] - internal global::System.IntPtr _namespace; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + } - [FieldOffset(28)] - internal int lineNumberStart; + internal static new global::CppSharp.Parser.AST.TypedefType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.TypedefType(native.ToPointer(), skipVTables); + } - [FieldOffset(32)] - internal int lineNumberEnd; + internal static global::CppSharp.Parser.AST.TypedefType __CreateInstance(global::CppSharp.Parser.AST.TypedefType.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.TypedefType(native, skipVTables); + } - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefType.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); + global::CppSharp.Parser.AST.TypedefType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(48)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + private TypedefType(global::CppSharp.Parser.AST.TypedefType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(56)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + protected TypedefType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(64)] - internal byte isIncomplete; + public TypedefType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - [FieldOffset(65)] + public TypedefType(global::CppSharp.Parser.AST.TypedefType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public global::CppSharp.Parser.AST.TypedefNameDecl Declaration + { + get + { + global::CppSharp.Parser.AST.TypedefNameDecl __result0; + if (((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TypedefNameDecl.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration)) + __result0 = (global::CppSharp.Parser.AST.TypedefNameDecl) global::CppSharp.Parser.AST.TypedefNameDecl.NativeToManagedMap[((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration]; + else __result0 = global::CppSharp.Parser.AST.TypedefNameDecl.__CreateInstance(((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.TypedefType.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class AttributedType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] internal byte isDependent; - [FieldOffset(66)] - internal byte isImplicit; + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal modified; - [FieldOffset(67)] - internal byte isInvalid; + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal equivalent; - [FieldOffset(72)] - internal global::System.IntPtr completeDeclaration; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14AttributedTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); - [FieldOffset(80)] - internal uint definitionOrder; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14AttributedTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + } - [FieldOffset(88)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + internal static new global::CppSharp.Parser.AST.AttributedType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AttributedType(native.ToPointer(), skipVTables); + } - [FieldOffset(112)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + internal static global::CppSharp.Parser.AST.AttributedType __CreateInstance(global::CppSharp.Parser.AST.AttributedType.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AttributedType(native, skipVTables); + } - [FieldOffset(136)] - internal global::System.IntPtr originalPtr; + private static void* __CopyValue(global::CppSharp.Parser.AST.AttributedType.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); + global::CppSharp.Parser.AST.AttributedType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(144)] - internal global::System.IntPtr comment; + private AttributedType(global::CppSharp.Parser.AST.AttributedType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(152)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; + protected AttributedType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(176)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; + public AttributedType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - [FieldOffset(200)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; + public AttributedType(global::CppSharp.Parser.AST.AttributedType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(224)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; + public global::CppSharp.Parser.AST.QualifiedType Modified + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.AttributedType.__Internal*) __Instance)->modified)); + } - [FieldOffset(248)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; + set + { + ((global::CppSharp.Parser.AST.AttributedType.__Internal*)__Instance)->modified = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } - [FieldOffset(272)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; + public global::CppSharp.Parser.AST.QualifiedType Equivalent + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.AttributedType.__Internal*) __Instance)->equivalent)); + } - [FieldOffset(296)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; + set + { + ((global::CppSharp.Parser.AST.AttributedType.__Internal*)__Instance)->equivalent = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + } - [FieldOffset(320)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; + public unsafe partial class DecayedType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; - [FieldOffset(344)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; + [FieldOffset(4)] + internal byte isDependent; - [FieldOffset(368)] - internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal decayed; - [FieldOffset(416)] - internal byte isAnonymous; + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal original; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContextC2ENS1_15DeclarationKindE")] - internal static extern void ctor(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); + [FieldOffset(40)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal pointee; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContextC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST11DecayedTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContextD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11DecayedTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext13getNamespacesEj")] - internal static extern global::System.IntPtr GetNamespaces(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext13addNamespacesERPNS1_9NamespaceE")] - internal static extern void AddNamespaces(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext15clearNamespacesEv")] - internal static extern void ClearNamespaces(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext8getEnumsEj")] - internal static extern global::System.IntPtr GetEnums(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext8addEnumsERPNS1_11EnumerationE")] - internal static extern void AddEnums(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10clearEnumsEv")] - internal static extern void ClearEnums(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12getFunctionsEj")] - internal static extern global::System.IntPtr GetFunctions(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12addFunctionsERPNS1_8FunctionE")] - internal static extern void AddFunctions(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14clearFunctionsEv")] - internal static extern void ClearFunctions(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10getClassesEj")] - internal static extern global::System.IntPtr GetClasses(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10addClassesERPNS1_5ClassE")] - internal static extern void AddClasses(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12clearClassesEv")] - internal static extern void ClearClasses(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12getTemplatesEj")] - internal static extern global::System.IntPtr GetTemplates(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12addTemplatesERPNS1_8TemplateE")] - internal static extern void AddTemplates(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14clearTemplatesEv")] - internal static extern void ClearTemplates(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext11getTypedefsEj")] - internal static extern global::System.IntPtr GetTypedefs(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext11addTypedefsERPNS1_11TypedefDeclE")] - internal static extern void AddTypedefs(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext13clearTypedefsEv")] - internal static extern void ClearTypedefs(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14getTypeAliasesEj")] - internal static extern global::System.IntPtr GetTypeAliases(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14addTypeAliasesERPNS1_9TypeAliasE")] - internal static extern void AddTypeAliases(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext16clearTypeAliasesEv")] - internal static extern void ClearTypeAliases(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12getVariablesEj")] - internal static extern global::System.IntPtr GetVariables(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12addVariablesERPNS1_8VariableE")] - internal static extern void AddVariables(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14clearVariablesEv")] - internal static extern void ClearVariables(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10getFriendsEj")] - internal static extern global::System.IntPtr GetFriends(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10addFriendsERPNS1_6FriendE")] - internal static extern void AddFriends(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12clearFriendsEv")] - internal static extern void ClearFriends(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext18getNamespacesCountEv")] - internal static extern uint GetNamespacesCount(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext13getEnumsCountEv")] - internal static extern uint GetEnumsCount(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext17getFunctionsCountEv")] - internal static extern uint GetFunctionsCount(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext15getClassesCountEv")] - internal static extern uint GetClassesCount(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext17getTemplatesCountEv")] - internal static extern uint GetTemplatesCount(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext16getTypedefsCountEv")] - internal static extern uint GetTypedefsCount(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext19getTypeAliasesCountEv")] - internal static extern uint GetTypeAliasesCount(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext17getVariablesCountEv")] - internal static extern uint GetVariablesCount(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext15getFriendsCountEv")] - internal static extern uint GetFriendsCount(global::System.IntPtr instance); - } - - internal static new global::CppSharp.Parser.AST.DeclarationContext __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.DecayedType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.DeclarationContext(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.DecayedType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.DeclarationContext __CreateInstance(global::CppSharp.Parser.AST.DeclarationContext.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.DecayedType __CreateInstance(global::CppSharp.Parser.AST.DecayedType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.DeclarationContext(native, skipVTables); + return new global::CppSharp.Parser.AST.DecayedType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.DeclarationContext.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.DecayedType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal)); - global::CppSharp.Parser.AST.DeclarationContext.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); + global::CppSharp.Parser.AST.DecayedType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private DeclarationContext(global::CppSharp.Parser.AST.DeclarationContext.__Internal native, bool skipVTables = false) + private DecayedType(global::CppSharp.Parser.AST.DecayedType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected DeclarationContext(void* native, bool skipVTables = false) + protected DecayedType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -1535,19 +1608,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public DeclarationContext(global::CppSharp.Parser.AST.DeclarationKind kind) + public DecayedType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), kind); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public DeclarationContext(global::CppSharp.Parser.AST.DeclarationContext _0) + public DecayedType(global::CppSharp.Parser.AST.DecayedType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -1556,554 +1629,498 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public global::CppSharp.Parser.AST.QualifiedType Decayed { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->decayed)); + } - public global::CppSharp.Parser.AST.Namespace GetNamespaces(uint i) - { - var __ret = __Internal.GetNamespaces((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Namespace __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Namespace.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Namespace) global::CppSharp.Parser.AST.Namespace.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Namespace.__CreateInstance(__ret); - return __result0; + set + { + ((global::CppSharp.Parser.AST.DecayedType.__Internal*)__Instance)->decayed = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } } - public void AddNamespaces(global::CppSharp.Parser.AST.Namespace s) + public global::CppSharp.Parser.AST.QualifiedType Original { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddNamespaces((__Instance + __PointerAdjustment), __arg0); - } + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->original)); + } - public void ClearNamespaces() - { - __Internal.ClearNamespaces((__Instance + __PointerAdjustment)); + set + { + ((global::CppSharp.Parser.AST.DecayedType.__Internal*)__Instance)->original = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } } - public global::CppSharp.Parser.AST.Enumeration GetEnums(uint i) - { - var __ret = __Internal.GetEnums((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Enumeration __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Enumeration.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Enumeration) global::CppSharp.Parser.AST.Enumeration.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Enumeration.__CreateInstance(__ret); - return __result0; - } - - public void AddEnums(global::CppSharp.Parser.AST.Enumeration s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddEnums((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearEnums() - { - __Internal.ClearEnums((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.Function GetFunctions(uint i) - { - var __ret = __Internal.GetFunctions((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Function __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(__ret); - return __result0; - } - - public void AddFunctions(global::CppSharp.Parser.AST.Function s) + public global::CppSharp.Parser.AST.QualifiedType Pointee { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddFunctions((__Instance + __PointerAdjustment), __arg0); - } + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->pointee)); + } - public void ClearFunctions() - { - __Internal.ClearFunctions((__Instance + __PointerAdjustment)); + set + { + ((global::CppSharp.Parser.AST.DecayedType.__Internal*)__Instance)->pointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } } + } - public global::CppSharp.Parser.AST.Class GetClasses(uint i) + public unsafe partial class TemplateArgument : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public partial struct __Internal { - var __ret = __Internal.GetClasses((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Class __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(__ret); - return __result0; - } + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TemplateArgument.ArgumentKind kind; - public void AddClasses(global::CppSharp.Parser.AST.Class s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddClasses((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; - public void ClearClasses() - { - __Internal.ClearClasses((__Instance + __PointerAdjustment)); - } + [FieldOffset(24)] + internal global::System.IntPtr declaration; - public global::CppSharp.Parser.AST.Template GetTemplates(uint i) - { - var __ret = __Internal.GetTemplates((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Template __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Template.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Template) global::CppSharp.Parser.AST.Template.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Template.__CreateInstance(__ret); - return __result0; - } + [FieldOffset(32)] + internal long integral; - public void AddTemplates(global::CppSharp.Parser.AST.Template s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddTemplates((__Instance + __PointerAdjustment), __arg0); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16TemplateArgumentC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); - public void ClearTemplates() - { - __Internal.ClearTemplates((__Instance + __PointerAdjustment)); + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16TemplateArgumentC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); } - public global::CppSharp.Parser.AST.TypedefDecl GetTypedefs(uint i) + public enum ArgumentKind { - var __ret = __Internal.GetTypedefs((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.TypedefDecl __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TypedefDecl.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.TypedefDecl) global::CppSharp.Parser.AST.TypedefDecl.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.TypedefDecl.__CreateInstance(__ret); - return __result0; + Type = 0, + Declaration = 1, + NullPtr = 2, + Integral = 3, + Template = 4, + TemplateExpansion = 5, + Expression = 6, + Pack = 7 } - public void AddTypedefs(global::CppSharp.Parser.AST.TypedefDecl s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddTypedefs((__Instance + __PointerAdjustment), __arg0); - } + public global::System.IntPtr __Instance { get; protected set; } - public void ClearTypedefs() - { - __Internal.ClearTypedefs((__Instance + __PointerAdjustment)); - } + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; - public global::CppSharp.Parser.AST.TypeAlias GetTypeAliases(uint i) - { - var __ret = __Internal.GetTypeAliases((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.TypeAlias __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TypeAlias.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.TypeAlias) global::CppSharp.Parser.AST.TypeAlias.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.TypeAlias.__CreateInstance(__ret); - return __result0; - } + protected bool __ownsNativeInstance; - public void AddTypeAliases(global::CppSharp.Parser.AST.TypeAlias s) + internal static global::CppSharp.Parser.AST.TemplateArgument __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddTypeAliases((__Instance + __PointerAdjustment), __arg0); + return new global::CppSharp.Parser.AST.TemplateArgument(native.ToPointer(), skipVTables); } - public void ClearTypeAliases() + internal static global::CppSharp.Parser.AST.TemplateArgument __CreateInstance(global::CppSharp.Parser.AST.TemplateArgument.__Internal native, bool skipVTables = false) { - __Internal.ClearTypeAliases((__Instance + __PointerAdjustment)); + return new global::CppSharp.Parser.AST.TemplateArgument(native, skipVTables); } - public global::CppSharp.Parser.AST.Variable GetVariables(uint i) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateArgument.__Internal native) { - var __ret = __Internal.GetVariables((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Variable __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Variable.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Variable) global::CppSharp.Parser.AST.Variable.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Variable.__CreateInstance(__ret); - return __result0; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); + *(global::CppSharp.Parser.AST.TemplateArgument.__Internal*) ret = native; + return ret.ToPointer(); } - public void AddVariables(global::CppSharp.Parser.AST.Variable s) + private TemplateArgument(global::CppSharp.Parser.AST.TemplateArgument.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddVariables((__Instance + __PointerAdjustment), __arg0); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; } - public void ClearVariables() + protected TemplateArgument(void* native, bool skipVTables = false) { - __Internal.ClearVariables((__Instance + __PointerAdjustment)); + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - public global::CppSharp.Parser.AST.Friend GetFriends(uint i) + public TemplateArgument() { - var __ret = __Internal.GetFriends((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Friend __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Friend.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Friend) global::CppSharp.Parser.AST.Friend.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Friend.__CreateInstance(__ret); - return __result0; + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); } - public void AddFriends(global::CppSharp.Parser.AST.Friend s) + public TemplateArgument(global::CppSharp.Parser.AST.TemplateArgument _0) { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddFriends((__Instance + __PointerAdjustment), __arg0); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) _0.__Instance); } - public void ClearFriends() + public void Dispose() { - __Internal.ClearFriends((__Instance + __PointerAdjustment)); + Dispose(disposing: true); } - public static implicit operator global::CppSharp.Parser.AST.DeclarationContext(global::CppSharp.Parser.AST.DeclarationKind kind) + public virtual void Dispose(bool disposing) { - return new global::CppSharp.Parser.AST.DeclarationContext(kind); + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.TemplateArgument __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; } - public bool IsAnonymous + public global::CppSharp.Parser.AST.TemplateArgument.ArgumentKind Kind { get { - return ((global::CppSharp.Parser.AST.DeclarationContext.__Internal*) __Instance)->isAnonymous != 0; + return ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->kind; } set { - ((global::CppSharp.Parser.AST.DeclarationContext.__Internal*)__Instance)->isAnonymous = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->kind = value; } } - public uint NamespacesCount + public global::CppSharp.Parser.AST.QualifiedType Type { get { - var __ret = __Internal.GetNamespacesCount((__Instance + __PointerAdjustment)); - return __ret; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->type)); } - } - public uint EnumsCount - { - get + set { - var __ret = __Internal.GetEnumsCount((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public uint FunctionsCount + public global::CppSharp.Parser.AST.Declaration Declaration { get { - var __ret = __Internal.GetFunctionsCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - - public uint ClassesCount - { - get - { - var __ret = __Internal.GetClassesCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - - public uint TemplatesCount - { - get - { - var __ret = __Internal.GetTemplatesCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - - public uint TypedefsCount - { - get - { - var __ret = __Internal.GetTypedefsCount((__Instance + __PointerAdjustment)); - return __ret; + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration); + return __result0; } - } - public uint TypeAliasesCount - { - get + set { - var __ret = __Internal.GetTypeAliasesCount((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public uint VariablesCount + public long Integral { get { - var __ret = __Internal.GetVariablesCount((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->integral; } - } - public uint FriendsCount - { - get + set { - var __ret = __Internal.GetFriendsCount((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->integral = value; } } } - public unsafe partial class PreprocessedEntity : IDisposable + public unsafe partial class TemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 24)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.MacroLocation macroLocation; + internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] + internal byte isDependent; [FieldOffset(8)] - internal global::System.IntPtr originalPtr; + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; - [FieldOffset(16)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + [FieldOffset(32)] + internal global::System.IntPtr _template; + + [FieldOffset(40)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18PreprocessedEntityC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationTypeC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18PreprocessedEntityC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationTypeC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - } - public global::System.IntPtr __Instance { get; protected set; } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationTypeD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType12getArgumentsEj")] + internal static extern void GetArguments(global::System.IntPtr @return, global::System.IntPtr instance, uint i); - protected bool __ownsNativeInstance; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType12addArgumentsERNS1_16TemplateArgumentE")] + internal static extern void AddArguments(global::System.IntPtr instance, global::System.IntPtr s); - internal static global::CppSharp.Parser.AST.PreprocessedEntity __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType14clearArgumentsEv")] + internal static extern void ClearArguments(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType17getArgumentsCountEv")] + internal static extern uint GetArgumentsCount(global::System.IntPtr instance); + } + + internal static new global::CppSharp.Parser.AST.TemplateSpecializationType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.PreprocessedEntity(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TemplateSpecializationType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.PreprocessedEntity __CreateInstance(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TemplateSpecializationType __CreateInstance(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.PreprocessedEntity(native, skipVTables); + return new global::CppSharp.Parser.AST.TemplateSpecializationType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); - *(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) ret = native; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); + global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private PreprocessedEntity(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native, bool skipVTables = false) + private TemplateSpecializationType(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected PreprocessedEntity(void* native, bool skipVTables = false) + protected TemplateSpecializationType(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public PreprocessedEntity() + public TemplateSpecializationType() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public PreprocessedEntity(global::CppSharp.Parser.AST.PreprocessedEntity _0) + public TemplateSpecializationType(global::CppSharp.Parser.AST.TemplateSpecializationType _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) _0.__Instance); - } - - public void Dispose() - { - Dispose(disposing: true); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.PreprocessedEntity __dummy; + global::CppSharp.Parser.AST.Type __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.MacroLocation MacroLocation + public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) + { + var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); + __Internal.GetArguments(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); + return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); + } + + public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearArguments() + { + __Internal.ClearArguments((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.Template Template { get { - return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->macroLocation; + global::CppSharp.Parser.AST.Template __result0; + if (((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Template.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template)) + __result0 = (global::CppSharp.Parser.AST.Template) global::CppSharp.Parser.AST.Template.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template]; + else __result0 = global::CppSharp.Parser.AST.Template.__CreateInstance(((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template); + return __result0; } set { - ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*)__Instance)->macroLocation = value; + ((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*)__Instance)->_template = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public global::System.IntPtr OriginalPtr + public global::CppSharp.Parser.AST.QualifiedType Desugared { get { - return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->originalPtr; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->desugared)); } set { - ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*)__Instance)->originalPtr = (global::System.IntPtr) value; + ((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*)__Instance)->desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public global::CppSharp.Parser.AST.DeclarationKind Kind + public uint ArgumentsCount { get { - return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->kind; - } - - set - { - ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*)__Instance)->kind = value; + var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class RawComment : IDisposable + public unsafe partial class DependentTemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 32)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.RawCommentKind kind; + internal global::CppSharp.Parser.AST.TypeKind kind; - [FieldOffset(8)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C text; + [FieldOffset(4)] + internal byte isDependent; - [FieldOffset(16)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C briefText; + [FieldOffset(8)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; - [FieldOffset(24)] - internal global::System.IntPtr fullCommentBlock; + [FieldOffset(32)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10RawCommentC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationTypeC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10RawCommentC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationTypeC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10RawCommentD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationTypeD2Ev")] internal static extern void dtor(global::System.IntPtr instance); - } - public global::System.IntPtr __Instance { get; protected set; } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationType12getArgumentsEj")] + internal static extern void GetArguments(global::System.IntPtr @return, global::System.IntPtr instance, uint i); - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationType12addArgumentsERNS1_16TemplateArgumentE")] + internal static extern void AddArguments(global::System.IntPtr instance, global::System.IntPtr s); - protected bool __ownsNativeInstance; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationType14clearArgumentsEv")] + internal static extern void ClearArguments(global::System.IntPtr instance); - internal static global::CppSharp.Parser.AST.RawComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.RawComment(native.ToPointer(), skipVTables); + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationType17getArgumentsCountEv")] + internal static extern uint GetArgumentsCount(global::System.IntPtr instance); } - internal static global::CppSharp.Parser.AST.RawComment __CreateInstance(global::CppSharp.Parser.AST.RawComment.__Internal native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.DependentTemplateSpecializationType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.RawComment(native, skipVTables); + return new global::CppSharp.Parser.AST.DependentTemplateSpecializationType(native.ToPointer(), skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.RawComment.__Internal native) + internal static global::CppSharp.Parser.AST.DependentTemplateSpecializationType __CreateInstance(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native, bool skipVTables = false) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); - global::CppSharp.Parser.AST.RawComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return new global::CppSharp.Parser.AST.DependentTemplateSpecializationType(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); + global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private RawComment(global::CppSharp.Parser.AST.RawComment.__Internal native, bool skipVTables = false) + private DependentTemplateSpecializationType(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected RawComment(void* native, bool skipVTables = false) + protected DependentTemplateSpecializationType(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public RawComment() + public DependentTemplateSpecializationType() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public RawComment(global::CppSharp.Parser.AST.RawComment _0) + public DependentTemplateSpecializationType(global::CppSharp.Parser.AST.DependentTemplateSpecializationType _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -2112,16 +2129,11 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.RawComment __dummy; + global::CppSharp.Parser.AST.Type __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -2130,142 +2142,113 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.RawCommentKind Kind + public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) { - get - { - return ((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->kind; - } - - set - { - ((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->kind = value; - } + var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); + __Internal.GetArguments(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); + return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); } - public string Text + public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->text)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); + } - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->text), value); - } + public void ClearArguments() + { + __Internal.ClearArguments((__Instance + __PointerAdjustment)); } - public string BriefText + public global::CppSharp.Parser.AST.QualifiedType Desugared { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->briefText)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal*) __Instance)->desugared)); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->briefText), value); + ((global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal*)__Instance)->desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public global::CppSharp.Parser.AST.FullComment FullCommentBlock + public uint ArgumentsCount { get { - global::CppSharp.Parser.AST.FullComment __result0; - if (((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.FullComment.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock)) - __result0 = (global::CppSharp.Parser.AST.FullComment) global::CppSharp.Parser.AST.FullComment.NativeToManagedMap[((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock]; - else __result0 = global::CppSharp.Parser.AST.FullComment.__CreateInstance(((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->fullCommentBlock = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class FullComment : global::CppSharp.Parser.AST.Comment, IDisposable + public unsafe partial class TemplateParameterType : global::CppSharp.Parser.AST.Type, IDisposable { [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + internal global::CppSharp.Parser.AST.TypeKind kind; - [FieldOffset(8)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BlockContentComment___N_std_S_allocator__S0_ Blocks; + [FieldOffset(4)] + internal byte isDependent; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11FullCommentC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); + [FieldOffset(8)] + internal global::System.IntPtr parameter; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11FullCommentC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + [FieldOffset(16)] + internal uint depth; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11FullCommentD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); + [FieldOffset(20)] + internal uint index; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11FullComment9getBlocksEj")] - internal static extern global::System.IntPtr GetBlocks(global::System.IntPtr instance, uint i); + [FieldOffset(24)] + internal byte isParameterPack; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11FullComment9addBlocksERPNS1_19BlockContentCommentE")] - internal static extern void AddBlocks(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST21TemplateParameterTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11FullComment11clearBlocksEv")] - internal static extern void ClearBlocks(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST21TemplateParameterTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11FullComment14getBlocksCountEv")] - internal static extern uint GetBlocksCount(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST21TemplateParameterTypeD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.FullComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TemplateParameterType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.FullComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TemplateParameterType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.FullComment __CreateInstance(global::CppSharp.Parser.AST.FullComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TemplateParameterType __CreateInstance(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.FullComment(native, skipVTables); + return new global::CppSharp.Parser.AST.TemplateParameterType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.FullComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullComment.__Internal)); - global::CppSharp.Parser.AST.FullComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); + global::CppSharp.Parser.AST.TemplateParameterType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private FullComment(global::CppSharp.Parser.AST.FullComment.__Internal native, bool skipVTables = false) + private TemplateParameterType(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected FullComment(void* native, bool skipVTables = false) + protected TemplateParameterType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -2274,19 +2257,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public FullComment() + public TemplateParameterType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public FullComment(global::CppSharp.Parser.AST.FullComment _0) + public TemplateParameterType(global::CppSharp.Parser.AST.TemplateParameterType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -2299,7 +2282,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Comment __dummy; + global::CppSharp.Parser.AST.Type __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -2308,198 +2291,231 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.BlockContentComment GetBlocks(uint i) + public global::CppSharp.Parser.AST.TypeTemplateParameter Parameter { - var __ret = __Internal.GetBlocks((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.BlockContentComment __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.BlockContentComment.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.BlockContentComment) global::CppSharp.Parser.AST.BlockContentComment.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.BlockContentComment.__CreateInstance(__ret); - return __result0; + get + { + global::CppSharp.Parser.AST.TypeTemplateParameter __result0; + if (((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TypeTemplateParameter.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter)) + __result0 = (global::CppSharp.Parser.AST.TypeTemplateParameter) global::CppSharp.Parser.AST.TypeTemplateParameter.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter]; + else __result0 = global::CppSharp.Parser.AST.TypeTemplateParameter.__CreateInstance(((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->parameter = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } } - public void AddBlocks(global::CppSharp.Parser.AST.BlockContentComment s) + public uint Depth { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddBlocks((__Instance + __PointerAdjustment), __arg0); + get + { + return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->depth; + } + + set + { + ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->depth = value; + } } - public void ClearBlocks() + public uint Index { - __Internal.ClearBlocks((__Instance + __PointerAdjustment)); + get + { + return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->index; + } + + set + { + ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->index = value; + } } - public uint BlocksCount + public bool IsParameterPack { get { - var __ret = __Internal.GetBlocksCount((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->isParameterPack != 0; + } + + set + { + ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->isParameterPack = (byte) (value ? 1 : 0); } } } - public unsafe partial class Comment : IDisposable + public unsafe partial class TemplateParameterSubstitutionType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 4)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] + internal byte isDependent; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal replacement; + + [FieldOffset(24)] + internal global::System.IntPtr replacedParameter; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST7CommentC2ENS1_11CommentKindE")] - internal static extern void ctor(global::System.IntPtr instance, global::CppSharp.Parser.AST.CommentKind kind); + EntryPoint="_ZN8CppSharp9CppParser3AST33TemplateParameterSubstitutionTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST7CommentC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST33TemplateParameterSubstitutionTypeC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); } - public global::System.IntPtr __Instance { get; protected set; } + internal static new global::CppSharp.Parser.AST.TemplateParameterSubstitutionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.TemplateParameterSubstitutionType(native.ToPointer(), skipVTables); + } - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.Comment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Comment(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.Comment __CreateInstance(global::CppSharp.Parser.AST.Comment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TemplateParameterSubstitutionType __CreateInstance(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Comment(native, skipVTables); + return new global::CppSharp.Parser.AST.TemplateParameterSubstitutionType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Comment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Comment.__Internal)); - *(global::CppSharp.Parser.AST.Comment.__Internal*) ret = native; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); + global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Comment(global::CppSharp.Parser.AST.Comment.__Internal native, bool skipVTables = false) + private TemplateParameterSubstitutionType(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Comment(void* native, bool skipVTables = false) + protected TemplateParameterSubstitutionType(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public Comment(global::CppSharp.Parser.AST.CommentKind kind) + public TemplateParameterSubstitutionType() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Comment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), kind); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public Comment(global::CppSharp.Parser.AST.Comment _0) + public TemplateParameterSubstitutionType(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Comment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.Comment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.Comment.__Internal*) _0.__Instance); - } - - public void Dispose() - { - Dispose(disposing: true); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public virtual void Dispose(bool disposing) + public global::CppSharp.Parser.AST.QualifiedType Replacement { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Comment __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacement)); + } - public static implicit operator global::CppSharp.Parser.AST.Comment(global::CppSharp.Parser.AST.CommentKind kind) - { - return new global::CppSharp.Parser.AST.Comment(kind); + set + { + ((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*)__Instance)->replacement = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } } - public global::CppSharp.Parser.AST.CommentKind Kind + public global::CppSharp.Parser.AST.TemplateParameterType ReplacedParameter { get { - return ((global::CppSharp.Parser.AST.Comment.__Internal*) __Instance)->kind; + global::CppSharp.Parser.AST.TemplateParameterType __result0; + if (((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TemplateParameterType.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter)) + __result0 = (global::CppSharp.Parser.AST.TemplateParameterType) global::CppSharp.Parser.AST.TemplateParameterType.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter]; + else __result0 = global::CppSharp.Parser.AST.TemplateParameterType.__CreateInstance(((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter); + return __result0; } set { - ((global::CppSharp.Parser.AST.Comment.__Internal*)__Instance)->kind = value; + ((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*)__Instance)->replacedParameter = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } - public unsafe partial class BlockContentComment : global::CppSharp.Parser.AST.Comment, IDisposable + public unsafe partial class InjectedClassNameType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 4)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + internal global::CppSharp.Parser.AST.TypeKind kind; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19BlockContentCommentC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); + [FieldOffset(4)] + internal byte isDependent; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal injectedSpecializationType; + + [FieldOffset(24)] + internal global::System.IntPtr _class; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19BlockContentCommentC2ENS1_11CommentKindE")] - internal static extern void ctor(global::System.IntPtr instance, global::CppSharp.Parser.AST.CommentKind Kind); + EntryPoint="_ZN8CppSharp9CppParser3AST21InjectedClassNameTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19BlockContentCommentC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST21InjectedClassNameTypeC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); } - internal static new global::CppSharp.Parser.AST.BlockContentComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.InjectedClassNameType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.BlockContentComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.InjectedClassNameType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.BlockContentComment __CreateInstance(global::CppSharp.Parser.AST.BlockContentComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.InjectedClassNameType __CreateInstance(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.BlockContentComment(native, skipVTables); + return new global::CppSharp.Parser.AST.InjectedClassNameType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.BlockContentComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); - *(global::CppSharp.Parser.AST.BlockContentComment.__Internal*) ret = native; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); + global::CppSharp.Parser.AST.InjectedClassNameType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private BlockContentComment(global::CppSharp.Parser.AST.BlockContentComment.__Internal native, bool skipVTables = false) + private InjectedClassNameType(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected BlockContentComment(void* native, bool skipVTables = false) + protected InjectedClassNameType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -2508,181 +2524,319 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public BlockContentComment() + public InjectedClassNameType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public BlockContentComment(global::CppSharp.Parser.AST.CommentKind Kind) + public InjectedClassNameType(global::CppSharp.Parser.AST.InjectedClassNameType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), Kind); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public BlockContentComment(global::CppSharp.Parser.AST.BlockContentComment _0) - : this((void*) null) + public global::CppSharp.Parser.AST.QualifiedType InjectedSpecializationType { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.BlockContentComment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.BlockContentComment.__Internal*) _0.__Instance); + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->injectedSpecializationType)); + } + + set + { + ((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*)__Instance)->injectedSpecializationType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } } - public static implicit operator global::CppSharp.Parser.AST.BlockContentComment(global::CppSharp.Parser.AST.CommentKind Kind) + public global::CppSharp.Parser.AST.Class Class { - return new global::CppSharp.Parser.AST.BlockContentComment(Kind); + get + { + global::CppSharp.Parser.AST.Class __result0; + if (((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class)) + __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class]; + else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*)__Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } } } - public unsafe partial class Namespace : global::CppSharp.Parser.AST.DeclarationContext, IDisposable + public unsafe partial class DependentNameType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 424)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + internal global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - internal int maxFieldAlignment; + internal byte isDependent; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifier; [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; - - [FieldOffset(32)] - internal int lineNumberEnd; + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C identifier; - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17DependentNameTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); - [FieldOffset(48)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17DependentNameTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - [FieldOffset(56)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17DependentNameTypeD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); + } - [FieldOffset(64)] - internal byte isIncomplete; + internal static new global::CppSharp.Parser.AST.DependentNameType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DependentNameType(native.ToPointer(), skipVTables); + } - [FieldOffset(65)] - internal byte isDependent; + internal static global::CppSharp.Parser.AST.DependentNameType __CreateInstance(global::CppSharp.Parser.AST.DependentNameType.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DependentNameType(native, skipVTables); + } - [FieldOffset(66)] - internal byte isImplicit; + private static void* __CopyValue(global::CppSharp.Parser.AST.DependentNameType.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); + global::CppSharp.Parser.AST.DependentNameType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(67)] - internal byte isInvalid; + private DependentNameType(global::CppSharp.Parser.AST.DependentNameType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(72)] - internal global::System.IntPtr completeDeclaration; + protected DependentNameType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(80)] - internal uint definitionOrder; + public DependentNameType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - [FieldOffset(88)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + public DependentNameType(global::CppSharp.Parser.AST.DependentNameType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(112)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Type __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } - [FieldOffset(136)] - internal global::System.IntPtr originalPtr; + public global::CppSharp.Parser.AST.QualifiedType Qualifier + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentNameType.__Internal*) __Instance)->qualifier)); + } - [FieldOffset(144)] - internal global::System.IntPtr comment; + set + { + ((global::CppSharp.Parser.AST.DependentNameType.__Internal*)__Instance)->qualifier = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } - [FieldOffset(152)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; + public string Identifier + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentNameType.__Internal*) __Instance)->identifier)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } - [FieldOffset(176)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentNameType.__Internal*)__Instance)->identifier), value); + } + } + } - [FieldOffset(200)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; + public unsafe partial class PackExpansionType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 8)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; - [FieldOffset(224)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; + [FieldOffset(4)] + internal byte isDependent; - [FieldOffset(248)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17PackExpansionTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); - [FieldOffset(272)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17PackExpansionTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + } - [FieldOffset(296)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; + internal static new global::CppSharp.Parser.AST.PackExpansionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.PackExpansionType(native.ToPointer(), skipVTables); + } - [FieldOffset(320)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; + internal static global::CppSharp.Parser.AST.PackExpansionType __CreateInstance(global::CppSharp.Parser.AST.PackExpansionType.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.PackExpansionType(native, skipVTables); + } - [FieldOffset(344)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; + private static void* __CopyValue(global::CppSharp.Parser.AST.PackExpansionType.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); + global::CppSharp.Parser.AST.PackExpansionType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(368)] - internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + private PackExpansionType(global::CppSharp.Parser.AST.PackExpansionType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(416)] - internal byte isAnonymous; + protected PackExpansionType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(417)] - internal byte isInline; + public PackExpansionType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public PackExpansionType(global::CppSharp.Parser.AST.PackExpansionType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + } + + public unsafe partial class UnaryTransformType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] + internal byte isDependent; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal baseType; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9NamespaceC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST18UnaryTransformTypeC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9NamespaceC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST18UnaryTransformTypeC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9NamespaceD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.Namespace __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.UnaryTransformType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Namespace(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.UnaryTransformType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Namespace __CreateInstance(global::CppSharp.Parser.AST.Namespace.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.UnaryTransformType __CreateInstance(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Namespace(native, skipVTables); + return new global::CppSharp.Parser.AST.UnaryTransformType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Namespace.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); - global::CppSharp.Parser.AST.Namespace.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); + global::CppSharp.Parser.AST.UnaryTransformType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Namespace(global::CppSharp.Parser.AST.Namespace.__Internal native, bool skipVTables = false) + private UnaryTransformType(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Namespace(void* native, bool skipVTables = false) + protected UnaryTransformType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -2691,19 +2845,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Namespace() + public UnaryTransformType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public Namespace(global::CppSharp.Parser.AST.Namespace _0) + public UnaryTransformType(global::CppSharp.Parser.AST.UnaryTransformType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -2712,778 +2866,470 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public global::CppSharp.Parser.AST.QualifiedType Desugared { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*) __Instance)->desugared)); + } + + set + { + ((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*)__Instance)->desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } } - public bool IsInline + public global::CppSharp.Parser.AST.QualifiedType BaseType { get { - return ((global::CppSharp.Parser.AST.Namespace.__Internal*) __Instance)->isInline != 0; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*) __Instance)->baseType)); } set { - ((global::CppSharp.Parser.AST.Namespace.__Internal*)__Instance)->isInline = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*)__Instance)->baseType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } } - public unsafe partial class Enumeration : global::CppSharp.Parser.AST.DeclarationContext, IDisposable + public unsafe partial class VectorType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 464)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + internal global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - internal int maxFieldAlignment; + internal byte isDependent; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal elementType; [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; + internal uint numElements; - [FieldOffset(32)] - internal int lineNumberEnd; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10VectorTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10VectorTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + } - [FieldOffset(48)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + internal static new global::CppSharp.Parser.AST.VectorType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.VectorType(native.ToPointer(), skipVTables); + } - [FieldOffset(56)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + internal static global::CppSharp.Parser.AST.VectorType __CreateInstance(global::CppSharp.Parser.AST.VectorType.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.VectorType(native, skipVTables); + } - [FieldOffset(64)] - internal byte isIncomplete; + private static void* __CopyValue(global::CppSharp.Parser.AST.VectorType.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); + global::CppSharp.Parser.AST.VectorType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(65)] - internal byte isDependent; + private VectorType(global::CppSharp.Parser.AST.VectorType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(66)] - internal byte isImplicit; + protected VectorType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(67)] - internal byte isInvalid; + public VectorType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - [FieldOffset(72)] - internal global::System.IntPtr completeDeclaration; + public VectorType(global::CppSharp.Parser.AST.VectorType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(80)] - internal uint definitionOrder; + public global::CppSharp.Parser.AST.QualifiedType ElementType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VectorType.__Internal*) __Instance)->elementType)); + } - [FieldOffset(88)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + set + { + ((global::CppSharp.Parser.AST.VectorType.__Internal*)__Instance)->elementType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } - [FieldOffset(112)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + public uint NumElements + { + get + { + return ((global::CppSharp.Parser.AST.VectorType.__Internal*) __Instance)->numElements; + } - [FieldOffset(136)] - internal global::System.IntPtr originalPtr; + set + { + ((global::CppSharp.Parser.AST.VectorType.__Internal*)__Instance)->numElements = value; + } + } + } - [FieldOffset(144)] - internal global::System.IntPtr comment; + public unsafe partial class BuiltinType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 12)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; - [FieldOffset(152)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; + [FieldOffset(4)] + internal byte isDependent; - [FieldOffset(176)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.PrimitiveType type; - [FieldOffset(200)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11BuiltinTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); - [FieldOffset(224)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11BuiltinTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + } - [FieldOffset(248)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; + internal static new global::CppSharp.Parser.AST.BuiltinType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.BuiltinType(native.ToPointer(), skipVTables); + } - [FieldOffset(272)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; + internal static global::CppSharp.Parser.AST.BuiltinType __CreateInstance(global::CppSharp.Parser.AST.BuiltinType.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.BuiltinType(native, skipVTables); + } - [FieldOffset(296)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; + private static void* __CopyValue(global::CppSharp.Parser.AST.BuiltinType.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); + global::CppSharp.Parser.AST.BuiltinType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(320)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; + private BuiltinType(global::CppSharp.Parser.AST.BuiltinType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(344)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; + protected BuiltinType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(368)] - internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + public BuiltinType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - [FieldOffset(416)] - internal byte isAnonymous; + public BuiltinType(global::CppSharp.Parser.AST.BuiltinType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(420)] - internal global::CppSharp.Parser.AST.Enumeration.EnumModifiers modifiers; + public global::CppSharp.Parser.AST.PrimitiveType Type + { + get + { + return ((global::CppSharp.Parser.AST.BuiltinType.__Internal*) __Instance)->type; + } - [FieldOffset(424)] - internal global::System.IntPtr type; + set + { + ((global::CppSharp.Parser.AST.BuiltinType.__Internal*)__Instance)->type = value; + } + } + } - [FieldOffset(432)] - internal global::System.IntPtr builtinType; + public unsafe partial class VTableComponent : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 16)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.VTableComponentKind kind; - [FieldOffset(440)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration_S_Item___N_std_S_allocator__S0_ Items; + [FieldOffset(4)] + internal uint offset; + + [FieldOffset(8)] + internal global::System.IntPtr declaration; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11EnumerationC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST15VTableComponentC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11EnumerationC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST15VTableComponentC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11EnumerationD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration8getItemsEj")] - internal static extern global::System.IntPtr GetItems(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration8addItemsERPNS2_4ItemE")] - internal static extern void AddItems(global::System.IntPtr instance, global::System.IntPtr s); + public global::System.IntPtr __Instance { get; protected set; } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration10clearItemsEv")] - internal static extern void ClearItems(global::System.IntPtr instance); + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration14FindItemByNameERKSs")] - internal static extern global::System.IntPtr FindItemByName(global::System.IntPtr instance, global::System.IntPtr Name); + protected bool __ownsNativeInstance; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration13getItemsCountEv")] - internal static extern uint GetItemsCount(global::System.IntPtr instance); + internal static global::CppSharp.Parser.AST.VTableComponent __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.VTableComponent(native.ToPointer(), skipVTables); } - [Flags] - public enum EnumModifiers + internal static global::CppSharp.Parser.AST.VTableComponent __CreateInstance(global::CppSharp.Parser.AST.VTableComponent.__Internal native, bool skipVTables = false) { - Anonymous = 1, - Scoped = 2, - Flags = 4 - } - - public unsafe partial class Item : global::CppSharp.Parser.AST.Declaration, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 168)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; - - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; - - [FieldOffset(32)] - internal int lineNumberEnd; - - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - - [FieldOffset(48)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - - [FieldOffset(56)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - - [FieldOffset(64)] - internal byte isIncomplete; - - [FieldOffset(65)] - internal byte isDependent; - - [FieldOffset(66)] - internal byte isImplicit; - - [FieldOffset(67)] - internal byte isInvalid; - - [FieldOffset(72)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(80)] - internal uint definitionOrder; - - [FieldOffset(88)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(112)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - - [FieldOffset(136)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(144)] - internal global::System.IntPtr comment; - - [FieldOffset(152)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C expression; - - [FieldOffset(160)] - internal ulong value; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4ItemC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4ItemC2ERKS3_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4ItemD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); - } - - internal static new global::CppSharp.Parser.AST.Enumeration.Item __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Enumeration.Item(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.Enumeration.Item __CreateInstance(global::CppSharp.Parser.AST.Enumeration.Item.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Enumeration.Item(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.Enumeration.Item.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); - global::CppSharp.Parser.AST.Enumeration.Item.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private Item(global::CppSharp.Parser.AST.Enumeration.Item.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected Item(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public Item() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } - - public Item(global::CppSharp.Parser.AST.Enumeration.Item _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } - - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - - public string Expression - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*) __Instance)->expression)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*)__Instance)->expression), value); - } - } - - public ulong Value - { - get - { - return ((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*) __Instance)->value; - } - - set - { - ((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*)__Instance)->value = value; - } - } - } - - internal static new global::CppSharp.Parser.AST.Enumeration __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Enumeration(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.Enumeration __CreateInstance(global::CppSharp.Parser.AST.Enumeration.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Enumeration(native, skipVTables); + return new global::CppSharp.Parser.AST.VTableComponent(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Enumeration.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VTableComponent.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); - global::CppSharp.Parser.AST.Enumeration.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); + *(global::CppSharp.Parser.AST.VTableComponent.__Internal*) ret = native; return ret.ToPointer(); } - private Enumeration(global::CppSharp.Parser.AST.Enumeration.__Internal native, bool skipVTables = false) + private VTableComponent(global::CppSharp.Parser.AST.VTableComponent.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Enumeration(void* native, bool skipVTables = false) - : base((void*) null) + protected VTableComponent(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public Enumeration() - : this((void*) null) + public VTableComponent() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public Enumeration(global::CppSharp.Parser.AST.Enumeration _0) - : this((void*) null) + public VTableComponent(global::CppSharp.Parser.AST.VTableComponent _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + *((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.VTableComponent.__Internal*) _0.__Instance); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.VTableComponent __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.Enumeration.Item GetItems(uint i) + public global::CppSharp.Parser.AST.VTableComponentKind Kind { - var __ret = __Internal.GetItems((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Enumeration.Item __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Enumeration.Item) global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Enumeration.Item.__CreateInstance(__ret); - return __result0; + get + { + return ((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->kind; + } + + set + { + ((global::CppSharp.Parser.AST.VTableComponent.__Internal*)__Instance)->kind = value; + } } - public void AddItems(global::CppSharp.Parser.AST.Enumeration.Item s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddItems((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearItems() - { - __Internal.ClearItems((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.Enumeration.Item FindItemByName(string Name) - { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, Name); - var __arg0 = __basicString0.__Instance; - var __ret = __Internal.FindItemByName((__Instance + __PointerAdjustment), __arg0); - __basicString0.Dispose(false); - global::CppSharp.Parser.AST.Enumeration.Item __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Enumeration.Item) global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Enumeration.Item.__CreateInstance(__ret); - return __result0; - } - - public global::CppSharp.Parser.AST.Enumeration.EnumModifiers Modifiers - { - get - { - return ((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->modifiers; - } - - set - { - ((global::CppSharp.Parser.AST.Enumeration.__Internal*)__Instance)->modifiers = value; - } - } - - public global::CppSharp.Parser.AST.Type Type + public uint Offset { get { - global::CppSharp.Parser.AST.Type __result0; - if (((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type)) - __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type]; - else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type); - return __result0; + return ((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->offset; } set { - ((global::CppSharp.Parser.AST.Enumeration.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.VTableComponent.__Internal*)__Instance)->offset = value; } } - public global::CppSharp.Parser.AST.BuiltinType BuiltinType + public global::CppSharp.Parser.AST.Declaration Declaration { get { - global::CppSharp.Parser.AST.BuiltinType __result0; - if (((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.BuiltinType.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType)) - __result0 = (global::CppSharp.Parser.AST.BuiltinType) global::CppSharp.Parser.AST.BuiltinType.NativeToManagedMap[((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType]; - else __result0 = global::CppSharp.Parser.AST.BuiltinType.__CreateInstance(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType); + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration); return __result0; } set { - ((global::CppSharp.Parser.AST.Enumeration.__Internal*)__Instance)->builtinType = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } - - public uint ItemsCount - { - get - { - var __ret = __Internal.GetItemsCount((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.VTableComponent.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } - public unsafe partial class Function : global::CppSharp.Parser.AST.DeclarationContext, IDisposable + public unsafe partial class VTableLayout : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 544)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 24)] + public partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; - - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; - - [FieldOffset(32)] - internal int lineNumberEnd; - - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - - [FieldOffset(48)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - - [FieldOffset(56)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - - [FieldOffset(64)] - internal byte isIncomplete; - - [FieldOffset(65)] - internal byte isDependent; - - [FieldOffset(66)] - internal byte isImplicit; - - [FieldOffset(67)] - internal byte isInvalid; - - [FieldOffset(72)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(80)] - internal uint definitionOrder; - - [FieldOffset(88)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(112)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - - [FieldOffset(136)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(144)] - internal global::System.IntPtr comment; - - [FieldOffset(152)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; - - [FieldOffset(176)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; - - [FieldOffset(200)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; - - [FieldOffset(224)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; - - [FieldOffset(248)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; - - [FieldOffset(272)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; - - [FieldOffset(296)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; - - [FieldOffset(320)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; - - [FieldOffset(344)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; - - [FieldOffset(368)] - internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; - - [FieldOffset(416)] - internal byte isAnonymous; - - [FieldOffset(424)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; - - [FieldOffset(440)] - internal byte isReturnIndirect; - - [FieldOffset(441)] - internal byte hasThisReturn; - - [FieldOffset(442)] - internal byte isConstExpr; - - [FieldOffset(443)] - internal byte isVariadic; - - [FieldOffset(444)] - internal byte isInline; - - [FieldOffset(445)] - internal byte isPure; - - [FieldOffset(446)] - internal byte isDeleted; - - [FieldOffset(447)] - internal byte isDefaulted; - - [FieldOffset(448)] - internal global::CppSharp.Parser.AST.FriendKind friendKind; - - [FieldOffset(452)] - internal global::CppSharp.Parser.AST.CXXOperatorKind operatorKind; - - [FieldOffset(456)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C mangled; - - [FieldOffset(464)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C signature; - - [FieldOffset(472)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C body; - - [FieldOffset(480)] - internal global::CppSharp.Parser.AST.CallingConvention callingConvention; - - [FieldOffset(488)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_S_allocator__S0_ Parameters; - - [FieldOffset(512)] - internal global::System.IntPtr specializationInfo; - - [FieldOffset(520)] - internal global::System.IntPtr instantiatedFrom; - - [FieldOffset(528)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_VTableComponent___N_std_S_allocator__S0_ Components; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8FunctionC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayoutC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8FunctionC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayoutC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8FunctionD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayoutD2Ev")] internal static extern void dtor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Function13getParametersEj")] - internal static extern global::System.IntPtr GetParameters(global::System.IntPtr instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayout13getComponentsEj")] + internal static extern global::CppSharp.Parser.AST.VTableComponent.__Internal GetComponents(global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Function13addParametersERPNS1_9ParameterE")] - internal static extern void AddParameters(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayout13addComponentsERNS1_15VTableComponentE")] + internal static extern void AddComponents(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Function15clearParametersEv")] - internal static extern void ClearParameters(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayout15clearComponentsEv")] + internal static extern void ClearComponents(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Function18getParametersCountEv")] - internal static extern uint GetParametersCount(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayout18getComponentsCountEv")] + internal static extern uint GetComponentsCount(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.Function __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Function(native.ToPointer(), skipVTables); - } + public global::System.IntPtr __Instance { get; protected set; } - internal static global::CppSharp.Parser.AST.Function __CreateInstance(global::CppSharp.Parser.AST.Function.__Internal native, bool skipVTables = false) + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.VTableLayout __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Function(native, skipVTables); + return new global::CppSharp.Parser.AST.VTableLayout(native.ToPointer(), skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Function.__Internal native) + internal static global::CppSharp.Parser.AST.VTableLayout __CreateInstance(global::CppSharp.Parser.AST.VTableLayout.__Internal native, bool skipVTables = false) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); - global::CppSharp.Parser.AST.Function.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return new global::CppSharp.Parser.AST.VTableLayout(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.VTableLayout.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); + global::CppSharp.Parser.AST.VTableLayout.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Function(global::CppSharp.Parser.AST.Function.__Internal native, bool skipVTables = false) + private VTableLayout(global::CppSharp.Parser.AST.VTableLayout.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Function(void* native, bool skipVTables = false) - : base((void*) null) + protected VTableLayout(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public Function() - : this((void*) null) + public VTableLayout() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public Function(global::CppSharp.Parser.AST.Function _0) - : this((void*) null) + public VTableLayout(global::CppSharp.Parser.AST.VTableLayout _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -3492,11 +3338,16 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.VTableLayout __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -3505,267 +3356,332 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.Parameter GetParameters(uint i) + public global::CppSharp.Parser.AST.VTableComponent GetComponents(uint i) { - var __ret = __Internal.GetParameters((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Parameter __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Parameter.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Parameter) global::CppSharp.Parser.AST.Parameter.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Parameter.__CreateInstance(__ret); - return __result0; + var __ret = __Internal.GetComponents((__Instance + __PointerAdjustment), i); + return global::CppSharp.Parser.AST.VTableComponent.__CreateInstance(__ret); } - public void AddParameters(global::CppSharp.Parser.AST.Parameter s) + public void AddComponents(global::CppSharp.Parser.AST.VTableComponent s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddParameters((__Instance + __PointerAdjustment), __arg0); + __Internal.AddComponents((__Instance + __PointerAdjustment), __arg0); } - public void ClearParameters() + public void ClearComponents() { - __Internal.ClearParameters((__Instance + __PointerAdjustment)); + __Internal.ClearComponents((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.QualifiedType ReturnType + public uint ComponentsCount { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->returnType)); - } - - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->returnType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + var __ret = __Internal.GetComponentsCount((__Instance + __PointerAdjustment)); + return __ret; } } + } - public bool IsReturnIndirect + public unsafe partial class VFTableInfo : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public partial struct __Internal { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isReturnIndirect != 0; - } + [FieldOffset(0)] + internal ulong VBTableIndex; - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isReturnIndirect = (byte) (value ? 1 : 0); - } - } + [FieldOffset(8)] + internal uint VFPtrOffset; - public bool HasThisReturn - { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->hasThisReturn != 0; - } + [FieldOffset(12)] + internal uint VFPtrFullOffset; - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->hasThisReturn = (byte) (value ? 1 : 0); - } + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.VTableLayout.__Internal layout; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11VFTableInfoC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11VFTableInfoC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11VFTableInfoD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); } - public bool IsConstExpr - { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isConstExpr != 0; - } + public global::System.IntPtr __Instance { get; protected set; } - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isConstExpr = (byte) (value ? 1 : 0); - } + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.VFTableInfo __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.VFTableInfo(native.ToPointer(), skipVTables); } - public bool IsVariadic + internal static global::CppSharp.Parser.AST.VFTableInfo __CreateInstance(global::CppSharp.Parser.AST.VFTableInfo.__Internal native, bool skipVTables = false) { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isVariadic != 0; - } + return new global::CppSharp.Parser.AST.VFTableInfo(native, skipVTables); + } - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isVariadic = (byte) (value ? 1 : 0); - } + private static void* __CopyValue(global::CppSharp.Parser.AST.VFTableInfo.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); + global::CppSharp.Parser.AST.VFTableInfo.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); } - public bool IsInline + private VFTableInfo(global::CppSharp.Parser.AST.VFTableInfo.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isInline != 0; - } + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isInline = (byte) (value ? 1 : 0); - } + protected VFTableInfo(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - public bool IsPure + public VFTableInfo() { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isPure != 0; - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isPure = (byte) (value ? 1 : 0); - } + public VFTableInfo(global::CppSharp.Parser.AST.VFTableInfo _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public bool IsDeleted + public void Dispose() { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isDeleted != 0; - } + Dispose(disposing: true); + } - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isDeleted = (byte) (value ? 1 : 0); - } + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.VFTableInfo __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; } - public bool IsDefaulted + public ulong VBTableIndex { get { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isDefaulted != 0; + return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VBTableIndex; } set { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isDefaulted = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->VBTableIndex = value; } } - public global::CppSharp.Parser.AST.FriendKind FriendKind + public uint VFPtrOffset { get { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->friendKind; + return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VFPtrOffset; } set { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->friendKind = value; + ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->VFPtrOffset = value; } } - public global::CppSharp.Parser.AST.CXXOperatorKind OperatorKind + public uint VFPtrFullOffset { get { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->operatorKind; + return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VFPtrFullOffset; } set { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->operatorKind = value; + ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->VFPtrFullOffset = value; } } - public string Mangled + public global::CppSharp.Parser.AST.VTableLayout Layout { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->mangled)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->layout)); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->mangled), value); + ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->layout = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.VTableLayout.__Internal() : *(global::CppSharp.Parser.AST.VTableLayout.__Internal*) value.__Instance; } } + } - public string Signature - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->signature)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + public unsafe partial class LayoutField : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public partial struct __Internal + { + [FieldOffset(0)] + internal uint offset; - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->signature), value); - } + [FieldOffset(8)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(32)] + internal global::System.IntPtr fieldPtr; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutFieldC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutFieldC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr other); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutFieldD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); } - public string Body + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.LayoutField __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->body)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + return new global::CppSharp.Parser.AST.LayoutField(native.ToPointer(), skipVTables); + } - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->body), value); - } + internal static global::CppSharp.Parser.AST.LayoutField __CreateInstance(global::CppSharp.Parser.AST.LayoutField.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.LayoutField(native, skipVTables); } - public global::CppSharp.Parser.AST.CallingConvention CallingConvention + private static void* __CopyValue(global::CppSharp.Parser.AST.LayoutField.__Internal native) { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->callingConvention; - } + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); + global::CppSharp.Parser.AST.LayoutField.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->callingConvention = value; - } + private LayoutField(global::CppSharp.Parser.AST.LayoutField.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; } - public global::CppSharp.Parser.AST.FunctionTemplateSpecialization SpecializationInfo + protected LayoutField(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public LayoutField() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public LayoutField(global::CppSharp.Parser.AST.LayoutField other) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(other, null)) + throw new global::System.ArgumentNullException("other", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = other.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.LayoutField __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public uint Offset { get { - global::CppSharp.Parser.AST.FunctionTemplateSpecialization __result0; - if (((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo)) - __result0 = (global::CppSharp.Parser.AST.FunctionTemplateSpecialization) global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap[((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo]; - else __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__CreateInstance(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo); - return __result0; + return ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->offset; } set { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->specializationInfo = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->offset = value; } } - public global::CppSharp.Parser.AST.Function InstantiatedFrom + public string Name { get { - global::CppSharp.Parser.AST.Function __result0; - if (((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom)) - __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom]; - else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom); - return __result0; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->name)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->instantiatedFrom = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->name), value); } } @@ -3773,310 +3689,325 @@ namespace CppSharp { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->qualifiedType)); + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->qualifiedType)); } set { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public uint ParametersCount + public global::System.IntPtr FieldPtr { get { - var __ret = __Internal.GetParametersCount((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->fieldPtr; + } + + set + { + ((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->fieldPtr = (global::System.IntPtr) value; } } } - public unsafe partial class Class : global::CppSharp.Parser.AST.DeclarationContext, IDisposable + public unsafe partial class LayoutBase : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 544)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 16)] + public partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; + internal uint offset; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; + internal global::System.IntPtr _class; - [FieldOffset(16)] - internal global::System.IntPtr _namespace; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10LayoutBaseC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10LayoutBaseC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr other); - [FieldOffset(28)] - internal int lineNumberStart; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10LayoutBaseD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); + } - [FieldOffset(32)] - internal int lineNumberEnd; + public global::System.IntPtr __Instance { get; protected set; } - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; - [FieldOffset(48)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + protected bool __ownsNativeInstance; - [FieldOffset(56)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + internal static global::CppSharp.Parser.AST.LayoutBase __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.LayoutBase(native.ToPointer(), skipVTables); + } - [FieldOffset(64)] - internal byte isIncomplete; + internal static global::CppSharp.Parser.AST.LayoutBase __CreateInstance(global::CppSharp.Parser.AST.LayoutBase.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.LayoutBase(native, skipVTables); + } - [FieldOffset(65)] - internal byte isDependent; + private static void* __CopyValue(global::CppSharp.Parser.AST.LayoutBase.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); + global::CppSharp.Parser.AST.LayoutBase.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(66)] - internal byte isImplicit; + private LayoutBase(global::CppSharp.Parser.AST.LayoutBase.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(67)] - internal byte isInvalid; + protected LayoutBase(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(72)] - internal global::System.IntPtr completeDeclaration; + public LayoutBase() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - [FieldOffset(80)] - internal uint definitionOrder; - - [FieldOffset(88)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(112)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - - [FieldOffset(136)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(144)] - internal global::System.IntPtr comment; - - [FieldOffset(152)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; - - [FieldOffset(176)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; - - [FieldOffset(200)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; - - [FieldOffset(224)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; - - [FieldOffset(248)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; - - [FieldOffset(272)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; - - [FieldOffset(296)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; - - [FieldOffset(320)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; - - [FieldOffset(344)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; - - [FieldOffset(368)] - internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + public LayoutBase(global::CppSharp.Parser.AST.LayoutBase other) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(other, null)) + throw new global::System.ArgumentNullException("other", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = other.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(416)] - internal byte isAnonymous; + public void Dispose() + { + Dispose(disposing: true); + } - [FieldOffset(424)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BaseClassSpecifier___N_std_S_allocator__S0_ Bases; + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.LayoutBase __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } - [FieldOffset(448)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Field___N_std_S_allocator__S0_ Fields; + public uint Offset + { + get + { + return ((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->offset; + } - [FieldOffset(472)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_S_allocator__S0_ Methods; + set + { + ((global::CppSharp.Parser.AST.LayoutBase.__Internal*)__Instance)->offset = value; + } + } - [FieldOffset(496)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_AccessSpecifierDecl___N_std_S_allocator__S0_ Specifiers; + public global::CppSharp.Parser.AST.Class Class + { + get + { + global::CppSharp.Parser.AST.Class __result0; + if (((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class)) + __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class]; + else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class); + return __result0; + } - [FieldOffset(520)] - internal byte isPOD; + set + { + ((global::CppSharp.Parser.AST.LayoutBase.__Internal*)__Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } - [FieldOffset(521)] - internal byte isAbstract; + public unsafe partial class ClassLayout : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 136)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.CppAbi ABI; - [FieldOffset(522)] - internal byte isUnion; + [FieldOffset(8)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_VFTableInfo___N_std_S_allocator__S0_ VFTables; - [FieldOffset(523)] - internal byte isDynamic; + [FieldOffset(32)] + internal global::CppSharp.Parser.AST.VTableLayout.__Internal layout; - [FieldOffset(524)] - internal byte isPolymorphic; + [FieldOffset(56)] + internal byte hasOwnVFPtr; - [FieldOffset(525)] - internal byte hasNonTrivialDefaultConstructor; + [FieldOffset(64)] + internal long VBPtrOffset; - [FieldOffset(526)] - internal byte hasNonTrivialCopyConstructor; + [FieldOffset(72)] + internal int alignment; - [FieldOffset(527)] - internal byte hasNonTrivialDestructor; + [FieldOffset(76)] + internal int size; - [FieldOffset(528)] - internal byte isExternCContext; + [FieldOffset(80)] + internal int dataSize; - [FieldOffset(529)] - internal byte isInjected; + [FieldOffset(88)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_LayoutField___N_std_S_allocator__S0_ Fields; - [FieldOffset(536)] - internal global::System.IntPtr layout; + [FieldOffset(112)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_LayoutBase___N_std_S_allocator__S0_ Bases; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5ClassC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayoutC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5ClassC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayoutC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5ClassD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayoutD2Ev")] internal static extern void dtor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class8getBasesEj")] - internal static extern global::System.IntPtr GetBases(global::System.IntPtr instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout11getVFTablesEj")] + internal static extern void GetVFTables(global::System.IntPtr @return, global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class8addBasesERPNS1_18BaseClassSpecifierE")] - internal static extern void AddBases(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout11addVFTablesERNS1_11VFTableInfoE")] + internal static extern void AddVFTables(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class10clearBasesEv")] - internal static extern void ClearBases(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout13clearVFTablesEv")] + internal static extern void ClearVFTables(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class9getFieldsEj")] - internal static extern global::System.IntPtr GetFields(global::System.IntPtr instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout9getFieldsEj")] + internal static extern void GetFields(global::System.IntPtr @return, global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class9addFieldsERPNS1_5FieldE")] + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout9addFieldsERNS1_11LayoutFieldE")] internal static extern void AddFields(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class11clearFieldsEv")] + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout11clearFieldsEv")] internal static extern void ClearFields(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class10getMethodsEj")] - internal static extern global::System.IntPtr GetMethods(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class10addMethodsERPNS1_6MethodE")] - internal static extern void AddMethods(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout8getBasesEj")] + internal static extern void GetBases(global::System.IntPtr @return, global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class12clearMethodsEv")] - internal static extern void ClearMethods(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout8addBasesERNS1_10LayoutBaseE")] + internal static extern void AddBases(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class13getSpecifiersEj")] - internal static extern global::System.IntPtr GetSpecifiers(global::System.IntPtr instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout10clearBasesEv")] + internal static extern void ClearBases(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class13addSpecifiersERPNS1_19AccessSpecifierDeclE")] - internal static extern void AddSpecifiers(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout16getVFTablesCountEv")] + internal static extern uint GetVFTablesCount(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class15clearSpecifiersEv")] - internal static extern void ClearSpecifiers(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout14getFieldsCountEv")] + internal static extern uint GetFieldsCount(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class13getBasesCountEv")] + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout13getBasesCountEv")] internal static extern uint GetBasesCount(global::System.IntPtr instance); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class14getFieldsCountEv")] - internal static extern uint GetFieldsCount(global::System.IntPtr instance); + public global::System.IntPtr __Instance { get; protected set; } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class15getMethodsCountEv")] - internal static extern uint GetMethodsCount(global::System.IntPtr instance); + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class18getSpecifiersCountEv")] - internal static extern uint GetSpecifiersCount(global::System.IntPtr instance); - } + protected bool __ownsNativeInstance; - internal static new global::CppSharp.Parser.AST.Class __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.ClassLayout __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Class(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.ClassLayout(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Class __CreateInstance(global::CppSharp.Parser.AST.Class.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.ClassLayout __CreateInstance(global::CppSharp.Parser.AST.ClassLayout.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Class(native, skipVTables); + return new global::CppSharp.Parser.AST.ClassLayout(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Class.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.ClassLayout.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); - global::CppSharp.Parser.AST.Class.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); + global::CppSharp.Parser.AST.ClassLayout.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Class(global::CppSharp.Parser.AST.Class.__Internal native, bool skipVTables = false) + private ClassLayout(global::CppSharp.Parser.AST.ClassLayout.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Class(void* native, bool skipVTables = false) - : base((void*) null) + protected ClassLayout(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public Class() - : this((void*) null) + public ClassLayout() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public Class(global::CppSharp.Parser.AST.Class _0) - : this((void*) null) + public ClassLayout(global::CppSharp.Parser.AST.ClassLayout _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -4085,11 +4016,16 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.ClassLayout __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -4098,42 +4034,34 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.BaseClassSpecifier GetBases(uint i) + public global::CppSharp.Parser.AST.VFTableInfo GetVFTables(uint i) { - var __ret = __Internal.GetBases((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.BaseClassSpecifier __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.BaseClassSpecifier.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.BaseClassSpecifier) global::CppSharp.Parser.AST.BaseClassSpecifier.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.BaseClassSpecifier.__CreateInstance(__ret); - return __result0; + var __ret = new global::CppSharp.Parser.AST.VFTableInfo.__Internal(); + __Internal.GetVFTables(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); + return global::CppSharp.Parser.AST.VFTableInfo.__CreateInstance(__ret); } - public void AddBases(global::CppSharp.Parser.AST.BaseClassSpecifier s) + public void AddVFTables(global::CppSharp.Parser.AST.VFTableInfo s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddBases((__Instance + __PointerAdjustment), __arg0); + __Internal.AddVFTables((__Instance + __PointerAdjustment), __arg0); } - public void ClearBases() + public void ClearVFTables() { - __Internal.ClearBases((__Instance + __PointerAdjustment)); + __Internal.ClearVFTables((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.Field GetFields(uint i) + public global::CppSharp.Parser.AST.LayoutField GetFields(uint i) { - var __ret = __Internal.GetFields((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Field __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Field.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Field) global::CppSharp.Parser.AST.Field.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Field.__CreateInstance(__ret); - return __result0; + var __ret = new global::CppSharp.Parser.AST.LayoutField.__Internal(); + __Internal.GetFields(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); + return global::CppSharp.Parser.AST.LayoutField.__CreateInstance(__ret); } - public void AddFields(global::CppSharp.Parser.AST.Field s) + public void AddFields(global::CppSharp.Parser.AST.LayoutField s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); @@ -4146,207 +4074,122 @@ namespace CppSharp __Internal.ClearFields((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.Method GetMethods(uint i) - { - var __ret = __Internal.GetMethods((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Method __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Method.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Method) global::CppSharp.Parser.AST.Method.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Method.__CreateInstance(__ret); - return __result0; - } - - public void AddMethods(global::CppSharp.Parser.AST.Method s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddMethods((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearMethods() - { - __Internal.ClearMethods((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.AccessSpecifierDecl GetSpecifiers(uint i) + public global::CppSharp.Parser.AST.LayoutBase GetBases(uint i) { - var __ret = __Internal.GetSpecifiers((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.AccessSpecifierDecl __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.AccessSpecifierDecl.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.AccessSpecifierDecl) global::CppSharp.Parser.AST.AccessSpecifierDecl.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.AccessSpecifierDecl.__CreateInstance(__ret); - return __result0; + var __ret = new global::CppSharp.Parser.AST.LayoutBase.__Internal(); + __Internal.GetBases(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); + return global::CppSharp.Parser.AST.LayoutBase.__CreateInstance(__ret); } - public void AddSpecifiers(global::CppSharp.Parser.AST.AccessSpecifierDecl s) + public void AddBases(global::CppSharp.Parser.AST.LayoutBase s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddSpecifiers((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearSpecifiers() - { - __Internal.ClearSpecifiers((__Instance + __PointerAdjustment)); - } - - public bool IsPOD - { - get - { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isPOD != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isPOD = (byte) (value ? 1 : 0); - } - } - - public bool IsAbstract - { - get - { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isAbstract != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isAbstract = (byte) (value ? 1 : 0); - } - } - - public bool IsUnion - { - get - { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isUnion != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isUnion = (byte) (value ? 1 : 0); - } + __Internal.AddBases((__Instance + __PointerAdjustment), __arg0); } - public bool IsDynamic + public void ClearBases() { - get - { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isDynamic != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isDynamic = (byte) (value ? 1 : 0); - } + __Internal.ClearBases((__Instance + __PointerAdjustment)); } - public bool IsPolymorphic + public global::CppSharp.Parser.AST.CppAbi ABI { get { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isPolymorphic != 0; + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->ABI; } set { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isPolymorphic = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->ABI = value; } } - public bool HasNonTrivialDefaultConstructor + public global::CppSharp.Parser.AST.VTableLayout Layout { get { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->hasNonTrivialDefaultConstructor != 0; + return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->layout)); } set { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->hasNonTrivialDefaultConstructor = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->layout = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.VTableLayout.__Internal() : *(global::CppSharp.Parser.AST.VTableLayout.__Internal*) value.__Instance; } } - public bool HasNonTrivialCopyConstructor + public bool HasOwnVFPtr { get { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->hasNonTrivialCopyConstructor != 0; + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->hasOwnVFPtr != 0; } set { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->hasNonTrivialCopyConstructor = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->hasOwnVFPtr = (byte) (value ? 1 : 0); } } - public bool HasNonTrivialDestructor + public long VBPtrOffset { get { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->hasNonTrivialDestructor != 0; + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->VBPtrOffset; } set { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->hasNonTrivialDestructor = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->VBPtrOffset = value; } } - public bool IsExternCContext + public int Alignment { get { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isExternCContext != 0; + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->alignment; } set { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isExternCContext = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->alignment = value; } } - public bool IsInjected + public int Size { get { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isInjected != 0; + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->size; } set { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isInjected = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->size = value; } } - public global::CppSharp.Parser.AST.ClassLayout Layout + public int DataSize { get { - global::CppSharp.Parser.AST.ClassLayout __result0; - if (((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.ClassLayout.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout)) - __result0 = (global::CppSharp.Parser.AST.ClassLayout) global::CppSharp.Parser.AST.ClassLayout.NativeToManagedMap[((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout]; - else __result0 = global::CppSharp.Parser.AST.ClassLayout.__CreateInstance(((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout); - return __result0; + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->dataSize; } set { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->layout = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->dataSize = value; } } - public uint BasesCount + public uint VFTablesCount { get { - var __ret = __Internal.GetBasesCount((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetVFTablesCount((__Instance + __PointerAdjustment)); return __ret; } } @@ -4360,29 +4203,20 @@ namespace CppSharp } } - public uint MethodsCount - { - get - { - var __ret = __Internal.GetMethodsCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - - public uint SpecifiersCount + public uint BasesCount { get { - var __ret = __Internal.GetSpecifiersCount((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetBasesCount((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class Template : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class Declaration : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 184)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 152)] + public partial struct __Internal { [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; @@ -4444,108 +4278,112 @@ namespace CppSharp [FieldOffset(144)] internal global::System.IntPtr comment; - [FieldOffset(152)] - internal global::System.IntPtr TemplatedDecl; - - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; - [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateC2ENS1_15DeclarationKindE")] + EntryPoint="_ZN8CppSharp9CppParser3AST11DeclarationC2ENS1_15DeclarationKindE")] internal static extern void ctor(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11DeclarationC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST11DeclarationD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration23getPreprocessedEntitiesEj")] + internal static extern global::System.IntPtr GetPreprocessedEntities(global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Template13getParametersEj")] - internal static extern global::System.IntPtr GetParameters(global::System.IntPtr instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration23addPreprocessedEntitiesERPNS1_18PreprocessedEntityE")] + internal static extern void AddPreprocessedEntities(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Template13addParametersERPNS1_11DeclarationE")] - internal static extern void AddParameters(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration25clearPreprocessedEntitiesEv")] + internal static extern void ClearPreprocessedEntities(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Template15clearParametersEv")] - internal static extern void ClearParameters(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration17getRedeclarationsEj")] + internal static extern global::System.IntPtr GetRedeclarations(global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Template18getParametersCountEv")] - internal static extern uint GetParametersCount(global::System.IntPtr instance); - } + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration17addRedeclarationsERPS2_")] + internal static extern void AddRedeclarations(global::System.IntPtr instance, global::System.IntPtr s); - internal static new global::CppSharp.Parser.AST.Template __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Template(native.ToPointer(), skipVTables); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration19clearRedeclarationsEv")] + internal static extern void ClearRedeclarations(global::System.IntPtr instance); - internal static global::CppSharp.Parser.AST.Template __CreateInstance(global::CppSharp.Parser.AST.Template.__Internal native, bool skipVTables = false) + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration28getPreprocessedEntitiesCountEv")] + internal static extern uint GetPreprocessedEntitiesCount(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration22getRedeclarationsCountEv")] + internal static extern uint GetRedeclarationsCount(global::System.IntPtr instance); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.Declaration __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Template(native, skipVTables); + return new global::CppSharp.Parser.AST.Declaration(native.ToPointer(), skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Template.__Internal native) + internal static global::CppSharp.Parser.AST.Declaration __CreateInstance(global::CppSharp.Parser.AST.Declaration.__Internal native, bool skipVTables = false) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); - global::CppSharp.Parser.AST.Template.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return new global::CppSharp.Parser.AST.Declaration(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.Declaration.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); + global::CppSharp.Parser.AST.Declaration.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Template(global::CppSharp.Parser.AST.Template.__Internal native, bool skipVTables = false) + private Declaration(global::CppSharp.Parser.AST.Declaration.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Template(void* native, bool skipVTables = false) - : base((void*) null) + protected Declaration(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public Template(global::CppSharp.Parser.AST.DeclarationKind kind) - : this((void*) null) + public Declaration(global::CppSharp.Parser.AST.DeclarationKind kind) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment), kind); } - public Template() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } - - public Template(global::CppSharp.Parser.AST.Template _0) - : this((void*) null) + public Declaration(global::CppSharp.Parser.AST.Declaration _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -4554,7 +4392,12 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; @@ -4567,9 +4410,33 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.Declaration GetParameters(uint i) + public global::CppSharp.Parser.AST.PreprocessedEntity GetPreprocessedEntities(uint i) { - var __ret = __Internal.GetParameters((__Instance + __PointerAdjustment), i); + var __ret = __Internal.GetPreprocessedEntities((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.PreprocessedEntity __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.PreprocessedEntity.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.PreprocessedEntity) global::CppSharp.Parser.AST.PreprocessedEntity.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.PreprocessedEntity.__CreateInstance(__ret); + return __result0; + } + + public void AddPreprocessedEntities(global::CppSharp.Parser.AST.PreprocessedEntity s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddPreprocessedEntities((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearPreprocessedEntities() + { + __Internal.ClearPreprocessedEntities((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.Declaration GetRedeclarations(uint i) + { + var __ret = __Internal.GetRedeclarations((__Instance + __PointerAdjustment), i); global::CppSharp.Parser.AST.Declaration __result0; if (__ret == IntPtr.Zero) __result0 = null; else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(__ret)) @@ -4578,207 +4445,304 @@ namespace CppSharp return __result0; } - public void AddParameters(global::CppSharp.Parser.AST.Declaration s) + public void AddRedeclarations(global::CppSharp.Parser.AST.Declaration s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddParameters((__Instance + __PointerAdjustment), __arg0); + __Internal.AddRedeclarations((__Instance + __PointerAdjustment), __arg0); } - public void ClearParameters() + public void ClearRedeclarations() { - __Internal.ClearParameters((__Instance + __PointerAdjustment)); + __Internal.ClearRedeclarations((__Instance + __PointerAdjustment)); } - public static implicit operator global::CppSharp.Parser.AST.Template(global::CppSharp.Parser.AST.DeclarationKind kind) + public static implicit operator global::CppSharp.Parser.AST.Declaration(global::CppSharp.Parser.AST.DeclarationKind kind) { - return new global::CppSharp.Parser.AST.Template(kind); + return new global::CppSharp.Parser.AST.Declaration(kind); } - public global::CppSharp.Parser.AST.Declaration TemplatedDecl + public global::CppSharp.Parser.AST.DeclarationKind Kind { get { - global::CppSharp.Parser.AST.Declaration __result0; - if (((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl); - return __result0; + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->kind; } set { - ((global::CppSharp.Parser.AST.Template.__Internal*)__Instance)->TemplatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->kind = value; } } - public uint ParametersCount + public int MaxFieldAlignment { get { - var __ret = __Internal.GetParametersCount((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->maxFieldAlignment; + } + + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->maxFieldAlignment = value; } } - } - public unsafe partial class TypedefDecl : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 168)] - public new partial struct __Internal + public global::CppSharp.Parser.AST.AccessSpecifier Access { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->access; + } - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->access = value; + } + } - [FieldOffset(28)] - internal int lineNumberStart; + public global::CppSharp.Parser.AST.DeclarationContext Namespace + { + get + { + global::CppSharp.Parser.AST.DeclarationContext __result0; + if (((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.DeclarationContext.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace)) + __result0 = (global::CppSharp.Parser.AST.DeclarationContext) global::CppSharp.Parser.AST.DeclarationContext.NativeToManagedMap[((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace]; + else __result0 = global::CppSharp.Parser.AST.DeclarationContext.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace); + return __result0; + } - [FieldOffset(32)] - internal int lineNumberEnd; + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->_namespace = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + public global::CppSharp.Parser.SourceLocation Location + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->location); + } - [FieldOffset(48)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->location = value.__Instance; + } + } - [FieldOffset(56)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + public int LineNumberStart + { + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->lineNumberStart; + } - [FieldOffset(64)] - internal byte isIncomplete; + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->lineNumberStart = value; + } + } - [FieldOffset(65)] - internal byte isDependent; + public int LineNumberEnd + { + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->lineNumberEnd; + } - [FieldOffset(66)] - internal byte isImplicit; + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->lineNumberEnd = value; + } + } - [FieldOffset(67)] - internal byte isInvalid; + public string Name + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->name)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } - [FieldOffset(72)] - internal global::System.IntPtr completeDeclaration; + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->name), value); + } + } - [FieldOffset(80)] - internal uint definitionOrder; + public string USR + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->USR)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } - [FieldOffset(88)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->USR), value); + } + } - [FieldOffset(112)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - - [FieldOffset(136)] - internal global::System.IntPtr originalPtr; + public string DebugText + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->debugText)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } - [FieldOffset(144)] - internal global::System.IntPtr comment; + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->debugText), value); + } + } - [FieldOffset(152)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + public bool IsIncomplete + { + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isIncomplete != 0; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefDeclC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isIncomplete = (byte) (value ? 1 : 0); + } + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefDeclC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + public bool IsDependent + { + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isDependent != 0; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefDeclD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isDependent = (byte) (value ? 1 : 0); + } } - internal static new global::CppSharp.Parser.AST.TypedefDecl __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public bool IsImplicit { - return new global::CppSharp.Parser.AST.TypedefDecl(native.ToPointer(), skipVTables); + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isImplicit != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isImplicit = (byte) (value ? 1 : 0); + } } - internal static global::CppSharp.Parser.AST.TypedefDecl __CreateInstance(global::CppSharp.Parser.AST.TypedefDecl.__Internal native, bool skipVTables = false) + public bool IsInvalid { - return new global::CppSharp.Parser.AST.TypedefDecl(native, skipVTables); + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isInvalid != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isInvalid = (byte) (value ? 1 : 0); + } } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefDecl.__Internal native) + public global::CppSharp.Parser.AST.Declaration CompleteDeclaration { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); - global::CppSharp.Parser.AST.TypedefDecl.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); + get + { + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->completeDeclaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } } - private TypedefDecl(global::CppSharp.Parser.AST.TypedefDecl.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) + public uint DefinitionOrder { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->definitionOrder; + } + + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->definitionOrder = value; + } } - protected TypedefDecl(void* native, bool skipVTables = false) - : base((void*) null) + public global::System.IntPtr OriginalPtr { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->originalPtr; + } + + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->originalPtr = (global::System.IntPtr) value; + } } - public TypedefDecl() - : this((void*) null) + public global::CppSharp.Parser.AST.RawComment Comment { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + get + { + global::CppSharp.Parser.AST.RawComment __result0; + if (((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.RawComment.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment)) + __result0 = (global::CppSharp.Parser.AST.RawComment) global::CppSharp.Parser.AST.RawComment.NativeToManagedMap[((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment]; + else __result0 = global::CppSharp.Parser.AST.RawComment.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->comment = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } } - public TypedefDecl(global::CppSharp.Parser.AST.TypedefDecl _0) - : this((void*) null) + public uint PreprocessedEntitiesCount { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + get + { + var __ret = __Internal.GetPreprocessedEntitiesCount((__Instance + __PointerAdjustment)); + return __ret; + } } - public override void Dispose(bool disposing) + public uint RedeclarationsCount { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; + get + { + var __ret = __Internal.GetRedeclarationsCount((__Instance + __PointerAdjustment)); + return __ret; + } } } - public unsafe partial class TypedefNameDecl : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class DeclarationContext : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 168)] + [StructLayout(LayoutKind.Explicit, Size = 424)] public new partial struct __Internal { [FieldOffset(0)] @@ -4842,222 +4806,259 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(152)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; + + [FieldOffset(176)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; + + [FieldOffset(200)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; + + [FieldOffset(224)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; + + [FieldOffset(248)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; + + [FieldOffset(272)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; + + [FieldOffset(296)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; + + [FieldOffset(320)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; + + [FieldOffset(344)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; + + [FieldOffset(368)] + internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + + [FieldOffset(416)] + internal byte isAnonymous; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TypedefNameDeclC2ENS1_15DeclarationKindE")] + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContextC2ENS1_15DeclarationKindE")] internal static extern void ctor(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TypedefNameDeclC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContextC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TypedefNameDeclD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContextD2Ev")] internal static extern void dtor(global::System.IntPtr instance); - } - - internal static new global::CppSharp.Parser.AST.TypedefNameDecl __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.TypedefNameDecl(native.ToPointer(), skipVTables); - } - internal static global::CppSharp.Parser.AST.TypedefNameDecl __CreateInstance(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.TypedefNameDecl(native, skipVTables); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext13getNamespacesEj")] + internal static extern global::System.IntPtr GetNamespaces(global::System.IntPtr instance, uint i); - private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); - global::CppSharp.Parser.AST.TypedefNameDecl.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext13addNamespacesERPNS1_9NamespaceE")] + internal static extern void AddNamespaces(global::System.IntPtr instance, global::System.IntPtr s); - private TypedefNameDecl(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext15clearNamespacesEv")] + internal static extern void ClearNamespaces(global::System.IntPtr instance); - protected TypedefNameDecl(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext8getEnumsEj")] + internal static extern global::System.IntPtr GetEnums(global::System.IntPtr instance, uint i); - public TypedefNameDecl(global::CppSharp.Parser.AST.DeclarationKind kind) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), kind); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext8addEnumsERPNS1_11EnumerationE")] + internal static extern void AddEnums(global::System.IntPtr instance, global::System.IntPtr s); - public TypedefNameDecl(global::CppSharp.Parser.AST.TypedefNameDecl _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10clearEnumsEv")] + internal static extern void ClearEnums(global::System.IntPtr instance); - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12getFunctionsEj")] + internal static extern global::System.IntPtr GetFunctions(global::System.IntPtr instance, uint i); - public static implicit operator global::CppSharp.Parser.AST.TypedefNameDecl(global::CppSharp.Parser.AST.DeclarationKind kind) - { - return new global::CppSharp.Parser.AST.TypedefNameDecl(kind); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12addFunctionsERPNS1_8FunctionE")] + internal static extern void AddFunctions(global::System.IntPtr instance, global::System.IntPtr s); - public global::CppSharp.Parser.AST.QualifiedType QualifiedType - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TypedefNameDecl.__Internal*) __Instance)->qualifiedType)); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14clearFunctionsEv")] + internal static extern void ClearFunctions(global::System.IntPtr instance); - set - { - ((global::CppSharp.Parser.AST.TypedefNameDecl.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } - } - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10getClassesEj")] + internal static extern global::System.IntPtr GetClasses(global::System.IntPtr instance, uint i); - public unsafe partial class TypeAlias : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 176)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10addClassesERPNS1_5ClassE")] + internal static extern void AddClasses(global::System.IntPtr instance, global::System.IntPtr s); - [FieldOffset(4)] - internal int maxFieldAlignment; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12clearClassesEv")] + internal static extern void ClearClasses(global::System.IntPtr instance); - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12getTemplatesEj")] + internal static extern global::System.IntPtr GetTemplates(global::System.IntPtr instance, uint i); - [FieldOffset(16)] - internal global::System.IntPtr _namespace; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12addTemplatesERPNS1_8TemplateE")] + internal static extern void AddTemplates(global::System.IntPtr instance, global::System.IntPtr s); - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14clearTemplatesEv")] + internal static extern void ClearTemplates(global::System.IntPtr instance); - [FieldOffset(28)] - internal int lineNumberStart; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext11getTypedefsEj")] + internal static extern global::System.IntPtr GetTypedefs(global::System.IntPtr instance, uint i); - [FieldOffset(32)] - internal int lineNumberEnd; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext11addTypedefsERPNS1_11TypedefDeclE")] + internal static extern void AddTypedefs(global::System.IntPtr instance, global::System.IntPtr s); - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext13clearTypedefsEv")] + internal static extern void ClearTypedefs(global::System.IntPtr instance); - [FieldOffset(48)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14getTypeAliasesEj")] + internal static extern global::System.IntPtr GetTypeAliases(global::System.IntPtr instance, uint i); - [FieldOffset(56)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14addTypeAliasesERPNS1_9TypeAliasE")] + internal static extern void AddTypeAliases(global::System.IntPtr instance, global::System.IntPtr s); - [FieldOffset(64)] - internal byte isIncomplete; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext16clearTypeAliasesEv")] + internal static extern void ClearTypeAliases(global::System.IntPtr instance); - [FieldOffset(65)] - internal byte isDependent; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12getVariablesEj")] + internal static extern global::System.IntPtr GetVariables(global::System.IntPtr instance, uint i); - [FieldOffset(66)] - internal byte isImplicit; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12addVariablesERPNS1_8VariableE")] + internal static extern void AddVariables(global::System.IntPtr instance, global::System.IntPtr s); - [FieldOffset(67)] - internal byte isInvalid; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14clearVariablesEv")] + internal static extern void ClearVariables(global::System.IntPtr instance); - [FieldOffset(72)] - internal global::System.IntPtr completeDeclaration; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10getFriendsEj")] + internal static extern global::System.IntPtr GetFriends(global::System.IntPtr instance, uint i); - [FieldOffset(80)] - internal uint definitionOrder; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10addFriendsERPNS1_6FriendE")] + internal static extern void AddFriends(global::System.IntPtr instance, global::System.IntPtr s); - [FieldOffset(88)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12clearFriendsEv")] + internal static extern void ClearFriends(global::System.IntPtr instance); - [FieldOffset(112)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext18getNamespacesCountEv")] + internal static extern uint GetNamespacesCount(global::System.IntPtr instance); - [FieldOffset(136)] - internal global::System.IntPtr originalPtr; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext13getEnumsCountEv")] + internal static extern uint GetEnumsCount(global::System.IntPtr instance); - [FieldOffset(144)] - internal global::System.IntPtr comment; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext17getFunctionsCountEv")] + internal static extern uint GetFunctionsCount(global::System.IntPtr instance); - [FieldOffset(152)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext15getClassesCountEv")] + internal static extern uint GetClassesCount(global::System.IntPtr instance); - [FieldOffset(168)] - internal global::System.IntPtr describedAliasTemplate; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext17getTemplatesCountEv")] + internal static extern uint GetTemplatesCount(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9TypeAliasC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext16getTypedefsCountEv")] + internal static extern uint GetTypedefsCount(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9TypeAliasC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext19getTypeAliasesCountEv")] + internal static extern uint GetTypeAliasesCount(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9TypeAliasD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext17getVariablesCountEv")] + internal static extern uint GetVariablesCount(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext15getFriendsCountEv")] + internal static extern uint GetFriendsCount(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.TypeAlias __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.DeclarationContext __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypeAlias(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.DeclarationContext(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TypeAlias __CreateInstance(global::CppSharp.Parser.AST.TypeAlias.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.DeclarationContext __CreateInstance(global::CppSharp.Parser.AST.DeclarationContext.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypeAlias(native, skipVTables); + return new global::CppSharp.Parser.AST.DeclarationContext(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypeAlias.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.DeclarationContext.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); - global::CppSharp.Parser.AST.TypeAlias.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal)); + global::CppSharp.Parser.AST.DeclarationContext.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TypeAlias(global::CppSharp.Parser.AST.TypeAlias.__Internal native, bool skipVTables = false) + private DeclarationContext(global::CppSharp.Parser.AST.DeclarationContext.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TypeAlias(void* native, bool skipVTables = false) + protected DeclarationContext(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -5066,19 +5067,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TypeAlias() + public DeclarationContext(global::CppSharp.Parser.AST.DeclarationKind kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + __Internal.ctor((__Instance + __PointerAdjustment), kind); } - public TypeAlias(global::CppSharp.Parser.AST.TypeAlias _0) + public DeclarationContext(global::CppSharp.Parser.AST.DeclarationContext _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -5100,184 +5101,326 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.TypeAliasTemplate DescribedAliasTemplate + public global::CppSharp.Parser.AST.Namespace GetNamespaces(uint i) { - get - { - global::CppSharp.Parser.AST.TypeAliasTemplate __result0; - if (((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TypeAliasTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate)) - __result0 = (global::CppSharp.Parser.AST.TypeAliasTemplate) global::CppSharp.Parser.AST.TypeAliasTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate]; - else __result0 = global::CppSharp.Parser.AST.TypeAliasTemplate.__CreateInstance(((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.TypeAlias.__Internal*)__Instance)->describedAliasTemplate = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + var __ret = __Internal.GetNamespaces((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Namespace __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Namespace.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Namespace) global::CppSharp.Parser.AST.Namespace.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Namespace.__CreateInstance(__ret); + return __result0; } - } - public unsafe partial class TypeAliasTemplate : global::CppSharp.Parser.AST.Template, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 184)] - public new partial struct __Internal + public void AddNamespaces(global::CppSharp.Parser.AST.Namespace s) { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; - - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; - - [FieldOffset(32)] - internal int lineNumberEnd; - - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - - [FieldOffset(48)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - - [FieldOffset(56)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - - [FieldOffset(64)] - internal byte isIncomplete; - - [FieldOffset(65)] - internal byte isDependent; - - [FieldOffset(66)] - internal byte isImplicit; - - [FieldOffset(67)] - internal byte isInvalid; - - [FieldOffset(72)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(80)] - internal uint definitionOrder; - - [FieldOffset(88)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddNamespaces((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(112)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + public void ClearNamespaces() + { + __Internal.ClearNamespaces((__Instance + __PointerAdjustment)); + } - [FieldOffset(136)] - internal global::System.IntPtr originalPtr; + public global::CppSharp.Parser.AST.Enumeration GetEnums(uint i) + { + var __ret = __Internal.GetEnums((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Enumeration __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Enumeration.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Enumeration) global::CppSharp.Parser.AST.Enumeration.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Enumeration.__CreateInstance(__ret); + return __result0; + } - [FieldOffset(144)] - internal global::System.IntPtr comment; + public void AddEnums(global::CppSharp.Parser.AST.Enumeration s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddEnums((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(152)] - internal global::System.IntPtr TemplatedDecl; + public void ClearEnums() + { + __Internal.ClearEnums((__Instance + __PointerAdjustment)); + } - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; + public global::CppSharp.Parser.AST.Function GetFunctions(uint i) + { + var __ret = __Internal.GetFunctions((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Function __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(__ret); + return __result0; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17TypeAliasTemplateC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); + public void AddFunctions(global::CppSharp.Parser.AST.Function s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddFunctions((__Instance + __PointerAdjustment), __arg0); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17TypeAliasTemplateC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + public void ClearFunctions() + { + __Internal.ClearFunctions((__Instance + __PointerAdjustment)); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17TypeAliasTemplateD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); + public global::CppSharp.Parser.AST.Class GetClasses(uint i) + { + var __ret = __Internal.GetClasses((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Class __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(__ret); + return __result0; } - internal static new global::CppSharp.Parser.AST.TypeAliasTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public void AddClasses(global::CppSharp.Parser.AST.Class s) { - return new global::CppSharp.Parser.AST.TypeAliasTemplate(native.ToPointer(), skipVTables); + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddClasses((__Instance + __PointerAdjustment), __arg0); } - internal static global::CppSharp.Parser.AST.TypeAliasTemplate __CreateInstance(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native, bool skipVTables = false) + public void ClearClasses() { - return new global::CppSharp.Parser.AST.TypeAliasTemplate(native, skipVTables); + __Internal.ClearClasses((__Instance + __PointerAdjustment)); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native) + public global::CppSharp.Parser.AST.Template GetTemplates(uint i) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); - global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); + var __ret = __Internal.GetTemplates((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Template __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Template.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Template) global::CppSharp.Parser.AST.Template.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Template.__CreateInstance(__ret); + return __result0; } - private TypeAliasTemplate(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) + public void AddTemplates(global::CppSharp.Parser.AST.Template s) { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddTemplates((__Instance + __PointerAdjustment), __arg0); } - protected TypeAliasTemplate(void* native, bool skipVTables = false) - : base((void*) null) + public void ClearTemplates() { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); + __Internal.ClearTemplates((__Instance + __PointerAdjustment)); } - public TypeAliasTemplate() - : this((void*) null) + public global::CppSharp.Parser.AST.TypedefDecl GetTypedefs(uint i) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetTypedefs((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.TypedefDecl __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TypedefDecl.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.TypedefDecl) global::CppSharp.Parser.AST.TypedefDecl.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.TypedefDecl.__CreateInstance(__ret); + return __result0; } - public TypeAliasTemplate(global::CppSharp.Parser.AST.TypeAliasTemplate _0) - : this((void*) null) + public void AddTypedefs(global::CppSharp.Parser.AST.TypedefDecl s) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddTypedefs((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void ClearTypedefs() { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; + __Internal.ClearTypedefs((__Instance + __PointerAdjustment)); } - } - public unsafe partial class Variable : global::CppSharp.Parser.AST.Declaration, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 176)] - public new partial struct __Internal + public global::CppSharp.Parser.AST.TypeAlias GetTypeAliases(uint i) + { + var __ret = __Internal.GetTypeAliases((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.TypeAlias __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TypeAlias.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.TypeAlias) global::CppSharp.Parser.AST.TypeAlias.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.TypeAlias.__CreateInstance(__ret); + return __result0; + } + + public void AddTypeAliases(global::CppSharp.Parser.AST.TypeAlias s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddTypeAliases((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearTypeAliases() + { + __Internal.ClearTypeAliases((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.Variable GetVariables(uint i) + { + var __ret = __Internal.GetVariables((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Variable __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Variable.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Variable) global::CppSharp.Parser.AST.Variable.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Variable.__CreateInstance(__ret); + return __result0; + } + + public void AddVariables(global::CppSharp.Parser.AST.Variable s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddVariables((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearVariables() + { + __Internal.ClearVariables((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.Friend GetFriends(uint i) + { + var __ret = __Internal.GetFriends((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Friend __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Friend.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Friend) global::CppSharp.Parser.AST.Friend.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Friend.__CreateInstance(__ret); + return __result0; + } + + public void AddFriends(global::CppSharp.Parser.AST.Friend s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddFriends((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearFriends() + { + __Internal.ClearFriends((__Instance + __PointerAdjustment)); + } + + public static implicit operator global::CppSharp.Parser.AST.DeclarationContext(global::CppSharp.Parser.AST.DeclarationKind kind) + { + return new global::CppSharp.Parser.AST.DeclarationContext(kind); + } + + public bool IsAnonymous + { + get + { + return ((global::CppSharp.Parser.AST.DeclarationContext.__Internal*) __Instance)->isAnonymous != 0; + } + + set + { + ((global::CppSharp.Parser.AST.DeclarationContext.__Internal*)__Instance)->isAnonymous = (byte) (value ? 1 : 0); + } + } + + public uint NamespacesCount + { + get + { + var __ret = __Internal.GetNamespacesCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + + public uint EnumsCount + { + get + { + var __ret = __Internal.GetEnumsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + + public uint FunctionsCount + { + get + { + var __ret = __Internal.GetFunctionsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + + public uint ClassesCount + { + get + { + var __ret = __Internal.GetClassesCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + + public uint TemplatesCount + { + get + { + var __ret = __Internal.GetTemplatesCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + + public uint TypedefsCount + { + get + { + var __ret = __Internal.GetTypedefsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + + public uint TypeAliasesCount + { + get + { + var __ret = __Internal.GetTypeAliasesCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + + public uint VariablesCount + { + get + { + var __ret = __Internal.GetVariablesCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + + public uint FriendsCount + { + get + { + var __ret = __Internal.GetFriendsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } + + public unsafe partial class TypedefNameDecl : global::CppSharp.Parser.AST.Declaration, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 168)] + public new partial struct __Internal { [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; @@ -5340,52 +5483,49 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(152)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C mangled; - - [FieldOffset(160)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8VariableC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST15TypedefNameDeclC2ENS1_15DeclarationKindE")] + internal static extern void ctor(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8VariableC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST15TypedefNameDeclC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8VariableD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST15TypedefNameDeclD2Ev")] internal static extern void dtor(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.Variable __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TypedefNameDecl __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Variable(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TypedefNameDecl(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Variable __CreateInstance(global::CppSharp.Parser.AST.Variable.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TypedefNameDecl __CreateInstance(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Variable(native, skipVTables); + return new global::CppSharp.Parser.AST.TypedefNameDecl(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Variable.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); - global::CppSharp.Parser.AST.Variable.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); + global::CppSharp.Parser.AST.TypedefNameDecl.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Variable(global::CppSharp.Parser.AST.Variable.__Internal native, bool skipVTables = false) + private TypedefNameDecl(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Variable(void* native, bool skipVTables = false) + protected TypedefNameDecl(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -5394,19 +5534,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Variable() + public TypedefNameDecl(global::CppSharp.Parser.AST.DeclarationKind kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + __Internal.ctor((__Instance + __PointerAdjustment), kind); } - public Variable(global::CppSharp.Parser.AST.Variable _0) + public TypedefNameDecl(global::CppSharp.Parser.AST.TypedefNameDecl _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -5428,39 +5568,28 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public string Mangled + public static implicit operator global::CppSharp.Parser.AST.TypedefNameDecl(global::CppSharp.Parser.AST.DeclarationKind kind) { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Variable.__Internal*) __Instance)->mangled)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Variable.__Internal*)__Instance)->mangled), value); - } + return new global::CppSharp.Parser.AST.TypedefNameDecl(kind); } public global::CppSharp.Parser.AST.QualifiedType QualifiedType { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Variable.__Internal*) __Instance)->qualifiedType)); + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TypedefNameDecl.__Internal*) __Instance)->qualifiedType)); } set { - ((global::CppSharp.Parser.AST.Variable.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.TypedefNameDecl.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } } - public unsafe partial class Friend : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class TypedefDecl : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 160)] + [StructLayout(LayoutKind.Explicit, Size = 168)] public new partial struct __Internal { [FieldOffset(0)] @@ -5524,49 +5653,49 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(152)] - internal global::System.IntPtr declaration; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6FriendC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefDeclC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6FriendC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefDeclC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6FriendD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefDeclD2Ev")] internal static extern void dtor(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.Friend __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TypedefDecl __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Friend(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TypedefDecl(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Friend __CreateInstance(global::CppSharp.Parser.AST.Friend.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TypedefDecl __CreateInstance(global::CppSharp.Parser.AST.TypedefDecl.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Friend(native, skipVTables); + return new global::CppSharp.Parser.AST.TypedefDecl(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Friend.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefDecl.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); - global::CppSharp.Parser.AST.Friend.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); + global::CppSharp.Parser.AST.TypedefDecl.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Friend(global::CppSharp.Parser.AST.Friend.__Internal native, bool skipVTables = false) + private TypedefDecl(global::CppSharp.Parser.AST.TypedefDecl.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Friend(void* native, bool skipVTables = false) + protected TypedefDecl(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -5575,19 +5704,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Friend() + public TypedefDecl() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public Friend(global::CppSharp.Parser.AST.Friend _0) + public TypedefDecl(global::CppSharp.Parser.AST.TypedefDecl _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -5608,186 +5737,184 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - - public global::CppSharp.Parser.AST.Declaration Declaration - { - get - { - global::CppSharp.Parser.AST.Declaration __result0; - if (((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.Friend.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } } - public unsafe partial class BaseClassSpecifier : IDisposable + public unsafe partial class TypeAlias : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 24)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 176)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal byte isVirtual; + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::System.IntPtr type; + internal global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(16)] - internal int offset; + internal global::System.IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(48)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(64)] + internal byte isIncomplete; + + [FieldOffset(65)] + internal byte isDependent; + + [FieldOffset(66)] + internal byte isImplicit; + + [FieldOffset(67)] + internal byte isInvalid; + + [FieldOffset(72)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(80)] + internal uint definitionOrder; + + [FieldOffset(88)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(112)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(136)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(144)] + internal global::System.IntPtr comment; + + [FieldOffset(152)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(168)] + internal global::System.IntPtr describedAliasTemplate; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18BaseClassSpecifierC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST9TypeAliasC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18BaseClassSpecifierC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST9TypeAliasC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - } - - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; - protected bool __ownsNativeInstance; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9TypeAliasD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); + } - internal static global::CppSharp.Parser.AST.BaseClassSpecifier __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TypeAlias __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.BaseClassSpecifier(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TypeAlias(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.BaseClassSpecifier __CreateInstance(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TypeAlias __CreateInstance(global::CppSharp.Parser.AST.TypeAlias.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.BaseClassSpecifier(native, skipVTables); + return new global::CppSharp.Parser.AST.TypeAlias(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TypeAlias.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); - *(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) ret = native; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); + global::CppSharp.Parser.AST.TypeAlias.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private BaseClassSpecifier(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native, bool skipVTables = false) + private TypeAlias(global::CppSharp.Parser.AST.TypeAlias.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected BaseClassSpecifier(void* native, bool skipVTables = false) + protected TypeAlias(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public BaseClassSpecifier() + public TypeAlias() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public BaseClassSpecifier(global::CppSharp.Parser.AST.BaseClassSpecifier _0) + public TypeAlias(global::CppSharp.Parser.AST.TypeAlias _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) _0.__Instance); - } - - public void Dispose() - { - Dispose(disposing: true); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.BaseClassSpecifier __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.AccessSpecifier Access - { - get - { - return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->access; - } - - set - { - ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->access = value; - } - } - - public bool IsVirtual - { - get - { - return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->isVirtual != 0; - } - - set - { - ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->isVirtual = (byte) (value ? 1 : 0); - } - } - - public global::CppSharp.Parser.AST.Type Type + public global::CppSharp.Parser.AST.TypeAliasTemplate DescribedAliasTemplate { get { - global::CppSharp.Parser.AST.Type __result0; - if (((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type)) - __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type]; - else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type); + global::CppSharp.Parser.AST.TypeAliasTemplate __result0; + if (((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TypeAliasTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate)) + __result0 = (global::CppSharp.Parser.AST.TypeAliasTemplate) global::CppSharp.Parser.AST.TypeAliasTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate]; + else __result0 = global::CppSharp.Parser.AST.TypeAliasTemplate.__CreateInstance(((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate); return __result0; } set { - ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } - - public int Offset - { - get - { - return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->offset; - } - - set - { - ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->offset = value; + ((global::CppSharp.Parser.AST.TypeAlias.__Internal*)__Instance)->describedAliasTemplate = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } - public unsafe partial class Field : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class Friend : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 184)] + [StructLayout(LayoutKind.Explicit, Size = 160)] public new partial struct __Internal { [FieldOffset(0)] @@ -5851,58 +5978,49 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(152)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - - [FieldOffset(168)] - internal global::System.IntPtr _class; - - [FieldOffset(176)] - internal byte isBitField; - - [FieldOffset(180)] - internal uint bitWidth; + internal global::System.IntPtr declaration; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5FieldC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST6FriendC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5FieldC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST6FriendC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5FieldD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST6FriendD2Ev")] internal static extern void dtor(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.Field __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Friend __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Field(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Friend(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Field __CreateInstance(global::CppSharp.Parser.AST.Field.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Friend __CreateInstance(global::CppSharp.Parser.AST.Friend.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Field(native, skipVTables); + return new global::CppSharp.Parser.AST.Friend(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Field.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Friend.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); - global::CppSharp.Parser.AST.Field.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); + global::CppSharp.Parser.AST.Friend.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Field(global::CppSharp.Parser.AST.Field.__Internal native, bool skipVTables = false) + private Friend(global::CppSharp.Parser.AST.Friend.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Field(void* native, bool skipVTables = false) + protected Friend(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -5911,19 +6029,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Field() + public Friend() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public Field(global::CppSharp.Parser.AST.Field _0) + public Friend(global::CppSharp.Parser.AST.Friend _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -5945,313 +6063,351 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.QualifiedType QualifiedType + public global::CppSharp.Parser.AST.Declaration Declaration { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->qualifiedType)); + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration); + return __result0; } set { - ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.Friend.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } + } - public global::CppSharp.Parser.AST.Class Class + public unsafe partial class Statement : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StatementClass _class; + + [FieldOffset(8)] + internal global::System.IntPtr decl; + + [FieldOffset(16)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9StatementC2ERKSsNS1_14StatementClassEPNS1_11DeclarationE")] + internal static extern void ctor(global::System.IntPtr instance, global::System.IntPtr str, global::CppSharp.Parser.AST.StatementClass Class, global::System.IntPtr decl); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9StatementC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9StatementD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.Statement __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Statement(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.Statement __CreateInstance(global::CppSharp.Parser.AST.Statement.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Statement(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.Statement.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Statement.__Internal)); + global::CppSharp.Parser.AST.Statement.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private Statement(global::CppSharp.Parser.AST.Statement.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Statement(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public Statement(string str, global::CppSharp.Parser.AST.StatementClass Class, global::CppSharp.Parser.AST.Declaration decl) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Statement.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, str); + var __arg0 = __basicString0.__Instance; + var __arg2 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; + __Internal.ctor((__Instance + __PointerAdjustment), __arg0, Class, __arg2); + __basicString0.Dispose(false); + } + + public Statement(global::CppSharp.Parser.AST.Statement _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Statement.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Statement __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.StatementClass Class { get { - global::CppSharp.Parser.AST.Class __result0; - if (((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class)) - __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class]; - else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class); - return __result0; + return ((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->_class; } set { - ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.Statement.__Internal*)__Instance)->_class = value; } } - public bool IsBitField + public global::CppSharp.Parser.AST.Declaration Decl { get { - return ((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->isBitField != 0; + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->decl == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->decl)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->decl]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->decl); + return __result0; } set { - ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->isBitField = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Statement.__Internal*)__Instance)->decl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public uint BitWidth + public string String { get { - return ((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->bitWidth; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->@string)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->bitWidth = value; + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Statement.__Internal*)__Instance)->@string), value); } } } - public unsafe partial class Method : global::CppSharp.Parser.AST.Function, IDisposable + public unsafe partial class Expression : global::CppSharp.Parser.AST.Statement, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 608)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; + internal global::CppSharp.Parser.AST.StatementClass _class; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; + internal global::System.IntPtr decl; [FieldOffset(16)] - internal global::System.IntPtr _namespace; - - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; - - [FieldOffset(32)] - internal int lineNumberEnd; + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10ExpressionC2ERKSsNS1_14StatementClassEPNS1_11DeclarationE")] + internal static extern void ctor(global::System.IntPtr instance, global::System.IntPtr str, global::CppSharp.Parser.AST.StatementClass Class, global::System.IntPtr decl); - [FieldOffset(48)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10ExpressionC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - [FieldOffset(56)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10ExpressionD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); + } - [FieldOffset(64)] - internal byte isIncomplete; + internal static new global::CppSharp.Parser.AST.Expression __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Expression(native.ToPointer(), skipVTables); + } - [FieldOffset(65)] - internal byte isDependent; + internal static global::CppSharp.Parser.AST.Expression __CreateInstance(global::CppSharp.Parser.AST.Expression.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Expression(native, skipVTables); + } - [FieldOffset(66)] - internal byte isImplicit; + private static void* __CopyValue(global::CppSharp.Parser.AST.Expression.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expression.__Internal)); + global::CppSharp.Parser.AST.Expression.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(67)] - internal byte isInvalid; + private Expression(global::CppSharp.Parser.AST.Expression.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(72)] - internal global::System.IntPtr completeDeclaration; + protected Expression(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(80)] - internal uint definitionOrder; + public Expression(string str, global::CppSharp.Parser.AST.StatementClass Class, global::CppSharp.Parser.AST.Declaration decl) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expression.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, str); + var __arg0 = __basicString0.__Instance; + var __arg2 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; + __Internal.ctor((__Instance + __PointerAdjustment), __arg0, Class, __arg2); + __basicString0.Dispose(false); + } - [FieldOffset(88)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(112)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - - [FieldOffset(136)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(144)] - internal global::System.IntPtr comment; - - [FieldOffset(152)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; - - [FieldOffset(176)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; - - [FieldOffset(200)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; - - [FieldOffset(224)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; - - [FieldOffset(248)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; - - [FieldOffset(272)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; - - [FieldOffset(296)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; - - [FieldOffset(320)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; - - [FieldOffset(344)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; - - [FieldOffset(368)] - internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; - - [FieldOffset(416)] - internal byte isAnonymous; - - [FieldOffset(424)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; - - [FieldOffset(440)] - internal byte isReturnIndirect; - - [FieldOffset(441)] - internal byte hasThisReturn; - - [FieldOffset(442)] - internal byte isConstExpr; - - [FieldOffset(443)] - internal byte isVariadic; - - [FieldOffset(444)] - internal byte isInline; - - [FieldOffset(445)] - internal byte isPure; - - [FieldOffset(446)] - internal byte isDeleted; - - [FieldOffset(447)] - internal byte isDefaulted; - - [FieldOffset(448)] - internal global::CppSharp.Parser.AST.FriendKind friendKind; - - [FieldOffset(452)] - internal global::CppSharp.Parser.AST.CXXOperatorKind operatorKind; - - [FieldOffset(456)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C mangled; - - [FieldOffset(464)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C signature; - - [FieldOffset(472)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C body; - - [FieldOffset(480)] - internal global::CppSharp.Parser.AST.CallingConvention callingConvention; - - [FieldOffset(488)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_S_allocator__S0_ Parameters; - - [FieldOffset(512)] - internal global::System.IntPtr specializationInfo; - - [FieldOffset(520)] - internal global::System.IntPtr instantiatedFrom; - - [FieldOffset(528)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - - [FieldOffset(544)] - internal byte isVirtual; - - [FieldOffset(545)] - internal byte isStatic; - - [FieldOffset(546)] - internal byte isConst; - - [FieldOffset(547)] - internal byte isExplicit; + public Expression(global::CppSharp.Parser.AST.Expression _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expression.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(548)] - internal global::CppSharp.Parser.AST.CXXMethodKind methodKind; + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Statement __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + } - [FieldOffset(552)] - internal byte isDefaultConstructor; + public unsafe partial class BinaryOperator : global::CppSharp.Parser.AST.Expression, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StatementClass _class; - [FieldOffset(553)] - internal byte isCopyConstructor; + [FieldOffset(8)] + internal global::System.IntPtr decl; - [FieldOffset(554)] - internal byte isMoveConstructor; + [FieldOffset(16)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; - [FieldOffset(560)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal conversionType; + [FieldOffset(24)] + internal global::System.IntPtr LHS; - [FieldOffset(576)] - internal global::CppSharp.Parser.AST.RefQualifierKind refQualifier; + [FieldOffset(32)] + internal global::System.IntPtr RHS; - [FieldOffset(584)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_S_allocator__S0_ OverriddenMethods; + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C opcodeStr; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6MethodC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST14BinaryOperatorC2ERKSsPNS1_10ExpressionES6_S4_")] + internal static extern void ctor(global::System.IntPtr instance, global::System.IntPtr str, global::System.IntPtr lhs, global::System.IntPtr rhs, global::System.IntPtr opcodeStr); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6MethodC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST14BinaryOperatorC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6MethodD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST14BinaryOperatorD2Ev")] internal static extern void dtor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6Method20getOverriddenMethodsEj")] - internal static extern global::System.IntPtr GetOverriddenMethods(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6Method20addOverriddenMethodsERPS2_")] - internal static extern void AddOverriddenMethods(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6Method22clearOverriddenMethodsEv")] - internal static extern void ClearOverriddenMethods(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6Method25getOverriddenMethodsCountEv")] - internal static extern uint GetOverriddenMethodsCount(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.Method __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.BinaryOperator __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Method(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.BinaryOperator(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Method __CreateInstance(global::CppSharp.Parser.AST.Method.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.BinaryOperator __CreateInstance(global::CppSharp.Parser.AST.BinaryOperator.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Method(native, skipVTables); + return new global::CppSharp.Parser.AST.BinaryOperator(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Method.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.BinaryOperator.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); - global::CppSharp.Parser.AST.Method.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); + global::CppSharp.Parser.AST.BinaryOperator.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Method(global::CppSharp.Parser.AST.Method.__Internal native, bool skipVTables = false) + private BinaryOperator(global::CppSharp.Parser.AST.BinaryOperator.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Method(void* native, bool skipVTables = false) + protected BinaryOperator(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -6260,19 +6416,29 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Method() + public BinaryOperator(string str, global::CppSharp.Parser.AST.Expression lhs, global::CppSharp.Parser.AST.Expression rhs, string opcodeStr) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, str); + var __arg0 = __basicString0.__Instance; + var __arg1 = ReferenceEquals(lhs, null) ? global::System.IntPtr.Zero : lhs.__Instance; + var __arg2 = ReferenceEquals(rhs, null) ? global::System.IntPtr.Zero : rhs.__Instance; + var __basicString3 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString3, opcodeStr); + var __arg3 = __basicString3.__Instance; + __Internal.ctor((__Instance + __PointerAdjustment), __arg0, __arg1, __arg2, __arg3); + __basicString0.Dispose(false); + __basicString3.Dispose(false); } - public Method(global::CppSharp.Parser.AST.Method _0) + public BinaryOperator(global::CppSharp.Parser.AST.BinaryOperator _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -6285,7 +6451,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.Statement __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -6294,195 +6460,402 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.Method GetOverriddenMethods(uint i) + public global::CppSharp.Parser.AST.Expression LHS { - var __ret = __Internal.GetOverriddenMethods((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Method __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Method.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Method) global::CppSharp.Parser.AST.Method.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Method.__CreateInstance(__ret); - return __result0; - } - - public void AddOverriddenMethods(global::CppSharp.Parser.AST.Method s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddOverriddenMethods((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearOverriddenMethods() - { - __Internal.ClearOverriddenMethods((__Instance + __PointerAdjustment)); - } - - public bool IsVirtual - { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isVirtual != 0; - } + get + { + global::CppSharp.Parser.AST.Expression __result0; + if (((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->LHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->LHS)) + __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->LHS]; + else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->LHS); + return __result0; + } set { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isVirtual = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->LHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public bool IsStatic + public global::CppSharp.Parser.AST.Expression RHS { get { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isStatic != 0; + global::CppSharp.Parser.AST.Expression __result0; + if (((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->RHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->RHS)) + __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->RHS]; + else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->RHS); + return __result0; } set { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isStatic = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->RHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public bool IsConst + public string OpcodeStr { get { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isConst != 0; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->opcodeStr)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isConst = (byte) (value ? 1 : 0); + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->opcodeStr), value); } } + } - public bool IsExplicit + public unsafe partial class CallExpr : global::CppSharp.Parser.AST.Expression, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isExplicit != 0; - } + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StatementClass _class; - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isExplicit = (byte) (value ? 1 : 0); - } + [FieldOffset(8)] + internal global::System.IntPtr decl; + + [FieldOffset(16)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; + + [FieldOffset(24)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expression___N_std_S_allocator__S0_ Arguments; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExprC2ERKSsPNS1_11DeclarationE")] + internal static extern void ctor(global::System.IntPtr instance, global::System.IntPtr str, global::System.IntPtr decl); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExprD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr12getArgumentsEj")] + internal static extern global::System.IntPtr GetArguments(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr12addArgumentsERPNS1_10ExpressionE")] + internal static extern void AddArguments(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr14clearArgumentsEv")] + internal static extern void ClearArguments(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr17getArgumentsCountEv")] + internal static extern uint GetArgumentsCount(global::System.IntPtr instance); } - public global::CppSharp.Parser.AST.CXXMethodKind MethodKind + internal static new global::CppSharp.Parser.AST.CallExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->methodKind; - } - - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->methodKind = value; - } + return new global::CppSharp.Parser.AST.CallExpr(native.ToPointer(), skipVTables); } - public bool IsDefaultConstructor + internal static global::CppSharp.Parser.AST.CallExpr __CreateInstance(global::CppSharp.Parser.AST.CallExpr.__Internal native, bool skipVTables = false) { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isDefaultConstructor != 0; - } + return new global::CppSharp.Parser.AST.CallExpr(native, skipVTables); + } - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isDefaultConstructor = (byte) (value ? 1 : 0); - } + private static void* __CopyValue(global::CppSharp.Parser.AST.CallExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); + global::CppSharp.Parser.AST.CallExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); } - public bool IsCopyConstructor + private CallExpr(global::CppSharp.Parser.AST.CallExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isCopyConstructor != 0; - } + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isCopyConstructor = (byte) (value ? 1 : 0); - } + protected CallExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - public bool IsMoveConstructor + public CallExpr(string str, global::CppSharp.Parser.AST.Declaration decl) + : this((void*) null) { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isMoveConstructor != 0; - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, str); + var __arg0 = __basicString0.__Instance; + var __arg1 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; + __Internal.ctor((__Instance + __PointerAdjustment), __arg0, __arg1); + __basicString0.Dispose(false); + } - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isMoveConstructor = (byte) (value ? 1 : 0); - } + public CallExpr(global::CppSharp.Parser.AST.CallExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType ConversionType + public override void Dispose(bool disposing) { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->conversionType)); - } + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Statement __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->conversionType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } + public global::CppSharp.Parser.AST.Expression GetArguments(uint i) + { + var __ret = __Internal.GetArguments((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Expression __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(__ret); + return __result0; } - public global::CppSharp.Parser.AST.RefQualifierKind RefQualifier + public void AddArguments(global::CppSharp.Parser.AST.Expression s) { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->refQualifier; - } + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); + } - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->refQualifier = value; - } + public void ClearArguments() + { + __Internal.ClearArguments((__Instance + __PointerAdjustment)); } - public uint OverriddenMethodsCount + public uint ArgumentsCount { get { - var __ret = __Internal.GetOverriddenMethodsCount((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class Parameter : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class CXXConstructExpr : global::CppSharp.Parser.AST.Expression, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 184)] + [StructLayout(LayoutKind.Explicit, Size = 48)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; + internal global::CppSharp.Parser.AST.StatementClass _class; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; + internal global::System.IntPtr decl; [FieldOffset(16)] - internal global::System.IntPtr _namespace; + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expression___N_std_S_allocator__S0_ Arguments; - [FieldOffset(32)] - internal int lineNumberEnd; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExprC2ERKSsPNS1_11DeclarationE")] + internal static extern void ctor(global::System.IntPtr instance, global::System.IntPtr str, global::System.IntPtr decl); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExprD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr12getArgumentsEj")] + internal static extern global::System.IntPtr GetArguments(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr12addArgumentsERPNS1_10ExpressionE")] + internal static extern void AddArguments(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr14clearArgumentsEv")] + internal static extern void ClearArguments(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr17getArgumentsCountEv")] + internal static extern uint GetArgumentsCount(global::System.IntPtr instance); + } + + internal static new global::CppSharp.Parser.AST.CXXConstructExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXConstructExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXConstructExpr __CreateInstance(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXConstructExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); + global::CppSharp.Parser.AST.CXXConstructExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private CXXConstructExpr(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXConstructExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXConstructExpr(string str, global::CppSharp.Parser.AST.Declaration decl) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, str); + var __arg0 = __basicString0.__Instance; + var __arg1 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; + __Internal.ctor((__Instance + __PointerAdjustment), __arg0, __arg1); + __basicString0.Dispose(false); + } + + public CXXConstructExpr(global::CppSharp.Parser.AST.CXXConstructExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Statement __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Expression GetArguments(uint i) + { + var __ret = __Internal.GetArguments((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Expression __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(__ret); + return __result0; + } + + public void AddArguments(global::CppSharp.Parser.AST.Expression s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearArguments() + { + __Internal.ClearArguments((__Instance + __PointerAdjustment)); + } + + public uint ArgumentsCount + { + get + { + var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } + + public unsafe partial class Parameter : global::CppSharp.Parser.AST.Declaration, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 184)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal global::System.IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; [FieldOffset(40)] internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; @@ -6692,194 +7065,243 @@ namespace CppSharp } } - public unsafe partial class Expression : global::CppSharp.Parser.AST.Statement, IDisposable + public unsafe partial class Function : global::CppSharp.Parser.AST.DeclarationContext, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 544)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.StatementClass _class; + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::System.IntPtr decl; + internal global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(16)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; + internal global::System.IntPtr _namespace; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ExpressionC2ERKSsNS1_14StatementClassEPNS1_11DeclarationE")] - internal static extern void ctor(global::System.IntPtr instance, global::System.IntPtr str, global::CppSharp.Parser.AST.StatementClass Class, global::System.IntPtr decl); + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ExpressionC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + [FieldOffset(28)] + internal int lineNumberStart; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ExpressionD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); - } + [FieldOffset(32)] + internal int lineNumberEnd; - internal static new global::CppSharp.Parser.AST.Expression __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Expression(native.ToPointer(), skipVTables); - } + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - internal static global::CppSharp.Parser.AST.Expression __CreateInstance(global::CppSharp.Parser.AST.Expression.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Expression(native, skipVTables); - } + [FieldOffset(48)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - private static void* __CopyValue(global::CppSharp.Parser.AST.Expression.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expression.__Internal)); - global::CppSharp.Parser.AST.Expression.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + [FieldOffset(56)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - private Expression(global::CppSharp.Parser.AST.Expression.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + [FieldOffset(64)] + internal byte isIncomplete; - protected Expression(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [FieldOffset(65)] + internal byte isDependent; - public Expression(string str, global::CppSharp.Parser.AST.StatementClass Class, global::CppSharp.Parser.AST.Declaration decl) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expression.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, str); - var __arg0 = __basicString0.__Instance; - var __arg2 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; - __Internal.ctor((__Instance + __PointerAdjustment), __arg0, Class, __arg2); - __basicString0.Dispose(false); - } + [FieldOffset(66)] + internal byte isImplicit; - public Expression(global::CppSharp.Parser.AST.Expression _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expression.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(67)] + internal byte isInvalid; - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Statement __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - } + [FieldOffset(72)] + internal global::System.IntPtr completeDeclaration; - public unsafe partial class Statement : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 24)] - public partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.StatementClass _class; + [FieldOffset(80)] + internal uint definitionOrder; - [FieldOffset(8)] - internal global::System.IntPtr decl; + [FieldOffset(88)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - [FieldOffset(16)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; + [FieldOffset(112)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(136)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(144)] + internal global::System.IntPtr comment; + + [FieldOffset(152)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; + + [FieldOffset(176)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; + + [FieldOffset(200)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; + + [FieldOffset(224)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; + + [FieldOffset(248)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; + + [FieldOffset(272)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; + + [FieldOffset(296)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; + + [FieldOffset(320)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; + + [FieldOffset(344)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; + + [FieldOffset(368)] + internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + + [FieldOffset(416)] + internal byte isAnonymous; + + [FieldOffset(424)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; + + [FieldOffset(440)] + internal byte isReturnIndirect; + + [FieldOffset(441)] + internal byte hasThisReturn; + + [FieldOffset(442)] + internal byte isConstExpr; + + [FieldOffset(443)] + internal byte isVariadic; + + [FieldOffset(444)] + internal byte isInline; + + [FieldOffset(445)] + internal byte isPure; + + [FieldOffset(446)] + internal byte isDeleted; + + [FieldOffset(447)] + internal byte isDefaulted; + + [FieldOffset(448)] + internal global::CppSharp.Parser.AST.FriendKind friendKind; + + [FieldOffset(452)] + internal global::CppSharp.Parser.AST.CXXOperatorKind operatorKind; + + [FieldOffset(456)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C mangled; + + [FieldOffset(464)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C signature; + + [FieldOffset(472)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C body; + + [FieldOffset(480)] + internal global::CppSharp.Parser.AST.CallingConvention callingConvention; + + [FieldOffset(488)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_S_allocator__S0_ Parameters; + + [FieldOffset(512)] + internal global::System.IntPtr specializationInfo; + + [FieldOffset(520)] + internal global::System.IntPtr instantiatedFrom; + + [FieldOffset(528)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9StatementC2ERKSsNS1_14StatementClassEPNS1_11DeclarationE")] - internal static extern void ctor(global::System.IntPtr instance, global::System.IntPtr str, global::CppSharp.Parser.AST.StatementClass Class, global::System.IntPtr decl); + EntryPoint="_ZN8CppSharp9CppParser3AST8FunctionC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9StatementC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST8FunctionC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9StatementD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST8FunctionD2Ev")] internal static extern void dtor(global::System.IntPtr instance); - } - public global::System.IntPtr __Instance { get; protected set; } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Function13getParametersEj")] + internal static extern global::System.IntPtr GetParameters(global::System.IntPtr instance, uint i); - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Function13addParametersERPNS1_9ParameterE")] + internal static extern void AddParameters(global::System.IntPtr instance, global::System.IntPtr s); - protected bool __ownsNativeInstance; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Function15clearParametersEv")] + internal static extern void ClearParameters(global::System.IntPtr instance); - internal static global::CppSharp.Parser.AST.Statement __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Function18getParametersCountEv")] + internal static extern uint GetParametersCount(global::System.IntPtr instance); + } + + internal static new global::CppSharp.Parser.AST.Function __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Statement(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Function(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Statement __CreateInstance(global::CppSharp.Parser.AST.Statement.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Function __CreateInstance(global::CppSharp.Parser.AST.Function.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Statement(native, skipVTables); + return new global::CppSharp.Parser.AST.Function(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Statement.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Function.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Statement.__Internal)); - global::CppSharp.Parser.AST.Statement.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); + global::CppSharp.Parser.AST.Function.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Statement(global::CppSharp.Parser.AST.Statement.__Internal native, bool skipVTables = false) + private Function(global::CppSharp.Parser.AST.Function.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Statement(void* native, bool skipVTables = false) + protected Function(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public Statement(string str, global::CppSharp.Parser.AST.StatementClass Class, global::CppSharp.Parser.AST.Declaration decl) + public Function() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Statement.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, str); - var __arg0 = __basicString0.__Instance; - var __arg2 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; - __Internal.ctor((__Instance + __PointerAdjustment), __arg0, Class, __arg2); - __basicString0.Dispose(false); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public Statement(global::CppSharp.Parser.AST.Statement _0) + public Function(global::CppSharp.Parser.AST.Function _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Statement.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -6888,16 +7310,11 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Statement __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -6906,272 +7323,303 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.StatementClass Class + public global::CppSharp.Parser.AST.Parameter GetParameters(uint i) + { + var __ret = __Internal.GetParameters((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Parameter __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Parameter.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Parameter) global::CppSharp.Parser.AST.Parameter.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Parameter.__CreateInstance(__ret); + return __result0; + } + + public void AddParameters(global::CppSharp.Parser.AST.Parameter s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddParameters((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearParameters() + { + __Internal.ClearParameters((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.QualifiedType ReturnType { get { - return ((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->_class; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->returnType)); } set { - ((global::CppSharp.Parser.AST.Statement.__Internal*)__Instance)->_class = value; + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->returnType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public global::CppSharp.Parser.AST.Declaration Decl + public bool IsReturnIndirect { get { - global::CppSharp.Parser.AST.Declaration __result0; - if (((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->decl == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->decl)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->decl]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->decl); - return __result0; + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isReturnIndirect != 0; } set { - ((global::CppSharp.Parser.AST.Statement.__Internal*)__Instance)->decl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isReturnIndirect = (byte) (value ? 1 : 0); } } - public string String + public bool HasThisReturn { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->@string)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->hasThisReturn != 0; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Statement.__Internal*)__Instance)->@string), value); + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->hasThisReturn = (byte) (value ? 1 : 0); } } - } - public unsafe partial class FunctionTemplateSpecialization : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 48)] - public partial struct __Internal + public bool IsConstExpr { - [FieldOffset(0)] - internal global::System.IntPtr _template; - - [FieldOffset(8)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; - - [FieldOffset(32)] - internal global::System.IntPtr specializedFunction; - - [FieldOffset(40)] - internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecializationC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecializationC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecializationD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization12getArgumentsEj")] - internal static extern void GetArguments(global::System.IntPtr @return, global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization12addArgumentsERNS1_16TemplateArgumentE")] - internal static extern void AddArguments(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization14clearArgumentsEv")] - internal static extern void ClearArguments(global::System.IntPtr instance); + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isConstExpr != 0; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization17getArgumentsCountEv")] - internal static extern uint GetArgumentsCount(global::System.IntPtr instance); + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isConstExpr = (byte) (value ? 1 : 0); + } } - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.FunctionTemplateSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public bool IsVariadic { - return new global::CppSharp.Parser.AST.FunctionTemplateSpecialization(native.ToPointer(), skipVTables); - } + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isVariadic != 0; + } - internal static global::CppSharp.Parser.AST.FunctionTemplateSpecialization __CreateInstance(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.FunctionTemplateSpecialization(native, skipVTables); + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isVariadic = (byte) (value ? 1 : 0); + } } - private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal native) + public bool IsInline { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); - global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isInline != 0; + } - private FunctionTemplateSpecialization(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isInline = (byte) (value ? 1 : 0); + } } - protected FunctionTemplateSpecialization(void* native, bool skipVTables = false) + public bool IsPure { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isPure != 0; + } - public FunctionTemplateSpecialization() - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isPure = (byte) (value ? 1 : 0); + } } - public FunctionTemplateSpecialization(global::CppSharp.Parser.AST.FunctionTemplateSpecialization _0) + public bool IsDeleted { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isDeleted != 0; + } - public void Dispose() - { - Dispose(disposing: true); + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isDeleted = (byte) (value ? 1 : 0); + } } - public virtual void Dispose(bool disposing) + public bool IsDefaulted { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.FunctionTemplateSpecialization __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isDefaulted != 0; + } - public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) - { - var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); - __Internal.GetArguments(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isDefaulted = (byte) (value ? 1 : 0); + } } - public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) + public global::CppSharp.Parser.AST.FriendKind FriendKind { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); - } + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->friendKind; + } - public void ClearArguments() - { - __Internal.ClearArguments((__Instance + __PointerAdjustment)); + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->friendKind = value; + } } - public global::CppSharp.Parser.AST.FunctionTemplate Template + public global::CppSharp.Parser.AST.CXXOperatorKind OperatorKind { get { - global::CppSharp.Parser.AST.FunctionTemplate __result0; - if (((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.FunctionTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template)) - __result0 = (global::CppSharp.Parser.AST.FunctionTemplate) global::CppSharp.Parser.AST.FunctionTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template]; - else __result0 = global::CppSharp.Parser.AST.FunctionTemplate.__CreateInstance(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template); - return __result0; + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->operatorKind; } set { - ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*)__Instance)->_template = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->operatorKind = value; } } - public global::CppSharp.Parser.AST.Function SpecializedFunction + public string Mangled { get { - global::CppSharp.Parser.AST.Function __result0; - if (((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction)) - __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction]; - else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction); - return __result0; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->mangled)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*)__Instance)->specializedFunction = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->mangled), value); } } - public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind + public string Signature { get { - return ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializationKind; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->signature)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*)__Instance)->specializationKind = value; + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->signature), value); } } - public uint ArgumentsCount + public string Body { get { - var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); - return __ret; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->body)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->body), value); } } - } - public unsafe partial class FunctionTemplate : global::CppSharp.Parser.AST.Template, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 208)] - public new partial struct __Internal + public global::CppSharp.Parser.AST.CallingConvention CallingConvention { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->callingConvention; + } - [FieldOffset(4)] - internal int maxFieldAlignment; + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->callingConvention = value; + } + } + + public global::CppSharp.Parser.AST.FunctionTemplateSpecialization SpecializationInfo + { + get + { + global::CppSharp.Parser.AST.FunctionTemplateSpecialization __result0; + if (((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo)) + __result0 = (global::CppSharp.Parser.AST.FunctionTemplateSpecialization) global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap[((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo]; + else __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__CreateInstance(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->specializationInfo = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Function InstantiatedFrom + { + get + { + global::CppSharp.Parser.AST.Function __result0; + if (((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom)) + __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom]; + else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->instantiatedFrom = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType QualifiedType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->qualifiedType)); + } + + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public uint ParametersCount + { + get + { + var __ret = __Internal.GetParametersCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } + + public unsafe partial class Method : global::CppSharp.Parser.AST.Function, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 608)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; [FieldOffset(8)] internal global::CppSharp.Parser.AST.AccessSpecifier access; @@ -7228,80 +7676,189 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(152)] - internal global::System.IntPtr TemplatedDecl; + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; + [FieldOffset(176)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; - [FieldOffset(184)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_FunctionTemplateSpecialization___N_std_S_allocator__S0_ Specializations; + [FieldOffset(200)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; + + [FieldOffset(224)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; + + [FieldOffset(248)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; + + [FieldOffset(272)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; + + [FieldOffset(296)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; + + [FieldOffset(320)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; + + [FieldOffset(344)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; + + [FieldOffset(368)] + internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + + [FieldOffset(416)] + internal byte isAnonymous; + + [FieldOffset(424)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; + + [FieldOffset(440)] + internal byte isReturnIndirect; + + [FieldOffset(441)] + internal byte hasThisReturn; + + [FieldOffset(442)] + internal byte isConstExpr; + + [FieldOffset(443)] + internal byte isVariadic; + + [FieldOffset(444)] + internal byte isInline; + + [FieldOffset(445)] + internal byte isPure; + + [FieldOffset(446)] + internal byte isDeleted; + + [FieldOffset(447)] + internal byte isDefaulted; + + [FieldOffset(448)] + internal global::CppSharp.Parser.AST.FriendKind friendKind; + + [FieldOffset(452)] + internal global::CppSharp.Parser.AST.CXXOperatorKind operatorKind; + + [FieldOffset(456)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C mangled; + + [FieldOffset(464)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C signature; + + [FieldOffset(472)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C body; + + [FieldOffset(480)] + internal global::CppSharp.Parser.AST.CallingConvention callingConvention; + + [FieldOffset(488)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_S_allocator__S0_ Parameters; + + [FieldOffset(512)] + internal global::System.IntPtr specializationInfo; + + [FieldOffset(520)] + internal global::System.IntPtr instantiatedFrom; + + [FieldOffset(528)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(544)] + internal byte isVirtual; + + [FieldOffset(545)] + internal byte isStatic; + + [FieldOffset(546)] + internal byte isConst; + + [FieldOffset(547)] + internal byte isExplicit; + + [FieldOffset(548)] + internal global::CppSharp.Parser.AST.CXXMethodKind methodKind; + + [FieldOffset(552)] + internal byte isDefaultConstructor; + + [FieldOffset(553)] + internal byte isCopyConstructor; + + [FieldOffset(554)] + internal byte isMoveConstructor; + + [FieldOffset(560)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal conversionType; + + [FieldOffset(576)] + internal global::CppSharp.Parser.AST.RefQualifierKind refQualifier; + + [FieldOffset(584)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_S_allocator__S0_ OverriddenMethods; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplateC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST6MethodC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplateC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST6MethodC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplateD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST6MethodD2Ev")] internal static extern void dtor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate18getSpecializationsEj")] - internal static extern global::System.IntPtr GetSpecializations(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate18addSpecializationsERPNS1_30FunctionTemplateSpecializationE")] - internal static extern void AddSpecializations(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST6Method20getOverriddenMethodsEj")] + internal static extern global::System.IntPtr GetOverriddenMethods(global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate20clearSpecializationsEv")] - internal static extern void ClearSpecializations(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST6Method20addOverriddenMethodsERPS2_")] + internal static extern void AddOverriddenMethods(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate18FindSpecializationERKSs")] - internal static extern global::System.IntPtr FindSpecialization(global::System.IntPtr instance, global::System.IntPtr usr); + EntryPoint="_ZN8CppSharp9CppParser3AST6Method22clearOverriddenMethodsEv")] + internal static extern void ClearOverriddenMethods(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate23getSpecializationsCountEv")] - internal static extern uint GetSpecializationsCount(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST6Method25getOverriddenMethodsCountEv")] + internal static extern uint GetOverriddenMethodsCount(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.FunctionTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Method __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.FunctionTemplate(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Method(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.FunctionTemplate __CreateInstance(global::CppSharp.Parser.AST.FunctionTemplate.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Method __CreateInstance(global::CppSharp.Parser.AST.Method.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.FunctionTemplate(native, skipVTables); + return new global::CppSharp.Parser.AST.Method(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionTemplate.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Method.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); - global::CppSharp.Parser.AST.FunctionTemplate.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); + global::CppSharp.Parser.AST.Method.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private FunctionTemplate(global::CppSharp.Parser.AST.FunctionTemplate.__Internal native, bool skipVTables = false) + private Method(global::CppSharp.Parser.AST.Method.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected FunctionTemplate(void* native, bool skipVTables = false) + protected Method(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -7310,19 +7867,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public FunctionTemplate() + public Method() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public FunctionTemplate(global::CppSharp.Parser.AST.FunctionTemplate _0) + public Method(global::CppSharp.Parser.AST.Method _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -7344,227 +7901,173 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.FunctionTemplateSpecialization GetSpecializations(uint i) + public global::CppSharp.Parser.AST.Method GetOverriddenMethods(uint i) { - var __ret = __Internal.GetSpecializations((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.FunctionTemplateSpecialization __result0; + var __ret = __Internal.GetOverriddenMethods((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Method __result0; if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.FunctionTemplateSpecialization) global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__CreateInstance(__ret); + else if (global::CppSharp.Parser.AST.Method.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Method) global::CppSharp.Parser.AST.Method.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Method.__CreateInstance(__ret); return __result0; } - public void AddSpecializations(global::CppSharp.Parser.AST.FunctionTemplateSpecialization s) + public void AddOverriddenMethods(global::CppSharp.Parser.AST.Method s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddSpecializations((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearSpecializations() - { - __Internal.ClearSpecializations((__Instance + __PointerAdjustment)); + __Internal.AddOverriddenMethods((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.FunctionTemplateSpecialization FindSpecialization(string usr) + public void ClearOverriddenMethods() { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, usr); - var __arg0 = __basicString0.__Instance; - var __ret = __Internal.FindSpecialization((__Instance + __PointerAdjustment), __arg0); - __basicString0.Dispose(false); - global::CppSharp.Parser.AST.FunctionTemplateSpecialization __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.FunctionTemplateSpecialization) global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__CreateInstance(__ret); - return __result0; + __Internal.ClearOverriddenMethods((__Instance + __PointerAdjustment)); } - public uint SpecializationsCount + public bool IsVirtual { get { - var __ret = __Internal.GetSpecializationsCount((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isVirtual != 0; } - } - } - - public unsafe partial class TemplateArgument : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 40)] - public partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TemplateArgument.ArgumentKind kind; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; - - [FieldOffset(24)] - internal global::System.IntPtr declaration; - - [FieldOffset(32)] - internal long integral; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16TemplateArgumentC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16TemplateArgumentC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isVirtual = (byte) (value ? 1 : 0); + } } - public enum ArgumentKind + public bool IsStatic { - Type = 0, - Declaration = 1, - NullPtr = 2, - Integral = 3, - Template = 4, - TemplateExpansion = 5, - Expression = 6, - Pack = 7 - } - - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isStatic != 0; + } - internal static global::CppSharp.Parser.AST.TemplateArgument __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.TemplateArgument(native.ToPointer(), skipVTables); + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isStatic = (byte) (value ? 1 : 0); + } } - internal static global::CppSharp.Parser.AST.TemplateArgument __CreateInstance(global::CppSharp.Parser.AST.TemplateArgument.__Internal native, bool skipVTables = false) + public bool IsConst { - return new global::CppSharp.Parser.AST.TemplateArgument(native, skipVTables); - } + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isConst != 0; + } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateArgument.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); - *(global::CppSharp.Parser.AST.TemplateArgument.__Internal*) ret = native; - return ret.ToPointer(); + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isConst = (byte) (value ? 1 : 0); + } } - private TemplateArgument(global::CppSharp.Parser.AST.TemplateArgument.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) + public bool IsExplicit { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isExplicit != 0; + } - protected TemplateArgument(void* native, bool skipVTables = false) - { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isExplicit = (byte) (value ? 1 : 0); + } } - public TemplateArgument() + public global::CppSharp.Parser.AST.CXXMethodKind MethodKind { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->methodKind; + } - public TemplateArgument(global::CppSharp.Parser.AST.TemplateArgument _0) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) _0.__Instance); + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->methodKind = value; + } } - public void Dispose() + public bool IsDefaultConstructor { - Dispose(disposing: true); - } + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isDefaultConstructor != 0; + } - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.TemplateArgument __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isDefaultConstructor = (byte) (value ? 1 : 0); + } } - public global::CppSharp.Parser.AST.TemplateArgument.ArgumentKind Kind + public bool IsCopyConstructor { get { - return ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->kind; + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isCopyConstructor != 0; } set { - ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->kind = value; + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isCopyConstructor = (byte) (value ? 1 : 0); } } - public global::CppSharp.Parser.AST.QualifiedType Type + public bool IsMoveConstructor { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->type)); + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isMoveConstructor != 0; } set { - ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isMoveConstructor = (byte) (value ? 1 : 0); } } - public global::CppSharp.Parser.AST.Declaration Declaration + public global::CppSharp.Parser.AST.QualifiedType ConversionType { get { - global::CppSharp.Parser.AST.Declaration __result0; - if (((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration); - return __result0; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->conversionType)); } set { - ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->conversionType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public long Integral + public global::CppSharp.Parser.AST.RefQualifierKind RefQualifier { get { - return ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->integral; + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->refQualifier; } set { - ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->integral = value; + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->refQualifier = value; + } + } + + public uint OverriddenMethodsCount + { + get + { + var __ret = __Internal.GetOverriddenMethodsCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class AccessSpecifierDecl : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class Enumeration : global::CppSharp.Parser.AST.DeclarationContext, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 152)] + [StructLayout(LayoutKind.Explicit, Size = 464)] public new partial struct __Internal { [FieldOffset(0)] @@ -7627,1632 +8130,309 @@ namespace CppSharp [FieldOffset(144)] internal global::System.IntPtr comment; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19AccessSpecifierDeclC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); + [FieldOffset(152)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19AccessSpecifierDeclC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + [FieldOffset(176)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19AccessSpecifierDeclD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); - } + [FieldOffset(200)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; - internal static new global::CppSharp.Parser.AST.AccessSpecifierDecl __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.AccessSpecifierDecl(native.ToPointer(), skipVTables); - } + [FieldOffset(224)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; - internal static global::CppSharp.Parser.AST.AccessSpecifierDecl __CreateInstance(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.AccessSpecifierDecl(native, skipVTables); - } + [FieldOffset(248)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; - private static void* __CopyValue(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); - global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + [FieldOffset(272)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; - private AccessSpecifierDecl(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected AccessSpecifierDecl(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public AccessSpecifierDecl() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } - - public AccessSpecifierDecl(global::CppSharp.Parser.AST.AccessSpecifierDecl _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } - - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - } - - public unsafe partial class ClassLayout : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 136)] - public partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CppAbi ABI; - - [FieldOffset(8)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_VFTableInfo___N_std_S_allocator__S0_ VFTables; + [FieldOffset(296)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; - [FieldOffset(32)] - internal global::CppSharp.Parser.AST.VTableLayout.__Internal layout; + [FieldOffset(320)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; - [FieldOffset(56)] - internal byte hasOwnVFPtr; + [FieldOffset(344)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; - [FieldOffset(64)] - internal long VBPtrOffset; + [FieldOffset(368)] + internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; - [FieldOffset(72)] - internal int alignment; + [FieldOffset(416)] + internal byte isAnonymous; - [FieldOffset(76)] - internal int size; + [FieldOffset(420)] + internal global::CppSharp.Parser.AST.Enumeration.EnumModifiers modifiers; - [FieldOffset(80)] - internal int dataSize; + [FieldOffset(424)] + internal global::System.IntPtr type; - [FieldOffset(88)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_LayoutField___N_std_S_allocator__S0_ Fields; + [FieldOffset(432)] + internal global::System.IntPtr builtinType; - [FieldOffset(112)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_LayoutBase___N_std_S_allocator__S0_ Bases; + [FieldOffset(440)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration_S_Item___N_std_S_allocator__S0_ Items; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayoutC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11EnumerationC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayoutC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST11EnumerationC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayoutD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11EnumerationD2Ev")] internal static extern void dtor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout11getVFTablesEj")] - internal static extern void GetVFTables(global::System.IntPtr @return, global::System.IntPtr instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration8getItemsEj")] + internal static extern global::System.IntPtr GetItems(global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout11addVFTablesERNS1_11VFTableInfoE")] - internal static extern void AddVFTables(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration8addItemsERPNS2_4ItemE")] + internal static extern void AddItems(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout13clearVFTablesEv")] - internal static extern void ClearVFTables(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration10clearItemsEv")] + internal static extern void ClearItems(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout9getFieldsEj")] - internal static extern void GetFields(global::System.IntPtr @return, global::System.IntPtr instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration14FindItemByNameERKSs")] + internal static extern global::System.IntPtr FindItemByName(global::System.IntPtr instance, global::System.IntPtr Name); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout9addFieldsERNS1_11LayoutFieldE")] - internal static extern void AddFields(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration13getItemsCountEv")] + internal static extern uint GetItemsCount(global::System.IntPtr instance); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout11clearFieldsEv")] - internal static extern void ClearFields(global::System.IntPtr instance); + [Flags] + public enum EnumModifiers + { + Anonymous = 1, + Scoped = 2, + Flags = 4 + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout8getBasesEj")] - internal static extern void GetBases(global::System.IntPtr @return, global::System.IntPtr instance, uint i); + public unsafe partial class Item : global::CppSharp.Parser.AST.Declaration, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 168)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout8addBasesERNS1_10LayoutBaseE")] - internal static extern void AddBases(global::System.IntPtr instance, global::System.IntPtr s); + [FieldOffset(4)] + internal int maxFieldAlignment; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout10clearBasesEv")] - internal static extern void ClearBases(global::System.IntPtr instance); + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout16getVFTablesCountEv")] - internal static extern uint GetVFTablesCount(global::System.IntPtr instance); + [FieldOffset(16)] + internal global::System.IntPtr _namespace; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout14getFieldsCountEv")] - internal static extern uint GetFieldsCount(global::System.IntPtr instance); + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout13getBasesCountEv")] - internal static extern uint GetBasesCount(global::System.IntPtr instance); - } + [FieldOffset(28)] + internal int lineNumberStart; - public global::System.IntPtr __Instance { get; protected set; } + [FieldOffset(32)] + internal int lineNumberEnd; - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - protected bool __ownsNativeInstance; + [FieldOffset(48)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - internal static global::CppSharp.Parser.AST.ClassLayout __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.ClassLayout(native.ToPointer(), skipVTables); - } + [FieldOffset(56)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - internal static global::CppSharp.Parser.AST.ClassLayout __CreateInstance(global::CppSharp.Parser.AST.ClassLayout.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.ClassLayout(native, skipVTables); - } + [FieldOffset(64)] + internal byte isIncomplete; - private static void* __CopyValue(global::CppSharp.Parser.AST.ClassLayout.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); - global::CppSharp.Parser.AST.ClassLayout.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + [FieldOffset(65)] + internal byte isDependent; - private ClassLayout(global::CppSharp.Parser.AST.ClassLayout.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + [FieldOffset(66)] + internal byte isImplicit; - protected ClassLayout(void* native, bool skipVTables = false) - { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [FieldOffset(67)] + internal byte isInvalid; - public ClassLayout() - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } + [FieldOffset(72)] + internal global::System.IntPtr completeDeclaration; - public ClassLayout(global::CppSharp.Parser.AST.ClassLayout _0) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(80)] + internal uint definitionOrder; - public void Dispose() - { - Dispose(disposing: true); - } + [FieldOffset(88)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.ClassLayout __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - - public global::CppSharp.Parser.AST.VFTableInfo GetVFTables(uint i) - { - var __ret = new global::CppSharp.Parser.AST.VFTableInfo.__Internal(); - __Internal.GetVFTables(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.VFTableInfo.__CreateInstance(__ret); - } - - public void AddVFTables(global::CppSharp.Parser.AST.VFTableInfo s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddVFTables((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearVFTables() - { - __Internal.ClearVFTables((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.LayoutField GetFields(uint i) - { - var __ret = new global::CppSharp.Parser.AST.LayoutField.__Internal(); - __Internal.GetFields(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.LayoutField.__CreateInstance(__ret); - } - - public void AddFields(global::CppSharp.Parser.AST.LayoutField s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddFields((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearFields() - { - __Internal.ClearFields((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.LayoutBase GetBases(uint i) - { - var __ret = new global::CppSharp.Parser.AST.LayoutBase.__Internal(); - __Internal.GetBases(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.LayoutBase.__CreateInstance(__ret); - } - - public void AddBases(global::CppSharp.Parser.AST.LayoutBase s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddBases((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearBases() - { - __Internal.ClearBases((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.CppAbi ABI - { - get - { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->ABI; - } - - set - { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->ABI = value; - } - } - - public global::CppSharp.Parser.AST.VTableLayout Layout - { - get - { - return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->layout)); - } + [FieldOffset(112)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - set - { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->layout = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.VTableLayout.__Internal() : *(global::CppSharp.Parser.AST.VTableLayout.__Internal*) value.__Instance; - } - } + [FieldOffset(136)] + internal global::System.IntPtr originalPtr; - public bool HasOwnVFPtr - { - get - { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->hasOwnVFPtr != 0; - } + [FieldOffset(144)] + internal global::System.IntPtr comment; - set - { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->hasOwnVFPtr = (byte) (value ? 1 : 0); - } - } + [FieldOffset(152)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C expression; - public long VBPtrOffset - { - get - { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->VBPtrOffset; - } + [FieldOffset(160)] + internal ulong value; - set - { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->VBPtrOffset = value; - } - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4ItemC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); - public int Alignment - { - get - { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->alignment; - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4ItemC2ERKS3_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - set - { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->alignment = value; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4ItemD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); } - } - public int Size - { - get + internal static new global::CppSharp.Parser.AST.Enumeration.Item __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->size; + return new global::CppSharp.Parser.AST.Enumeration.Item(native.ToPointer(), skipVTables); } - set + internal static global::CppSharp.Parser.AST.Enumeration.Item __CreateInstance(global::CppSharp.Parser.AST.Enumeration.Item.__Internal native, bool skipVTables = false) { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->size = value; + return new global::CppSharp.Parser.AST.Enumeration.Item(native, skipVTables); } - } - public int DataSize - { - get + private static void* __CopyValue(global::CppSharp.Parser.AST.Enumeration.Item.__Internal native) { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->dataSize; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); + global::CppSharp.Parser.AST.Enumeration.Item.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); } - set + private Item(global::CppSharp.Parser.AST.Enumeration.Item.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->dataSize = value; + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; } - } - public uint VFTablesCount - { - get + protected Item(void* native, bool skipVTables = false) + : base((void*) null) { - var __ret = __Internal.GetVFTablesCount((__Instance + __PointerAdjustment)); - return __ret; + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - } - public uint FieldsCount - { - get + public Item() + : this((void*) null) { - var __ret = __Internal.GetFieldsCount((__Instance + __PointerAdjustment)); - return __ret; + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); } - } - public uint BasesCount - { - get + public Item(global::CppSharp.Parser.AST.Enumeration.Item _0) + : this((void*) null) { - var __ret = __Internal.GetBasesCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - } - - public unsafe partial class VFTableInfo : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 40)] - public partial struct __Internal - { - [FieldOffset(0)] - internal ulong VBTableIndex; - - [FieldOffset(8)] - internal uint VFPtrOffset; - - [FieldOffset(12)] - internal uint VFPtrFullOffset; - - [FieldOffset(16)] - internal global::CppSharp.Parser.AST.VTableLayout.__Internal layout; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VFTableInfoC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VFTableInfoC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VFTableInfoD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); - } - - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.VFTableInfo __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.VFTableInfo(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.VFTableInfo __CreateInstance(global::CppSharp.Parser.AST.VFTableInfo.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.VFTableInfo(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.VFTableInfo.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); - global::CppSharp.Parser.AST.VFTableInfo.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private VFTableInfo(global::CppSharp.Parser.AST.VFTableInfo.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected VFTableInfo(void* native, bool skipVTables = false) - { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public VFTableInfo() - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } - - public VFTableInfo(global::CppSharp.Parser.AST.VFTableInfo _0) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } - - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.VFTableInfo __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - - public ulong VBTableIndex - { - get - { - return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VBTableIndex; - } - - set - { - ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->VBTableIndex = value; - } - } - - public uint VFPtrOffset - { - get - { - return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VFPtrOffset; - } - - set - { - ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->VFPtrOffset = value; - } - } - - public uint VFPtrFullOffset - { - get - { - return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VFPtrFullOffset; - } - - set - { - ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->VFPtrFullOffset = value; - } - } - - public global::CppSharp.Parser.AST.VTableLayout Layout - { - get - { - return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->layout)); - } - - set - { - ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->layout = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.VTableLayout.__Internal() : *(global::CppSharp.Parser.AST.VTableLayout.__Internal*) value.__Instance; - } - } - } - - public unsafe partial class VTableLayout : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 24)] - public partial struct __Internal - { - [FieldOffset(0)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_VTableComponent___N_std_S_allocator__S0_ Components; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayoutC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayoutC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayoutD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayout13getComponentsEj")] - internal static extern global::CppSharp.Parser.AST.VTableComponent.__Internal GetComponents(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayout13addComponentsERNS1_15VTableComponentE")] - internal static extern void AddComponents(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayout15clearComponentsEv")] - internal static extern void ClearComponents(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayout18getComponentsCountEv")] - internal static extern uint GetComponentsCount(global::System.IntPtr instance); - } - - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.VTableLayout __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.VTableLayout(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.VTableLayout __CreateInstance(global::CppSharp.Parser.AST.VTableLayout.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.VTableLayout(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.VTableLayout.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); - global::CppSharp.Parser.AST.VTableLayout.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private VTableLayout(global::CppSharp.Parser.AST.VTableLayout.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected VTableLayout(void* native, bool skipVTables = false) - { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public VTableLayout() - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } - - public VTableLayout(global::CppSharp.Parser.AST.VTableLayout _0) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } - - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.VTableLayout __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - - public global::CppSharp.Parser.AST.VTableComponent GetComponents(uint i) - { - var __ret = __Internal.GetComponents((__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.VTableComponent.__CreateInstance(__ret); - } - - public void AddComponents(global::CppSharp.Parser.AST.VTableComponent s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddComponents((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearComponents() - { - __Internal.ClearComponents((__Instance + __PointerAdjustment)); - } - - public uint ComponentsCount - { - get - { - var __ret = __Internal.GetComponentsCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - } - - public unsafe partial class VTableComponent : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 16)] - public partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.VTableComponentKind kind; - - [FieldOffset(4)] - internal uint offset; - - [FieldOffset(8)] - internal global::System.IntPtr declaration; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15VTableComponentC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15VTableComponentC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - } - - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.VTableComponent __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.VTableComponent(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.VTableComponent __CreateInstance(global::CppSharp.Parser.AST.VTableComponent.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.VTableComponent(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.VTableComponent.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); - *(global::CppSharp.Parser.AST.VTableComponent.__Internal*) ret = native; - return ret.ToPointer(); - } - - private VTableComponent(global::CppSharp.Parser.AST.VTableComponent.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected VTableComponent(void* native, bool skipVTables = false) - { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public VTableComponent() - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } - - public VTableComponent(global::CppSharp.Parser.AST.VTableComponent _0) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.VTableComponent.__Internal*) _0.__Instance); - } - - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.VTableComponent __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - - public global::CppSharp.Parser.AST.VTableComponentKind Kind - { - get - { - return ((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->kind; - } - - set - { - ((global::CppSharp.Parser.AST.VTableComponent.__Internal*)__Instance)->kind = value; - } - } - - public uint Offset - { - get - { - return ((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->offset; - } - - set - { - ((global::CppSharp.Parser.AST.VTableComponent.__Internal*)__Instance)->offset = value; - } - } - - public global::CppSharp.Parser.AST.Declaration Declaration - { - get - { - global::CppSharp.Parser.AST.Declaration __result0; - if (((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.VTableComponent.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } - } - - public unsafe partial class LayoutField : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 40)] - public partial struct __Internal - { - [FieldOffset(0)] - internal uint offset; - - [FieldOffset(8)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - - [FieldOffset(16)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - - [FieldOffset(32)] - internal global::System.IntPtr fieldPtr; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutFieldC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutFieldC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr other); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutFieldD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); - } - - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.LayoutField __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.LayoutField(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.LayoutField __CreateInstance(global::CppSharp.Parser.AST.LayoutField.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.LayoutField(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.LayoutField.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); - global::CppSharp.Parser.AST.LayoutField.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private LayoutField(global::CppSharp.Parser.AST.LayoutField.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected LayoutField(void* native, bool skipVTables = false) - { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public LayoutField() - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } - - public LayoutField(global::CppSharp.Parser.AST.LayoutField other) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(other, null)) - throw new global::System.ArgumentNullException("other", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = other.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } - - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.LayoutField __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - - public uint Offset - { - get - { - return ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->offset; - } - - set - { - ((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->offset = value; - } - } - - public string Name - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->name)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->name), value); - } - } - - public global::CppSharp.Parser.AST.QualifiedType QualifiedType - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->qualifiedType)); - } - - set - { - ((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } - } - - public global::System.IntPtr FieldPtr - { - get - { - return ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->fieldPtr; - } - - set - { - ((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->fieldPtr = (global::System.IntPtr) value; - } - } - } - - public unsafe partial class LayoutBase : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 16)] - public partial struct __Internal - { - [FieldOffset(0)] - internal uint offset; - - [FieldOffset(8)] - internal global::System.IntPtr _class; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10LayoutBaseC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10LayoutBaseC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr other); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10LayoutBaseD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); - } - - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.LayoutBase __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.LayoutBase(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.LayoutBase __CreateInstance(global::CppSharp.Parser.AST.LayoutBase.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.LayoutBase(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.LayoutBase.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); - global::CppSharp.Parser.AST.LayoutBase.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private LayoutBase(global::CppSharp.Parser.AST.LayoutBase.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected LayoutBase(void* native, bool skipVTables = false) - { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public LayoutBase() - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } - - public LayoutBase(global::CppSharp.Parser.AST.LayoutBase other) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(other, null)) - throw new global::System.ArgumentNullException("other", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = other.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } - - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.LayoutBase __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - - public uint Offset - { - get - { - return ((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->offset; - } - - set - { - ((global::CppSharp.Parser.AST.LayoutBase.__Internal*)__Instance)->offset = value; - } - } - - public global::CppSharp.Parser.AST.Class Class - { - get - { - global::CppSharp.Parser.AST.Class __result0; - if (((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class)) - __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class]; - else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.LayoutBase.__Internal*)__Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } - } - - public unsafe partial class BuiltinType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 12)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - internal byte isDependent; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.PrimitiveType type; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11BuiltinTypeC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11BuiltinTypeC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - } - - internal static new global::CppSharp.Parser.AST.BuiltinType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.BuiltinType(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.BuiltinType __CreateInstance(global::CppSharp.Parser.AST.BuiltinType.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.BuiltinType(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.BuiltinType.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); - global::CppSharp.Parser.AST.BuiltinType.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private BuiltinType(global::CppSharp.Parser.AST.BuiltinType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected BuiltinType(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public BuiltinType() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } - - public BuiltinType(global::CppSharp.Parser.AST.BuiltinType _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } - - public global::CppSharp.Parser.AST.PrimitiveType Type - { - get - { - return ((global::CppSharp.Parser.AST.BuiltinType.__Internal*) __Instance)->type; - } - - set - { - ((global::CppSharp.Parser.AST.BuiltinType.__Internal*)__Instance)->type = value; - } - } - } - - public unsafe partial class TagType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 16)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - internal byte isDependent; - - [FieldOffset(8)] - internal global::System.IntPtr declaration; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST7TagTypeC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST7TagTypeC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - } - - internal static new global::CppSharp.Parser.AST.TagType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.TagType(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.TagType __CreateInstance(global::CppSharp.Parser.AST.TagType.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.TagType(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.TagType.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); - global::CppSharp.Parser.AST.TagType.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private TagType(global::CppSharp.Parser.AST.TagType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected TagType(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public TagType() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } - - public TagType(global::CppSharp.Parser.AST.TagType _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } - - public global::CppSharp.Parser.AST.Declaration Declaration - { - get - { - global::CppSharp.Parser.AST.Declaration __result0; - if (((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.TagType.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } - } - - public unsafe partial class ArrayType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 48)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - internal byte isDependent; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - - [FieldOffset(24)] - internal global::CppSharp.Parser.AST.ArrayType.ArraySize sizeType; - - [FieldOffset(32)] - internal long size; - - [FieldOffset(40)] - internal long elementSize; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9ArrayTypeC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9ArrayTypeC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - } - - public enum ArraySize - { - Constant = 0, - Variable = 1, - Dependent = 2, - Incomplete = 3 - } - - internal static new global::CppSharp.Parser.AST.ArrayType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.ArrayType(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.ArrayType __CreateInstance(global::CppSharp.Parser.AST.ArrayType.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.ArrayType(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.ArrayType.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); - global::CppSharp.Parser.AST.ArrayType.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private ArrayType(global::CppSharp.Parser.AST.ArrayType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected ArrayType(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public ArrayType() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } - - public ArrayType(global::CppSharp.Parser.AST.ArrayType _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } - - public global::CppSharp.Parser.AST.QualifiedType QualifiedType - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->qualifiedType)); - } - - set - { - ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } - } - - public global::CppSharp.Parser.AST.ArrayType.ArraySize SizeType - { - get - { - return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->sizeType; - } - - set - { - ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->sizeType = value; - } - } - - public long Size - { - get - { - return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->size; + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - set + public override void Dispose(bool disposing) { - ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->size = value; + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; } - } - public long ElementSize - { - get + public string Expression { - return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->elementSize; - } + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*) __Instance)->expression)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } - set - { - ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->elementSize = value; + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*)__Instance)->expression), value); + } } - } - } - - public unsafe partial class FunctionType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 56)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - internal byte isDependent; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; - - [FieldOffset(24)] - internal global::CppSharp.Parser.AST.CallingConvention callingConvention; - - [FieldOffset(28)] - internal global::CppSharp.Parser.AST.ExceptionSpecType exceptionSpecType; - - [FieldOffset(32)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_S_allocator__S0_ Parameters; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionTypeC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionTypeC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionTypeD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionType13getParametersEj")] - internal static extern global::System.IntPtr GetParameters(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionType13addParametersERPNS1_9ParameterE")] - internal static extern void AddParameters(global::System.IntPtr instance, global::System.IntPtr s); - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionType15clearParametersEv")] - internal static extern void ClearParameters(global::System.IntPtr instance); + public ulong Value + { + get + { + return ((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*) __Instance)->value; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionType18getParametersCountEv")] - internal static extern uint GetParametersCount(global::System.IntPtr instance); + set + { + ((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*)__Instance)->value = value; + } + } } - internal static new global::CppSharp.Parser.AST.FunctionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Enumeration __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.FunctionType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Enumeration(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.FunctionType __CreateInstance(global::CppSharp.Parser.AST.FunctionType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Enumeration __CreateInstance(global::CppSharp.Parser.AST.Enumeration.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.FunctionType(native, skipVTables); + return new global::CppSharp.Parser.AST.Enumeration(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Enumeration.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); - global::CppSharp.Parser.AST.FunctionType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); + global::CppSharp.Parser.AST.Enumeration.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private FunctionType(global::CppSharp.Parser.AST.FunctionType.__Internal native, bool skipVTables = false) + private Enumeration(global::CppSharp.Parser.AST.Enumeration.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected FunctionType(void* native, bool skipVTables = false) + protected Enumeration(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -9261,19 +8441,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public FunctionType() + public Enumeration() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public FunctionType(global::CppSharp.Parser.AST.FunctionType _0) + public Enumeration(global::CppSharp.Parser.AST.Enumeration _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -9286,7 +8466,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Type __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -9295,140 +8475,216 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.Parameter GetParameters(uint i) + public global::CppSharp.Parser.AST.Enumeration.Item GetItems(uint i) { - var __ret = __Internal.GetParameters((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Parameter __result0; + var __ret = __Internal.GetItems((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Enumeration.Item __result0; if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Parameter.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Parameter) global::CppSharp.Parser.AST.Parameter.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Parameter.__CreateInstance(__ret); + else if (global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Enumeration.Item) global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Enumeration.Item.__CreateInstance(__ret); return __result0; } - public void AddParameters(global::CppSharp.Parser.AST.Parameter s) + public void AddItems(global::CppSharp.Parser.AST.Enumeration.Item s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddParameters((__Instance + __PointerAdjustment), __arg0); + __Internal.AddItems((__Instance + __PointerAdjustment), __arg0); } - public void ClearParameters() + public void ClearItems() { - __Internal.ClearParameters((__Instance + __PointerAdjustment)); + __Internal.ClearItems((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.QualifiedType ReturnType + public global::CppSharp.Parser.AST.Enumeration.Item FindItemByName(string Name) + { + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, Name); + var __arg0 = __basicString0.__Instance; + var __ret = __Internal.FindItemByName((__Instance + __PointerAdjustment), __arg0); + __basicString0.Dispose(false); + global::CppSharp.Parser.AST.Enumeration.Item __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Enumeration.Item) global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Enumeration.Item.__CreateInstance(__ret); + return __result0; + } + + public global::CppSharp.Parser.AST.Enumeration.EnumModifiers Modifiers { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->returnType)); + return ((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->modifiers; } set { - ((global::CppSharp.Parser.AST.FunctionType.__Internal*)__Instance)->returnType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.Enumeration.__Internal*)__Instance)->modifiers = value; } } - public global::CppSharp.Parser.AST.CallingConvention CallingConvention + public global::CppSharp.Parser.AST.Type Type { get { - return ((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->callingConvention; + global::CppSharp.Parser.AST.Type __result0; + if (((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type)) + __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type]; + else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type); + return __result0; } set { - ((global::CppSharp.Parser.AST.FunctionType.__Internal*)__Instance)->callingConvention = value; + ((global::CppSharp.Parser.AST.Enumeration.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public global::CppSharp.Parser.AST.ExceptionSpecType ExceptionSpecType + public global::CppSharp.Parser.AST.BuiltinType BuiltinType { get { - return ((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->exceptionSpecType; + global::CppSharp.Parser.AST.BuiltinType __result0; + if (((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.BuiltinType.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType)) + __result0 = (global::CppSharp.Parser.AST.BuiltinType) global::CppSharp.Parser.AST.BuiltinType.NativeToManagedMap[((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType]; + else __result0 = global::CppSharp.Parser.AST.BuiltinType.__CreateInstance(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType); + return __result0; } set { - ((global::CppSharp.Parser.AST.FunctionType.__Internal*)__Instance)->exceptionSpecType = value; + ((global::CppSharp.Parser.AST.Enumeration.__Internal*)__Instance)->builtinType = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public uint ParametersCount + public uint ItemsCount { get { - var __ret = __Internal.GetParametersCount((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetItemsCount((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class PointerType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class Variable : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 176)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] + internal int maxFieldAlignment; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal global::System.IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(48)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(64)] + internal byte isIncomplete; + + [FieldOffset(65)] internal byte isDependent; - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedPointee; + [FieldOffset(66)] + internal byte isImplicit; + + [FieldOffset(67)] + internal byte isInvalid; + + [FieldOffset(72)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(80)] + internal uint definitionOrder; + + [FieldOffset(88)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(112)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(136)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(144)] + internal global::System.IntPtr comment; + + [FieldOffset(152)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C mangled; - [FieldOffset(24)] - internal global::CppSharp.Parser.AST.PointerType.TypeModifier modifier; + [FieldOffset(160)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11PointerTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST8VariableC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11PointerTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST8VariableC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - } - public enum TypeModifier - { - Value = 0, - Pointer = 1, - LVReference = 2, - RVReference = 3 + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8VariableD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.PointerType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Variable __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.PointerType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Variable(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.PointerType __CreateInstance(global::CppSharp.Parser.AST.PointerType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Variable __CreateInstance(global::CppSharp.Parser.AST.Variable.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.PointerType(native, skipVTables); + return new global::CppSharp.Parser.AST.Variable(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.PointerType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Variable.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); - global::CppSharp.Parser.AST.PointerType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); + global::CppSharp.Parser.AST.Variable.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private PointerType(global::CppSharp.Parser.AST.PointerType.__Internal native, bool skipVTables = false) + private Variable(global::CppSharp.Parser.AST.Variable.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected PointerType(void* native, bool skipVTables = false) + protected Variable(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -9437,19 +8693,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public PointerType() + public Variable() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public PointerType(global::CppSharp.Parser.AST.PointerType _0) + public Variable(global::CppSharp.Parser.AST.Variable _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -9458,277 +8714,324 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType QualifiedPointee + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public string Mangled { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.PointerType.__Internal*) __Instance)->qualifiedPointee)); + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Variable.__Internal*) __Instance)->mangled)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.PointerType.__Internal*)__Instance)->qualifiedPointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Variable.__Internal*)__Instance)->mangled), value); } } - public global::CppSharp.Parser.AST.PointerType.TypeModifier Modifier + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { get { - return ((global::CppSharp.Parser.AST.PointerType.__Internal*) __Instance)->modifier; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Variable.__Internal*) __Instance)->qualifiedType)); } set { - ((global::CppSharp.Parser.AST.PointerType.__Internal*)__Instance)->modifier = value; + ((global::CppSharp.Parser.AST.Variable.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } } - public unsafe partial class MemberPointerType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class BaseClassSpecifier : IDisposable { [StructLayout(LayoutKind.Explicit, Size = 24)] - public new partial struct __Internal + public partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(4)] - internal byte isDependent; + internal byte isVirtual; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal pointee; + internal global::System.IntPtr type; + + [FieldOffset(16)] + internal int offset; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17MemberPointerTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST18BaseClassSpecifierC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17MemberPointerTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST18BaseClassSpecifierC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); } - internal static new global::CppSharp.Parser.AST.MemberPointerType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.BaseClassSpecifier __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.MemberPointerType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.BaseClassSpecifier(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.MemberPointerType __CreateInstance(global::CppSharp.Parser.AST.MemberPointerType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.BaseClassSpecifier __CreateInstance(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.MemberPointerType(native, skipVTables); + return new global::CppSharp.Parser.AST.BaseClassSpecifier(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.MemberPointerType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); - global::CppSharp.Parser.AST.MemberPointerType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); + *(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) ret = native; return ret.ToPointer(); } - private MemberPointerType(global::CppSharp.Parser.AST.MemberPointerType.__Internal native, bool skipVTables = false) + private BaseClassSpecifier(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected MemberPointerType(void* native, bool skipVTables = false) - : base((void*) null) + protected BaseClassSpecifier(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public MemberPointerType() - : this((void*) null) + public BaseClassSpecifier() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public MemberPointerType(global::CppSharp.Parser.AST.MemberPointerType _0) - : this((void*) null) + public BaseClassSpecifier(global::CppSharp.Parser.AST.BaseClassSpecifier _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } - - public global::CppSharp.Parser.AST.QualifiedType Pointee - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MemberPointerType.__Internal*) __Instance)->pointee)); - } - - set - { - ((global::CppSharp.Parser.AST.MemberPointerType.__Internal*)__Instance)->pointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } + *((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) _0.__Instance); } - } - public unsafe partial class TypedefType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 16)] - public new partial struct __Internal + public void Dispose() { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - internal byte isDependent; - - [FieldOffset(8)] - internal global::System.IntPtr declaration; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefTypeC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefTypeC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + Dispose(disposing: true); } - internal static new global::CppSharp.Parser.AST.TypedefType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public virtual void Dispose(bool disposing) { - return new global::CppSharp.Parser.AST.TypedefType(native.ToPointer(), skipVTables); + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.BaseClassSpecifier __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; } - internal static global::CppSharp.Parser.AST.TypedefType __CreateInstance(global::CppSharp.Parser.AST.TypedefType.__Internal native, bool skipVTables = false) + public global::CppSharp.Parser.AST.AccessSpecifier Access { - return new global::CppSharp.Parser.AST.TypedefType(native, skipVTables); - } + get + { + return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->access; + } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefType.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); - global::CppSharp.Parser.AST.TypedefType.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); + set + { + ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->access = value; + } } - private TypedefType(global::CppSharp.Parser.AST.TypedefType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) + public bool IsVirtual { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + get + { + return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->isVirtual != 0; + } - protected TypedefType(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); + set + { + ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->isVirtual = (byte) (value ? 1 : 0); + } } - public TypedefType() - : this((void*) null) + public global::CppSharp.Parser.AST.Type Type { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } + get + { + global::CppSharp.Parser.AST.Type __result0; + if (((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type)) + __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type]; + else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type); + return __result0; + } - public TypedefType(global::CppSharp.Parser.AST.TypedefType _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + set + { + ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } } - public global::CppSharp.Parser.AST.TypedefNameDecl Declaration + public int Offset { get { - global::CppSharp.Parser.AST.TypedefNameDecl __result0; - if (((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TypedefNameDecl.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration)) - __result0 = (global::CppSharp.Parser.AST.TypedefNameDecl) global::CppSharp.Parser.AST.TypedefNameDecl.NativeToManagedMap[((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration]; - else __result0 = global::CppSharp.Parser.AST.TypedefNameDecl.__CreateInstance(((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration); - return __result0; + return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->offset; } set { - ((global::CppSharp.Parser.AST.TypedefType.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->offset = value; } } } - public unsafe partial class AttributedType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class Field : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 184)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal byte isDependent; + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal modified; + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal global::System.IntPtr _namespace; [FieldOffset(24)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal equivalent; + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(48)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(64)] + internal byte isIncomplete; + + [FieldOffset(65)] + internal byte isDependent; + + [FieldOffset(66)] + internal byte isImplicit; + + [FieldOffset(67)] + internal byte isInvalid; + + [FieldOffset(72)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(80)] + internal uint definitionOrder; + + [FieldOffset(88)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(112)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(136)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(144)] + internal global::System.IntPtr comment; + + [FieldOffset(152)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(168)] + internal global::System.IntPtr _class; + + [FieldOffset(176)] + internal byte isBitField; + + [FieldOffset(180)] + internal uint bitWidth; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14AttributedTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST5FieldC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14AttributedTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST5FieldC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5FieldD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.AttributedType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Field __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.AttributedType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Field(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.AttributedType __CreateInstance(global::CppSharp.Parser.AST.AttributedType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Field __CreateInstance(global::CppSharp.Parser.AST.Field.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.AttributedType(native, skipVTables); + return new global::CppSharp.Parser.AST.Field(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.AttributedType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Field.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); - global::CppSharp.Parser.AST.AttributedType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); + global::CppSharp.Parser.AST.Field.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private AttributedType(global::CppSharp.Parser.AST.AttributedType.__Internal native, bool skipVTables = false) + private Field(global::CppSharp.Parser.AST.Field.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected AttributedType(void* native, bool skipVTables = false) + protected Field(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -9737,19 +9040,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public AttributedType() + public Field() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public AttributedType(global::CppSharp.Parser.AST.AttributedType _0) + public Field(global::CppSharp.Parser.AST.Field _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -9758,89 +9061,183 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType Modified + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.AttributedType.__Internal*) __Instance)->modified)); + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->qualifiedType)); } set { - ((global::CppSharp.Parser.AST.AttributedType.__Internal*)__Instance)->modified = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public global::CppSharp.Parser.AST.QualifiedType Equivalent + public global::CppSharp.Parser.AST.Class Class { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.AttributedType.__Internal*) __Instance)->equivalent)); + global::CppSharp.Parser.AST.Class __result0; + if (((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class)) + __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class]; + else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class); + return __result0; } set { - ((global::CppSharp.Parser.AST.AttributedType.__Internal*)__Instance)->equivalent = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool IsBitField + { + get + { + return ((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->isBitField != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->isBitField = (byte) (value ? 1 : 0); + } + } + + public uint BitWidth + { + get + { + return ((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->bitWidth; + } + + set + { + ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->bitWidth = value; } } } - public unsafe partial class DecayedType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class AccessSpecifierDecl : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 56)] + [StructLayout(LayoutKind.Explicit, Size = 152)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal byte isDependent; + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal decayed; + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal global::System.IntPtr _namespace; [FieldOffset(24)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal original; + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; [FieldOffset(40)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal pointee; + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(48)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(64)] + internal byte isIncomplete; + + [FieldOffset(65)] + internal byte isDependent; + + [FieldOffset(66)] + internal byte isImplicit; + + [FieldOffset(67)] + internal byte isInvalid; + + [FieldOffset(72)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(80)] + internal uint definitionOrder; + + [FieldOffset(88)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(112)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(136)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(144)] + internal global::System.IntPtr comment; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11DecayedTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST19AccessSpecifierDeclC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11DecayedTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST19AccessSpecifierDeclC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19AccessSpecifierDeclD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.DecayedType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.AccessSpecifierDecl __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.DecayedType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.AccessSpecifierDecl(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.DecayedType __CreateInstance(global::CppSharp.Parser.AST.DecayedType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.AccessSpecifierDecl __CreateInstance(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.DecayedType(native, skipVTables); + return new global::CppSharp.Parser.AST.AccessSpecifierDecl(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.DecayedType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); - global::CppSharp.Parser.AST.DecayedType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); + global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private DecayedType(global::CppSharp.Parser.AST.DecayedType.__Internal native, bool skipVTables = false) + private AccessSpecifierDecl(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected DecayedType(void* native, bool skipVTables = false) + protected AccessSpecifierDecl(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -9849,19 +9246,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public DecayedType() + public AccessSpecifierDecl() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public DecayedType(global::CppSharp.Parser.AST.DecayedType _0) + public AccessSpecifierDecl(global::CppSharp.Parser.AST.AccessSpecifierDecl _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -9870,127 +9267,284 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType Decayed - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->decayed)); - } - - set - { - ((global::CppSharp.Parser.AST.DecayedType.__Internal*)__Instance)->decayed = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } - } - - public global::CppSharp.Parser.AST.QualifiedType Original - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->original)); - } - - set - { - ((global::CppSharp.Parser.AST.DecayedType.__Internal*)__Instance)->original = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } - } - - public global::CppSharp.Parser.AST.QualifiedType Pointee + public override void Dispose(bool disposing) { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->pointee)); - } - - set - { - ((global::CppSharp.Parser.AST.DecayedType.__Internal*)__Instance)->pointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; } } - public unsafe partial class TemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class Class : global::CppSharp.Parser.AST.DeclarationContext, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 56)] + [StructLayout(LayoutKind.Explicit, Size = 544)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal byte isDependent; + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal global::System.IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; [FieldOffset(32)] - internal global::System.IntPtr _template; + internal int lineNumberEnd; [FieldOffset(40)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(48)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(64)] + internal byte isIncomplete; + + [FieldOffset(65)] + internal byte isDependent; + + [FieldOffset(66)] + internal byte isImplicit; + + [FieldOffset(67)] + internal byte isInvalid; + + [FieldOffset(72)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(80)] + internal uint definitionOrder; + + [FieldOffset(88)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(112)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(136)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(144)] + internal global::System.IntPtr comment; + + [FieldOffset(152)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; + + [FieldOffset(176)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; + + [FieldOffset(200)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; + + [FieldOffset(224)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; + + [FieldOffset(248)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; + + [FieldOffset(272)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; + + [FieldOffset(296)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; + + [FieldOffset(320)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; + + [FieldOffset(344)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; + + [FieldOffset(368)] + internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + + [FieldOffset(416)] + internal byte isAnonymous; + + [FieldOffset(424)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BaseClassSpecifier___N_std_S_allocator__S0_ Bases; + + [FieldOffset(448)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Field___N_std_S_allocator__S0_ Fields; + + [FieldOffset(472)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_S_allocator__S0_ Methods; + + [FieldOffset(496)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_AccessSpecifierDecl___N_std_S_allocator__S0_ Specifiers; + + [FieldOffset(520)] + internal byte isPOD; + + [FieldOffset(521)] + internal byte isAbstract; + + [FieldOffset(522)] + internal byte isUnion; + + [FieldOffset(523)] + internal byte isDynamic; + + [FieldOffset(524)] + internal byte isPolymorphic; + + [FieldOffset(525)] + internal byte hasNonTrivialDefaultConstructor; + + [FieldOffset(526)] + internal byte hasNonTrivialCopyConstructor; + + [FieldOffset(527)] + internal byte hasNonTrivialDestructor; + + [FieldOffset(528)] + internal byte isExternCContext; + + [FieldOffset(529)] + internal byte isInjected; + + [FieldOffset(536)] + internal global::System.IntPtr layout; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST5ClassC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST5ClassC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationTypeD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST5ClassD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class8getBasesEj")] + internal static extern global::System.IntPtr GetBases(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class8addBasesERPNS1_18BaseClassSpecifierE")] + internal static extern void AddBases(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class10clearBasesEv")] + internal static extern void ClearBases(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class9getFieldsEj")] + internal static extern global::System.IntPtr GetFields(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class9addFieldsERPNS1_5FieldE")] + internal static extern void AddFields(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class11clearFieldsEv")] + internal static extern void ClearFields(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class10getMethodsEj")] + internal static extern global::System.IntPtr GetMethods(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class10addMethodsERPNS1_6MethodE")] + internal static extern void AddMethods(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class12clearMethodsEv")] + internal static extern void ClearMethods(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class13getSpecifiersEj")] + internal static extern global::System.IntPtr GetSpecifiers(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class13addSpecifiersERPNS1_19AccessSpecifierDeclE")] + internal static extern void AddSpecifiers(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class15clearSpecifiersEv")] + internal static extern void ClearSpecifiers(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType12getArgumentsEj")] - internal static extern void GetArguments(global::System.IntPtr @return, global::System.IntPtr instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST5Class13getBasesCountEv")] + internal static extern uint GetBasesCount(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType12addArgumentsERNS1_16TemplateArgumentE")] - internal static extern void AddArguments(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST5Class14getFieldsCountEv")] + internal static extern uint GetFieldsCount(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType14clearArgumentsEv")] - internal static extern void ClearArguments(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST5Class15getMethodsCountEv")] + internal static extern uint GetMethodsCount(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType17getArgumentsCountEv")] - internal static extern uint GetArgumentsCount(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST5Class18getSpecifiersCountEv")] + internal static extern uint GetSpecifiersCount(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.TemplateSpecializationType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Class __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateSpecializationType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Class(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TemplateSpecializationType __CreateInstance(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Class __CreateInstance(global::CppSharp.Parser.AST.Class.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateSpecializationType(native, skipVTables); + return new global::CppSharp.Parser.AST.Class(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Class.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); - global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); + global::CppSharp.Parser.AST.Class.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateSpecializationType(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native, bool skipVTables = false) + private Class(global::CppSharp.Parser.AST.Class.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TemplateSpecializationType(void* native, bool skipVTables = false) + protected Class(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -9999,19 +9553,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TemplateSpecializationType() + public Class() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TemplateSpecializationType(global::CppSharp.Parser.AST.TemplateSpecializationType _0) + public Class(global::CppSharp.Parser.AST.Class _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -10024,7 +9578,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Type __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -10033,407 +9587,290 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) + public global::CppSharp.Parser.AST.BaseClassSpecifier GetBases(uint i) { - var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); - __Internal.GetArguments(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); + var __ret = __Internal.GetBases((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.BaseClassSpecifier __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.BaseClassSpecifier.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.BaseClassSpecifier) global::CppSharp.Parser.AST.BaseClassSpecifier.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.BaseClassSpecifier.__CreateInstance(__ret); + return __result0; } - public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) + public void AddBases(global::CppSharp.Parser.AST.BaseClassSpecifier s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearArguments() - { - __Internal.ClearArguments((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.Template Template - { - get - { - global::CppSharp.Parser.AST.Template __result0; - if (((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Template.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template)) - __result0 = (global::CppSharp.Parser.AST.Template) global::CppSharp.Parser.AST.Template.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template]; - else __result0 = global::CppSharp.Parser.AST.Template.__CreateInstance(((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*)__Instance)->_template = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } - - public global::CppSharp.Parser.AST.QualifiedType Desugared - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->desugared)); - } - - set - { - ((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*)__Instance)->desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } - } - - public uint ArgumentsCount - { - get - { - var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - } - - public unsafe partial class DependentTemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 48)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - internal byte isDependent; - - [FieldOffset(8)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; - - [FieldOffset(32)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationTypeC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationTypeC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationTypeD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationType12getArgumentsEj")] - internal static extern void GetArguments(global::System.IntPtr @return, global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationType12addArgumentsERNS1_16TemplateArgumentE")] - internal static extern void AddArguments(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationType14clearArgumentsEv")] - internal static extern void ClearArguments(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationType17getArgumentsCountEv")] - internal static extern uint GetArgumentsCount(global::System.IntPtr instance); - } - - internal static new global::CppSharp.Parser.AST.DependentTemplateSpecializationType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.DependentTemplateSpecializationType(native.ToPointer(), skipVTables); + __Internal.AddBases((__Instance + __PointerAdjustment), __arg0); } - internal static global::CppSharp.Parser.AST.DependentTemplateSpecializationType __CreateInstance(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native, bool skipVTables = false) + public void ClearBases() { - return new global::CppSharp.Parser.AST.DependentTemplateSpecializationType(native, skipVTables); + __Internal.ClearBases((__Instance + __PointerAdjustment)); } - private static void* __CopyValue(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native) + public global::CppSharp.Parser.AST.Field GetFields(uint i) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); - global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); + var __ret = __Internal.GetFields((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Field __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Field.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Field) global::CppSharp.Parser.AST.Field.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Field.__CreateInstance(__ret); + return __result0; } - private DependentTemplateSpecializationType(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) + public void AddFields(global::CppSharp.Parser.AST.Field s) { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddFields((__Instance + __PointerAdjustment), __arg0); } - protected DependentTemplateSpecializationType(void* native, bool skipVTables = false) - : base((void*) null) + public void ClearFields() { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); + __Internal.ClearFields((__Instance + __PointerAdjustment)); } - public DependentTemplateSpecializationType() - : this((void*) null) + public global::CppSharp.Parser.AST.Method GetMethods(uint i) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetMethods((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Method __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Method.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Method) global::CppSharp.Parser.AST.Method.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Method.__CreateInstance(__ret); + return __result0; } - public DependentTemplateSpecializationType(global::CppSharp.Parser.AST.DependentTemplateSpecializationType _0) - : this((void*) null) + public void AddMethods(global::CppSharp.Parser.AST.Method s) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddMethods((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void ClearMethods() { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Type __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; + __Internal.ClearMethods((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) + public global::CppSharp.Parser.AST.AccessSpecifierDecl GetSpecifiers(uint i) { - var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); - __Internal.GetArguments(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); + var __ret = __Internal.GetSpecifiers((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.AccessSpecifierDecl __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.AccessSpecifierDecl.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.AccessSpecifierDecl) global::CppSharp.Parser.AST.AccessSpecifierDecl.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.AccessSpecifierDecl.__CreateInstance(__ret); + return __result0; } - public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) + public void AddSpecifiers(global::CppSharp.Parser.AST.AccessSpecifierDecl s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); + __Internal.AddSpecifiers((__Instance + __PointerAdjustment), __arg0); } - public void ClearArguments() + public void ClearSpecifiers() { - __Internal.ClearArguments((__Instance + __PointerAdjustment)); + __Internal.ClearSpecifiers((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.QualifiedType Desugared + public bool IsPOD { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal*) __Instance)->desugared)); + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isPOD != 0; } set { - ((global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal*)__Instance)->desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isPOD = (byte) (value ? 1 : 0); } } - public uint ArgumentsCount + public bool IsAbstract { get { - var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isAbstract != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isAbstract = (byte) (value ? 1 : 0); } } - } - public unsafe partial class TypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 184)] - public new partial struct __Internal + public bool IsUnion { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; - - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; - - [FieldOffset(32)] - internal int lineNumberEnd; - - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - - [FieldOffset(48)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - - [FieldOffset(56)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - - [FieldOffset(64)] - internal byte isIncomplete; - - [FieldOffset(65)] - internal byte isDependent; - - [FieldOffset(66)] - internal byte isImplicit; - - [FieldOffset(67)] - internal byte isInvalid; - - [FieldOffset(72)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(80)] - internal uint definitionOrder; - - [FieldOffset(88)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(112)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - - [FieldOffset(136)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(144)] - internal global::System.IntPtr comment; - - [FieldOffset(152)] - internal uint depth; - - [FieldOffset(156)] - internal uint index; + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isUnion != 0; + } - [FieldOffset(160)] - internal byte isParameterPack; + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isUnion = (byte) (value ? 1 : 0); + } + } - [FieldOffset(168)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal defaultArgument; + public bool IsDynamic + { + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isDynamic != 0; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21TypeTemplateParameterC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isDynamic = (byte) (value ? 1 : 0); + } + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21TypeTemplateParameterC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + public bool IsPolymorphic + { + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isPolymorphic != 0; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21TypeTemplateParameterD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isPolymorphic = (byte) (value ? 1 : 0); + } } - internal static new global::CppSharp.Parser.AST.TypeTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public bool HasNonTrivialDefaultConstructor { - return new global::CppSharp.Parser.AST.TypeTemplateParameter(native.ToPointer(), skipVTables); + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->hasNonTrivialDefaultConstructor != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->hasNonTrivialDefaultConstructor = (byte) (value ? 1 : 0); + } } - internal static global::CppSharp.Parser.AST.TypeTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal native, bool skipVTables = false) + public bool HasNonTrivialCopyConstructor { - return new global::CppSharp.Parser.AST.TypeTemplateParameter(native, skipVTables); + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->hasNonTrivialCopyConstructor != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->hasNonTrivialCopyConstructor = (byte) (value ? 1 : 0); + } } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal native) + public bool HasNonTrivialDestructor { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); - global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->hasNonTrivialDestructor != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->hasNonTrivialDestructor = (byte) (value ? 1 : 0); + } } - private TypeTemplateParameter(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) + public bool IsExternCContext { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isExternCContext != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isExternCContext = (byte) (value ? 1 : 0); + } } - protected TypeTemplateParameter(void* native, bool skipVTables = false) - : base((void*) null) + public bool IsInjected { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isInjected != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isInjected = (byte) (value ? 1 : 0); + } } - public TypeTemplateParameter() - : this((void*) null) + public global::CppSharp.Parser.AST.ClassLayout Layout { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + get + { + global::CppSharp.Parser.AST.ClassLayout __result0; + if (((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.ClassLayout.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout)) + __result0 = (global::CppSharp.Parser.AST.ClassLayout) global::CppSharp.Parser.AST.ClassLayout.NativeToManagedMap[((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout]; + else __result0 = global::CppSharp.Parser.AST.ClassLayout.__CreateInstance(((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->layout = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } } - public TypeTemplateParameter(global::CppSharp.Parser.AST.TypeTemplateParameter _0) - : this((void*) null) + public uint BasesCount { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + get + { + var __ret = __Internal.GetBasesCount((__Instance + __PointerAdjustment)); + return __ret; + } } - public override void Dispose(bool disposing) + public uint FieldsCount { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; + get + { + var __ret = __Internal.GetFieldsCount((__Instance + __PointerAdjustment)); + return __ret; + } } - public global::CppSharp.Parser.AST.QualifiedType DefaultArgument + public uint MethodsCount { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal*) __Instance)->defaultArgument)); + var __ret = __Internal.GetMethodsCount((__Instance + __PointerAdjustment)); + return __ret; } + } - set + public uint SpecifiersCount + { + get { - ((global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal*)__Instance)->defaultArgument = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + var __ret = __Internal.GetSpecifiersCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class TemplateParameter : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class Template : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 168)] + [StructLayout(LayoutKind.Explicit, Size = 184)] public new partial struct __Internal { [FieldOffset(0)] @@ -10497,206 +9934,77 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(152)] - internal uint depth; - - [FieldOffset(156)] - internal uint index; + internal global::System.IntPtr TemplatedDecl; [FieldOffset(160)] - internal byte isParameterPack; + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17TemplateParameterC2ENS1_15DeclarationKindE")] + EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateC2ENS1_15DeclarationKindE")] internal static extern void ctor(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17TemplateParameterC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17TemplateParameterD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateD2Ev")] internal static extern void dtor(global::System.IntPtr instance); - } - - internal static new global::CppSharp.Parser.AST.TemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.TemplateParameter(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.TemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TemplateParameter.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.TemplateParameter(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameter.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); - global::CppSharp.Parser.AST.TemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private TemplateParameter(global::CppSharp.Parser.AST.TemplateParameter.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected TemplateParameter(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public TemplateParameter(global::CppSharp.Parser.AST.DeclarationKind kind) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), kind); - } - - public TemplateParameter(global::CppSharp.Parser.AST.TemplateParameter _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } - - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - - public static implicit operator global::CppSharp.Parser.AST.TemplateParameter(global::CppSharp.Parser.AST.DeclarationKind kind) - { - return new global::CppSharp.Parser.AST.TemplateParameter(kind); - } - - public uint Depth - { - get - { - return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->depth; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*)__Instance)->depth = value; - } - } - - public uint Index - { - get - { - return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->index; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*)__Instance)->index = value; - } - } - - public bool IsParameterPack - { - get - { - return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->isParameterPack != 0; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*)__Instance)->isParameterPack = (byte) (value ? 1 : 0); - } - } - } - - public unsafe partial class TemplateParameterType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 32)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; - [FieldOffset(4)] - internal byte isDependent; - - [FieldOffset(8)] - internal global::System.IntPtr parameter; - - [FieldOffset(16)] - internal uint depth; - - [FieldOffset(20)] - internal uint index; - - [FieldOffset(24)] - internal byte isParameterPack; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Template13getParametersEj")] + internal static extern global::System.IntPtr GetParameters(global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21TemplateParameterTypeC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST8Template13addParametersERPNS1_11DeclarationE")] + internal static extern void AddParameters(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21TemplateParameterTypeC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST8Template15clearParametersEv")] + internal static extern void ClearParameters(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21TemplateParameterTypeD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST8Template18getParametersCountEv")] + internal static extern uint GetParametersCount(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.TemplateParameterType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Template __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateParameterType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Template(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TemplateParameterType __CreateInstance(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Template __CreateInstance(global::CppSharp.Parser.AST.Template.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateParameterType(native, skipVTables); + return new global::CppSharp.Parser.AST.Template(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Template.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); - global::CppSharp.Parser.AST.TemplateParameterType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); + global::CppSharp.Parser.AST.Template.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateParameterType(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native, bool skipVTables = false) + private Template(global::CppSharp.Parser.AST.Template.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TemplateParameterType(void* native, bool skipVTables = false) + protected Template(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -10705,19 +10013,28 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TemplateParameterType() + public Template(global::CppSharp.Parser.AST.DeclarationKind kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), kind); + } + + public Template() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TemplateParameterType(global::CppSharp.Parser.AST.TemplateParameterType _0) + public Template(global::CppSharp.Parser.AST.Template _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -10730,7 +10047,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Type __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -10739,117 +10056,175 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.TypeTemplateParameter Parameter + public global::CppSharp.Parser.AST.Declaration GetParameters(uint i) { - get - { - global::CppSharp.Parser.AST.TypeTemplateParameter __result0; - if (((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TypeTemplateParameter.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter)) - __result0 = (global::CppSharp.Parser.AST.TypeTemplateParameter) global::CppSharp.Parser.AST.TypeTemplateParameter.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter]; - else __result0 = global::CppSharp.Parser.AST.TypeTemplateParameter.__CreateInstance(((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter); - return __result0; - } + var __ret = __Internal.GetParameters((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Declaration __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(__ret); + return __result0; + } - set - { - ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->parameter = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + public void AddParameters(global::CppSharp.Parser.AST.Declaration s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddParameters((__Instance + __PointerAdjustment), __arg0); } - public uint Depth + public void ClearParameters() { - get - { - return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->depth; - } + __Internal.ClearParameters((__Instance + __PointerAdjustment)); + } - set - { - ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->depth = value; - } + public static implicit operator global::CppSharp.Parser.AST.Template(global::CppSharp.Parser.AST.DeclarationKind kind) + { + return new global::CppSharp.Parser.AST.Template(kind); } - public uint Index + public global::CppSharp.Parser.AST.Declaration TemplatedDecl { get { - return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->index; + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl); + return __result0; } set { - ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->index = value; + ((global::CppSharp.Parser.AST.Template.__Internal*)__Instance)->TemplatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public bool IsParameterPack + public uint ParametersCount { get { - return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->isParameterPack != 0; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->isParameterPack = (byte) (value ? 1 : 0); + var __ret = __Internal.GetParametersCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class TemplateParameterSubstitutionType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class TypeAliasTemplate : global::CppSharp.Parser.AST.Template, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 184)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal byte isDependent; + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal replacement; + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal global::System.IntPtr _namespace; [FieldOffset(24)] - internal global::System.IntPtr replacedParameter; + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(48)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(64)] + internal byte isIncomplete; + + [FieldOffset(65)] + internal byte isDependent; + + [FieldOffset(66)] + internal byte isImplicit; + + [FieldOffset(67)] + internal byte isInvalid; + + [FieldOffset(72)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(80)] + internal uint definitionOrder; + + [FieldOffset(88)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(112)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(136)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(144)] + internal global::System.IntPtr comment; + + [FieldOffset(152)] + internal global::System.IntPtr TemplatedDecl; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST33TemplateParameterSubstitutionTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST17TypeAliasTemplateC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST33TemplateParameterSubstitutionTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST17TypeAliasTemplateC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17TypeAliasTemplateD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.TemplateParameterSubstitutionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TypeAliasTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateParameterSubstitutionType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TypeAliasTemplate(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TemplateParameterSubstitutionType __CreateInstance(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TypeAliasTemplate __CreateInstance(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateParameterSubstitutionType(native, skipVTables); + return new global::CppSharp.Parser.AST.TypeAliasTemplate(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); - global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); + global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateParameterSubstitutionType(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native, bool skipVTables = false) + private TypeAliasTemplate(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TemplateParameterSubstitutionType(void* native, bool skipVTables = false) + protected TypeAliasTemplate(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -10858,19 +10233,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TemplateParameterSubstitutionType() + public TypeAliasTemplate() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TemplateParameterSubstitutionType(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType _0) + public TypeAliasTemplate(global::CppSharp.Parser.AST.TypeAliasTemplate _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -10879,91 +10254,135 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType Replacement - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacement)); - } - - set - { - ((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*)__Instance)->replacement = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } - } - - public global::CppSharp.Parser.AST.TemplateParameterType ReplacedParameter + public override void Dispose(bool disposing) { - get - { - global::CppSharp.Parser.AST.TemplateParameterType __result0; - if (((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TemplateParameterType.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter)) - __result0 = (global::CppSharp.Parser.AST.TemplateParameterType) global::CppSharp.Parser.AST.TemplateParameterType.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter]; - else __result0 = global::CppSharp.Parser.AST.TemplateParameterType.__CreateInstance(((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*)__Instance)->replacedParameter = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; } } - public unsafe partial class InjectedClassNameType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class TemplateParameter : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 168)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal byte isDependent; + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal injectedSpecializationType; + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal global::System.IntPtr _namespace; [FieldOffset(24)] - internal global::System.IntPtr _class; + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(48)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(64)] + internal byte isIncomplete; + + [FieldOffset(65)] + internal byte isDependent; + + [FieldOffset(66)] + internal byte isImplicit; + + [FieldOffset(67)] + internal byte isInvalid; + + [FieldOffset(72)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(80)] + internal uint definitionOrder; + + [FieldOffset(88)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(112)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(136)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(144)] + internal global::System.IntPtr comment; + + [FieldOffset(152)] + internal uint depth; + + [FieldOffset(156)] + internal uint index; + + [FieldOffset(160)] + internal byte isParameterPack; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21InjectedClassNameTypeC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST17TemplateParameterC2ENS1_15DeclarationKindE")] + internal static extern void ctor(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21InjectedClassNameTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST17TemplateParameterC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17TemplateParameterD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.InjectedClassNameType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.InjectedClassNameType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TemplateParameter(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.InjectedClassNameType __CreateInstance(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TemplateParameter.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.InjectedClassNameType(native, skipVTables); + return new global::CppSharp.Parser.AST.TemplateParameter(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameter.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); - global::CppSharp.Parser.AST.InjectedClassNameType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); + global::CppSharp.Parser.AST.TemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private InjectedClassNameType(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native, bool skipVTables = false) + private TemplateParameter(global::CppSharp.Parser.AST.TemplateParameter.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected InjectedClassNameType(void* native, bool skipVTables = false) + protected TemplateParameter(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -10972,19 +10391,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public InjectedClassNameType() + public TemplateParameter(global::CppSharp.Parser.AST.DeclarationKind kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + __Internal.ctor((__Instance + __PointerAdjustment), kind); } - public InjectedClassNameType(global::CppSharp.Parser.AST.InjectedClassNameType _0) + public TemplateParameter(global::CppSharp.Parser.AST.TemplateParameter _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -10993,96 +10412,185 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType InjectedSpecializationType + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public static implicit operator global::CppSharp.Parser.AST.TemplateParameter(global::CppSharp.Parser.AST.DeclarationKind kind) + { + return new global::CppSharp.Parser.AST.TemplateParameter(kind); + } + + public uint Depth { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->injectedSpecializationType)); + return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->depth; } set { - ((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*)__Instance)->injectedSpecializationType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*)__Instance)->depth = value; } } - public global::CppSharp.Parser.AST.Class Class + public uint Index { get { - global::CppSharp.Parser.AST.Class __result0; - if (((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class)) - __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class]; - else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class); - return __result0; + return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->index; } set { - ((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*)__Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*)__Instance)->index = value; + } + } + + public bool IsParameterPack + { + get + { + return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->isParameterPack != 0; + } + + set + { + ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*)__Instance)->isParameterPack = (byte) (value ? 1 : 0); } } } - public unsafe partial class DependentNameType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class TemplateTemplateParameter : global::CppSharp.Parser.AST.Template, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 192)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal byte isDependent; + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifier; + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal global::System.IntPtr _namespace; [FieldOffset(24)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C identifier; + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(48)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(64)] + internal byte isIncomplete; + + [FieldOffset(65)] + internal byte isDependent; + + [FieldOffset(66)] + internal byte isImplicit; + + [FieldOffset(67)] + internal byte isInvalid; + + [FieldOffset(72)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(80)] + internal uint definitionOrder; + + [FieldOffset(88)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(112)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(136)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(144)] + internal global::System.IntPtr comment; + + [FieldOffset(152)] + internal global::System.IntPtr TemplatedDecl; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; + + [FieldOffset(184)] + internal byte isParameterPack; + + [FieldOffset(185)] + internal byte isPackExpansion; + + [FieldOffset(186)] + internal byte isExpandedParameterPack; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17DependentNameTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST25TemplateTemplateParameterC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17DependentNameTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST25TemplateTemplateParameterC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17DependentNameTypeD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST25TemplateTemplateParameterD2Ev")] internal static extern void dtor(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.DependentNameType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TemplateTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.DependentNameType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TemplateTemplateParameter(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.DependentNameType __CreateInstance(global::CppSharp.Parser.AST.DependentNameType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TemplateTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.DependentNameType(native, skipVTables); + return new global::CppSharp.Parser.AST.TemplateTemplateParameter(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.DependentNameType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); - global::CppSharp.Parser.AST.DependentNameType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); + global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private DependentNameType(global::CppSharp.Parser.AST.DependentNameType.__Internal native, bool skipVTables = false) + private TemplateTemplateParameter(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected DependentNameType(void* native, bool skipVTables = false) + protected TemplateTemplateParameter(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -11091,19 +10599,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public DependentNameType() + public TemplateTemplateParameter() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public DependentNameType(global::CppSharp.Parser.AST.DependentNameType _0) + public TemplateTemplateParameter(global::CppSharp.Parser.AST.TemplateTemplateParameter _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -11116,7 +10624,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Type __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -11125,166 +10633,164 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.QualifiedType Qualifier + public bool IsParameterPack { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentNameType.__Internal*) __Instance)->qualifier)); + return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isParameterPack != 0; } set { - ((global::CppSharp.Parser.AST.DependentNameType.__Internal*)__Instance)->qualifier = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*)__Instance)->isParameterPack = (byte) (value ? 1 : 0); } } - public string Identifier + public bool IsPackExpansion { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentNameType.__Internal*) __Instance)->identifier)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isPackExpansion != 0; } set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentNameType.__Internal*)__Instance)->identifier), value); - } - } - } - - public unsafe partial class PackExpansionType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 8)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - internal byte isDependent; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17PackExpansionTypeC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17PackExpansionTypeC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - } - - internal static new global::CppSharp.Parser.AST.PackExpansionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.PackExpansionType(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.PackExpansionType __CreateInstance(global::CppSharp.Parser.AST.PackExpansionType.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.PackExpansionType(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.PackExpansionType.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); - global::CppSharp.Parser.AST.PackExpansionType.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private PackExpansionType(global::CppSharp.Parser.AST.PackExpansionType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected PackExpansionType(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); + { + ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*)__Instance)->isPackExpansion = (byte) (value ? 1 : 0); + } } - public PackExpansionType() - : this((void*) null) + public bool IsExpandedParameterPack { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } + get + { + return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isExpandedParameterPack != 0; + } - public PackExpansionType(global::CppSharp.Parser.AST.PackExpansionType _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + set + { + ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*)__Instance)->isExpandedParameterPack = (byte) (value ? 1 : 0); + } } } - public unsafe partial class UnaryTransformType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class TypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 184)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal byte isDependent; + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal global::System.IntPtr _namespace; [FieldOffset(24)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal baseType; + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(48)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(64)] + internal byte isIncomplete; + + [FieldOffset(65)] + internal byte isDependent; + + [FieldOffset(66)] + internal byte isImplicit; + + [FieldOffset(67)] + internal byte isInvalid; + + [FieldOffset(72)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(80)] + internal uint definitionOrder; + + [FieldOffset(88)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(112)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(136)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(144)] + internal global::System.IntPtr comment; + + [FieldOffset(152)] + internal uint depth; + + [FieldOffset(156)] + internal uint index; + + [FieldOffset(160)] + internal byte isParameterPack; + + [FieldOffset(168)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal defaultArgument; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18UnaryTransformTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST21TypeTemplateParameterC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18UnaryTransformTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST21TypeTemplateParameterC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST21TypeTemplateParameterD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.UnaryTransformType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TypeTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.UnaryTransformType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TypeTemplateParameter(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.UnaryTransformType __CreateInstance(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TypeTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.UnaryTransformType(native, skipVTables); + return new global::CppSharp.Parser.AST.TypeTemplateParameter(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); - global::CppSharp.Parser.AST.UnaryTransformType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); + global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private UnaryTransformType(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native, bool skipVTables = false) + private TypeTemplateParameter(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected UnaryTransformType(void* native, bool skipVTables = false) + protected TypeTemplateParameter(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -11293,19 +10799,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public UnaryTransformType() + public TypeTemplateParameter() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public UnaryTransformType(global::CppSharp.Parser.AST.UnaryTransformType _0) + public TypeTemplateParameter(global::CppSharp.Parser.AST.TypeTemplateParameter _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -11314,86 +10820,160 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType Desugared + public override void Dispose(bool disposing) { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*) __Instance)->desugared)); - } - - set - { - ((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*)__Instance)->desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.QualifiedType BaseType + public global::CppSharp.Parser.AST.QualifiedType DefaultArgument { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*) __Instance)->baseType)); + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal*) __Instance)->defaultArgument)); } set { - ((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*)__Instance)->baseType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal*)__Instance)->defaultArgument = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } } - public unsafe partial class VectorType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class NonTypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 184)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal byte isDependent; + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal elementType; + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal global::System.IntPtr _namespace; [FieldOffset(24)] - internal uint numElements; + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(48)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(64)] + internal byte isIncomplete; + + [FieldOffset(65)] + internal byte isDependent; + + [FieldOffset(66)] + internal byte isImplicit; + + [FieldOffset(67)] + internal byte isInvalid; + + [FieldOffset(72)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(80)] + internal uint definitionOrder; + + [FieldOffset(88)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(112)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(136)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(144)] + internal global::System.IntPtr comment; + + [FieldOffset(152)] + internal uint depth; + + [FieldOffset(156)] + internal uint index; + + [FieldOffset(160)] + internal byte isParameterPack; + + [FieldOffset(168)] + internal global::System.IntPtr defaultArgument; + + [FieldOffset(176)] + internal uint position; + + [FieldOffset(180)] + internal byte isPackExpansion; + + [FieldOffset(181)] + internal byte isExpandedParameterPack; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10VectorTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST24NonTypeTemplateParameterC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10VectorTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST24NonTypeTemplateParameterC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST24NonTypeTemplateParameterD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.VectorType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.NonTypeTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VectorType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.NonTypeTemplateParameter(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.VectorType __CreateInstance(global::CppSharp.Parser.AST.VectorType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.NonTypeTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VectorType(native, skipVTables); + return new global::CppSharp.Parser.AST.NonTypeTemplateParameter(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.VectorType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); - global::CppSharp.Parser.AST.VectorType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); + global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private VectorType(global::CppSharp.Parser.AST.VectorType.__Internal native, bool skipVTables = false) + private NonTypeTemplateParameter(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected VectorType(void* native, bool skipVTables = false) + protected NonTypeTemplateParameter(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -11402,19 +10982,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public VectorType() + public NonTypeTemplateParameter() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public VectorType(global::CppSharp.Parser.AST.VectorType _0) + public NonTypeTemplateParameter(global::CppSharp.Parser.AST.NonTypeTemplateParameter _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -11423,29 +11003,73 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType ElementType + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Expression DefaultArgument { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VectorType.__Internal*) __Instance)->elementType)); + global::CppSharp.Parser.AST.Expression __result0; + if (((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument)) + __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument]; + else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument); + return __result0; } set { - ((global::CppSharp.Parser.AST.VectorType.__Internal*)__Instance)->elementType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->defaultArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public uint NumElements + public uint Position { get { - return ((global::CppSharp.Parser.AST.VectorType.__Internal*) __Instance)->numElements; + return ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->position; } set { - ((global::CppSharp.Parser.AST.VectorType.__Internal*)__Instance)->numElements = value; + ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->position = value; + } + } + + public bool IsPackExpansion + { + get + { + return ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->isPackExpansion != 0; + } + + set + { + ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->isPackExpansion = (byte) (value ? 1 : 0); + } + } + + public bool IsExpandedParameterPack + { + get + { + return ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->isExpandedParameterPack != 0; + } + + set + { + ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->isExpandedParameterPack = (byte) (value ? 1 : 0); } } } @@ -12171,45 +11795,228 @@ namespace CppSharp [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST34ClassTemplatePartialSpecializationC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST34ClassTemplatePartialSpecializationC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST34ClassTemplatePartialSpecializationC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST34ClassTemplatePartialSpecializationD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); + } + + internal static new global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization __CreateInstance(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); + global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private ClassTemplatePartialSpecialization(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ClassTemplatePartialSpecialization(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ClassTemplatePartialSpecialization() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ClassTemplatePartialSpecialization(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + } + + public unsafe partial class FunctionTemplate : global::CppSharp.Parser.AST.Template, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 208)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal global::System.IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(48)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(64)] + internal byte isIncomplete; + + [FieldOffset(65)] + internal byte isDependent; + + [FieldOffset(66)] + internal byte isImplicit; + + [FieldOffset(67)] + internal byte isInvalid; + + [FieldOffset(72)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(80)] + internal uint definitionOrder; + + [FieldOffset(88)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(112)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(136)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(144)] + internal global::System.IntPtr comment; + + [FieldOffset(152)] + internal global::System.IntPtr TemplatedDecl; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; + + [FieldOffset(184)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_FunctionTemplateSpecialization___N_std_S_allocator__S0_ Specializations; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplateC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplateC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplateD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate18getSpecializationsEj")] + internal static extern global::System.IntPtr GetSpecializations(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate18addSpecializationsERPNS1_30FunctionTemplateSpecializationE")] + internal static extern void AddSpecializations(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST34ClassTemplatePartialSpecializationC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate20clearSpecializationsEv")] + internal static extern void ClearSpecializations(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST34ClassTemplatePartialSpecializationD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate18FindSpecializationERKSs")] + internal static extern global::System.IntPtr FindSpecialization(global::System.IntPtr instance, global::System.IntPtr usr); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate23getSpecializationsCountEv")] + internal static extern uint GetSpecializationsCount(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.FunctionTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.FunctionTemplate(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization __CreateInstance(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.FunctionTemplate __CreateInstance(global::CppSharp.Parser.AST.FunctionTemplate.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization(native, skipVTables); + return new global::CppSharp.Parser.AST.FunctionTemplate(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionTemplate.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); - global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); + global::CppSharp.Parser.AST.FunctionTemplate.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private ClassTemplatePartialSpecialization(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal native, bool skipVTables = false) + private FunctionTemplate(global::CppSharp.Parser.AST.FunctionTemplate.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected ClassTemplatePartialSpecialization(void* native, bool skipVTables = false) + protected FunctionTemplate(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -12218,19 +12025,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public ClassTemplatePartialSpecialization() + public FunctionTemplate() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public ClassTemplatePartialSpecialization(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization _0) + public FunctionTemplate(global::CppSharp.Parser.AST.FunctionTemplate _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -12251,103 +12058,159 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } + + public global::CppSharp.Parser.AST.FunctionTemplateSpecialization GetSpecializations(uint i) + { + var __ret = __Internal.GetSpecializations((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.FunctionTemplateSpecialization __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.FunctionTemplateSpecialization) global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__CreateInstance(__ret); + return __result0; + } + + public void AddSpecializations(global::CppSharp.Parser.AST.FunctionTemplateSpecialization s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddSpecializations((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearSpecializations() + { + __Internal.ClearSpecializations((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.FunctionTemplateSpecialization FindSpecialization(string usr) + { + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, usr); + var __arg0 = __basicString0.__Instance; + var __ret = __Internal.FindSpecialization((__Instance + __PointerAdjustment), __arg0); + __basicString0.Dispose(false); + global::CppSharp.Parser.AST.FunctionTemplateSpecialization __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.FunctionTemplateSpecialization) global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__CreateInstance(__ret); + return __result0; + } + + public uint SpecializationsCount + { + get + { + var __ret = __Internal.GetSpecializationsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } } - public unsafe partial class BinaryOperator : global::CppSharp.Parser.AST.Expression, IDisposable + public unsafe partial class FunctionTemplateSpecialization : IDisposable { [StructLayout(LayoutKind.Explicit, Size = 48)] - public new partial struct __Internal + public partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.StatementClass _class; + internal global::System.IntPtr _template; [FieldOffset(8)] - internal global::System.IntPtr decl; - - [FieldOffset(16)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; - - [FieldOffset(24)] - internal global::System.IntPtr LHS; + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; [FieldOffset(32)] - internal global::System.IntPtr RHS; + internal global::System.IntPtr specializedFunction; [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C opcodeStr; + internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14BinaryOperatorC2ERKSsPNS1_10ExpressionES6_S4_")] - internal static extern void ctor(global::System.IntPtr instance, global::System.IntPtr str, global::System.IntPtr lhs, global::System.IntPtr rhs, global::System.IntPtr opcodeStr); + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecializationC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14BinaryOperatorC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecializationC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14BinaryOperatorD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecializationD2Ev")] internal static extern void dtor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization12getArgumentsEj")] + internal static extern void GetArguments(global::System.IntPtr @return, global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization12addArgumentsERNS1_16TemplateArgumentE")] + internal static extern void AddArguments(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization14clearArgumentsEv")] + internal static extern void ClearArguments(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization17getArgumentsCountEv")] + internal static extern uint GetArgumentsCount(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.BinaryOperator __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.FunctionTemplateSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.BinaryOperator(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.FunctionTemplateSpecialization(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.BinaryOperator __CreateInstance(global::CppSharp.Parser.AST.BinaryOperator.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.FunctionTemplateSpecialization __CreateInstance(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.BinaryOperator(native, skipVTables); + return new global::CppSharp.Parser.AST.FunctionTemplateSpecialization(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.BinaryOperator.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); - global::CppSharp.Parser.AST.BinaryOperator.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); + global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private BinaryOperator(global::CppSharp.Parser.AST.BinaryOperator.__Internal native, bool skipVTables = false) + private FunctionTemplateSpecialization(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected BinaryOperator(void* native, bool skipVTables = false) - : base((void*) null) + protected FunctionTemplateSpecialization(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public BinaryOperator(string str, global::CppSharp.Parser.AST.Expression lhs, global::CppSharp.Parser.AST.Expression rhs, string opcodeStr) - : this((void*) null) + public FunctionTemplateSpecialization() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, str); - var __arg0 = __basicString0.__Instance; - var __arg1 = ReferenceEquals(lhs, null) ? global::System.IntPtr.Zero : lhs.__Instance; - var __arg2 = ReferenceEquals(rhs, null) ? global::System.IntPtr.Zero : rhs.__Instance; - var __basicString3 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString3, opcodeStr); - var __arg3 = __basicString3.__Instance; - __Internal.ctor((__Instance + __PointerAdjustment), __arg0, __arg1, __arg2, __arg3); - __basicString0.Dispose(false); - __basicString3.Dispose(false); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public BinaryOperator(global::CppSharp.Parser.AST.BinaryOperator _0) - : this((void*) null) + public FunctionTemplateSpecialization(global::CppSharp.Parser.AST.FunctionTemplateSpecialization _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -12356,11 +12219,16 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Statement __dummy; + global::CppSharp.Parser.AST.FunctionTemplateSpecialization __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -12369,137 +12237,230 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.Expression LHS + public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) + { + var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); + __Internal.GetArguments(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); + return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); + } + + public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearArguments() + { + __Internal.ClearArguments((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.FunctionTemplate Template { get { - global::CppSharp.Parser.AST.Expression __result0; - if (((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->LHS == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->LHS)) - __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->LHS]; - else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->LHS); + global::CppSharp.Parser.AST.FunctionTemplate __result0; + if (((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.FunctionTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template)) + __result0 = (global::CppSharp.Parser.AST.FunctionTemplate) global::CppSharp.Parser.AST.FunctionTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template]; + else __result0 = global::CppSharp.Parser.AST.FunctionTemplate.__CreateInstance(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template); return __result0; } set { - ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->LHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*)__Instance)->_template = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public global::CppSharp.Parser.AST.Expression RHS + public global::CppSharp.Parser.AST.Function SpecializedFunction { get { - global::CppSharp.Parser.AST.Expression __result0; - if (((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->RHS == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->RHS)) - __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->RHS]; - else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->RHS); + global::CppSharp.Parser.AST.Function __result0; + if (((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction)) + __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction]; + else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction); return __result0; } set { - ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->RHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*)__Instance)->specializedFunction = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public string OpcodeStr + public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->opcodeStr)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + return ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializationKind; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->opcodeStr), value); + ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*)__Instance)->specializationKind = value; + } + } + + public uint ArgumentsCount + { + get + { + var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class CallExpr : global::CppSharp.Parser.AST.Expression, IDisposable + public unsafe partial class VarTemplate : global::CppSharp.Parser.AST.Template, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 48)] + [StructLayout(LayoutKind.Explicit, Size = 208)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.StatementClass _class; + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::System.IntPtr decl; + internal global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(16)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; + internal global::System.IntPtr _namespace; [FieldOffset(24)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expression___N_std_S_allocator__S0_ Arguments; + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(48)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(64)] + internal byte isIncomplete; + + [FieldOffset(65)] + internal byte isDependent; + + [FieldOffset(66)] + internal byte isImplicit; + + [FieldOffset(67)] + internal byte isInvalid; + + [FieldOffset(72)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(80)] + internal uint definitionOrder; + + [FieldOffset(88)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(112)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(136)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(144)] + internal global::System.IntPtr comment; + + [FieldOffset(152)] + internal global::System.IntPtr TemplatedDecl; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; + + [FieldOffset(184)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_VarTemplateSpecialization___N_std_S_allocator__S0_ Specializations; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8CallExprC2ERKSsPNS1_11DeclarationE")] - internal static extern void ctor(global::System.IntPtr instance, global::System.IntPtr str, global::System.IntPtr decl); + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplateC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8CallExprC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplateC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8CallExprD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplateD2Ev")] internal static extern void dtor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr12getArgumentsEj")] - internal static extern global::System.IntPtr GetArguments(global::System.IntPtr instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate18getSpecializationsEj")] + internal static extern global::System.IntPtr GetSpecializations(global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr12addArgumentsERPNS1_10ExpressionE")] - internal static extern void AddArguments(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate18addSpecializationsERPNS1_25VarTemplateSpecializationE")] + internal static extern void AddSpecializations(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr14clearArgumentsEv")] - internal static extern void ClearArguments(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate20clearSpecializationsEv")] + internal static extern void ClearSpecializations(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr17getArgumentsCountEv")] - internal static extern uint GetArgumentsCount(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate18FindSpecializationERKSs")] + internal static extern global::System.IntPtr FindSpecialization(global::System.IntPtr instance, global::System.IntPtr usr); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate25FindPartialSpecializationERKSs")] + internal static extern global::System.IntPtr FindPartialSpecialization(global::System.IntPtr instance, global::System.IntPtr usr); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate23getSpecializationsCountEv")] + internal static extern uint GetSpecializationsCount(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.CallExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.VarTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.CallExpr(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.VarTemplate(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.CallExpr __CreateInstance(global::CppSharp.Parser.AST.CallExpr.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.VarTemplate __CreateInstance(global::CppSharp.Parser.AST.VarTemplate.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.CallExpr(native, skipVTables); + return new global::CppSharp.Parser.AST.VarTemplate(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.CallExpr.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VarTemplate.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); - global::CppSharp.Parser.AST.CallExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); + global::CppSharp.Parser.AST.VarTemplate.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private CallExpr(global::CppSharp.Parser.AST.CallExpr.__Internal native, bool skipVTables = false) + private VarTemplate(global::CppSharp.Parser.AST.VarTemplate.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected CallExpr(void* native, bool skipVTables = false) + protected VarTemplate(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -12508,24 +12469,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public CallExpr(string str, global::CppSharp.Parser.AST.Declaration decl) + public VarTemplate() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, str); - var __arg0 = __basicString0.__Instance; - var __arg1 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; - __Internal.ctor((__Instance + __PointerAdjustment), __arg0, __arg1); - __basicString0.Dispose(false); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public CallExpr(global::CppSharp.Parser.AST.CallExpr _0) + public VarTemplate(global::CppSharp.Parser.AST.VarTemplate _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -12538,7 +12494,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Statement __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -12547,118 +12503,211 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.Expression GetArguments(uint i) - { - var __ret = __Internal.GetArguments((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Expression __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(__ret); - return __result0; - } + public global::CppSharp.Parser.AST.VarTemplateSpecialization GetSpecializations(uint i) + { + var __ret = __Internal.GetSpecializations((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.VarTemplateSpecialization __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.VarTemplateSpecialization) global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.VarTemplateSpecialization.__CreateInstance(__ret); + return __result0; + } + + public void AddSpecializations(global::CppSharp.Parser.AST.VarTemplateSpecialization s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddSpecializations((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearSpecializations() + { + __Internal.ClearSpecializations((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.VarTemplateSpecialization FindSpecialization(string usr) + { + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, usr); + var __arg0 = __basicString0.__Instance; + var __ret = __Internal.FindSpecialization((__Instance + __PointerAdjustment), __arg0); + __basicString0.Dispose(false); + global::CppSharp.Parser.AST.VarTemplateSpecialization __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.VarTemplateSpecialization) global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.VarTemplateSpecialization.__CreateInstance(__ret); + return __result0; + } + + public global::CppSharp.Parser.AST.VarTemplatePartialSpecialization FindPartialSpecialization(string usr) + { + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, usr); + var __arg0 = __basicString0.__Instance; + var __ret = __Internal.FindPartialSpecialization((__Instance + __PointerAdjustment), __arg0); + __basicString0.Dispose(false); + global::CppSharp.Parser.AST.VarTemplatePartialSpecialization __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.VarTemplatePartialSpecialization) global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__CreateInstance(__ret); + return __result0; + } + + public uint SpecializationsCount + { + get + { + var __ret = __Internal.GetSpecializationsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } + + public unsafe partial class VarTemplateSpecialization : global::CppSharp.Parser.AST.Variable, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 216)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal global::System.IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(48)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(64)] + internal byte isIncomplete; + + [FieldOffset(65)] + internal byte isDependent; + + [FieldOffset(66)] + internal byte isImplicit; + + [FieldOffset(67)] + internal byte isInvalid; + + [FieldOffset(72)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(80)] + internal uint definitionOrder; - public void AddArguments(global::CppSharp.Parser.AST.Expression s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(88)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - public void ClearArguments() - { - __Internal.ClearArguments((__Instance + __PointerAdjustment)); - } + [FieldOffset(112)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - public uint ArgumentsCount - { - get - { - var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - } + [FieldOffset(136)] + internal global::System.IntPtr originalPtr; - public unsafe partial class CXXConstructExpr : global::CppSharp.Parser.AST.Expression, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 48)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.StatementClass _class; + [FieldOffset(144)] + internal global::System.IntPtr comment; - [FieldOffset(8)] - internal global::System.IntPtr decl; + [FieldOffset(152)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C mangled; - [FieldOffset(16)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; + [FieldOffset(160)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - [FieldOffset(24)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expression___N_std_S_allocator__S0_ Arguments; + [FieldOffset(176)] + internal global::System.IntPtr templatedDecl; + + [FieldOffset(184)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; + + [FieldOffset(208)] + internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExprC2ERKSsPNS1_11DeclarationE")] - internal static extern void ctor(global::System.IntPtr instance, global::System.IntPtr str, global::System.IntPtr decl); + EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecializationC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExprC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecializationC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExprD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecializationD2Ev")] internal static extern void dtor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr12getArgumentsEj")] - internal static extern global::System.IntPtr GetArguments(global::System.IntPtr instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecialization12getArgumentsEj")] + internal static extern void GetArguments(global::System.IntPtr @return, global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr12addArgumentsERPNS1_10ExpressionE")] + EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecialization12addArgumentsERNS1_16TemplateArgumentE")] internal static extern void AddArguments(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr14clearArgumentsEv")] + EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecialization14clearArgumentsEv")] internal static extern void ClearArguments(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr17getArgumentsCountEv")] + EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecialization17getArgumentsCountEv")] internal static extern uint GetArgumentsCount(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.CXXConstructExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.VarTemplateSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.CXXConstructExpr(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.VarTemplateSpecialization(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.CXXConstructExpr __CreateInstance(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.VarTemplateSpecialization __CreateInstance(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.CXXConstructExpr(native, skipVTables); + return new global::CppSharp.Parser.AST.VarTemplateSpecialization(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); - global::CppSharp.Parser.AST.CXXConstructExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal)); + global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private CXXConstructExpr(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native, bool skipVTables = false) + private VarTemplateSpecialization(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected CXXConstructExpr(void* native, bool skipVTables = false) + protected VarTemplateSpecialization(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -12667,24 +12716,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public CXXConstructExpr(string str, global::CppSharp.Parser.AST.Declaration decl) + public VarTemplateSpecialization() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, str); - var __arg0 = __basicString0.__Instance; - var __arg1 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; - __Internal.ctor((__Instance + __PointerAdjustment), __arg0, __arg1); - __basicString0.Dispose(false); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public CXXConstructExpr(global::CppSharp.Parser.AST.CXXConstructExpr _0) + public VarTemplateSpecialization(global::CppSharp.Parser.AST.VarTemplateSpecialization _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -12697,7 +12741,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Statement __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -12706,18 +12750,14 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.Expression GetArguments(uint i) + public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) { - var __ret = __Internal.GetArguments((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Expression __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(__ret); - return __result0; + var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); + __Internal.GetArguments(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); + return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); } - public void AddArguments(global::CppSharp.Parser.AST.Expression s) + public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); @@ -12730,6 +12770,37 @@ namespace CppSharp __Internal.ClearArguments((__Instance + __PointerAdjustment)); } + public global::CppSharp.Parser.AST.VarTemplate TemplatedDecl + { + get + { + global::CppSharp.Parser.AST.VarTemplate __result0; + if (((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.VarTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl)) + __result0 = (global::CppSharp.Parser.AST.VarTemplate) global::CppSharp.Parser.AST.VarTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl]; + else __result0 = global::CppSharp.Parser.AST.VarTemplate.__CreateInstance(((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*)__Instance)->templatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind + { + get + { + return ((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->specializationKind; + } + + set + { + ((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*)__Instance)->specializationKind = value; + } + } + public uint ArgumentsCount { get @@ -12740,9 +12811,9 @@ namespace CppSharp } } - public unsafe partial class TemplateTemplateParameter : global::CppSharp.Parser.AST.Template, IDisposable + public unsafe partial class VarTemplatePartialSpecialization : global::CppSharp.Parser.AST.VarTemplateSpecialization, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 192)] + [StructLayout(LayoutKind.Explicit, Size = 216)] public new partial struct __Internal { [FieldOffset(0)] @@ -12806,61 +12877,61 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(152)] - internal global::System.IntPtr TemplatedDecl; + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C mangled; [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - [FieldOffset(184)] - internal byte isParameterPack; + [FieldOffset(176)] + internal global::System.IntPtr templatedDecl; - [FieldOffset(185)] - internal byte isPackExpansion; + [FieldOffset(184)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; - [FieldOffset(186)] - internal byte isExpandedParameterPack; + [FieldOffset(208)] + internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25TemplateTemplateParameterC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST32VarTemplatePartialSpecializationC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25TemplateTemplateParameterC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST32VarTemplatePartialSpecializationC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25TemplateTemplateParameterD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST32VarTemplatePartialSpecializationD2Ev")] internal static extern void dtor(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.TemplateTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.VarTemplatePartialSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateTemplateParameter(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.VarTemplatePartialSpecialization(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TemplateTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.VarTemplatePartialSpecialization __CreateInstance(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateTemplateParameter(native, skipVTables); + return new global::CppSharp.Parser.AST.VarTemplatePartialSpecialization(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); - global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal)); + global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateTemplateParameter(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native, bool skipVTables = false) + private VarTemplatePartialSpecialization(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TemplateTemplateParameter(void* native, bool skipVTables = false) + protected VarTemplatePartialSpecialization(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -12869,19 +12940,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TemplateTemplateParameter() + public VarTemplatePartialSpecialization() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TemplateTemplateParameter(global::CppSharp.Parser.AST.TemplateTemplateParameter _0) + public VarTemplatePartialSpecialization(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -12902,50 +12973,11 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - - public bool IsParameterPack - { - get - { - return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isParameterPack != 0; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*)__Instance)->isParameterPack = (byte) (value ? 1 : 0); - } - } - - public bool IsPackExpansion - { - get - { - return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isPackExpansion != 0; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*)__Instance)->isPackExpansion = (byte) (value ? 1 : 0); - } - } - - public bool IsExpandedParameterPack - { - get - { - return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isExpandedParameterPack != 0; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*)__Instance)->isExpandedParameterPack = (byte) (value ? 1 : 0); - } - } } - public unsafe partial class NonTypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable + public unsafe partial class Namespace : global::CppSharp.Parser.AST.DeclarationContext, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 184)] + [StructLayout(LayoutKind.Explicit, Size = 424)] public new partial struct __Internal { [FieldOffset(0)] @@ -13009,67 +13041,82 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(152)] - internal uint depth; + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; - [FieldOffset(156)] - internal uint index; + [FieldOffset(176)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; - [FieldOffset(160)] - internal byte isParameterPack; + [FieldOffset(200)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; - [FieldOffset(168)] - internal global::System.IntPtr defaultArgument; + [FieldOffset(224)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; - [FieldOffset(176)] - internal uint position; + [FieldOffset(248)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; - [FieldOffset(180)] - internal byte isPackExpansion; + [FieldOffset(272)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; - [FieldOffset(181)] - internal byte isExpandedParameterPack; + [FieldOffset(296)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; + + [FieldOffset(320)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; + + [FieldOffset(344)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; + + [FieldOffset(368)] + internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + + [FieldOffset(416)] + internal byte isAnonymous; + + [FieldOffset(417)] + internal byte isInline; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST24NonTypeTemplateParameterC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST9NamespaceC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST24NonTypeTemplateParameterC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST9NamespaceC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST24NonTypeTemplateParameterD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST9NamespaceD2Ev")] internal static extern void dtor(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.NonTypeTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Namespace __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.NonTypeTemplateParameter(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Namespace(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.NonTypeTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Namespace __CreateInstance(global::CppSharp.Parser.AST.Namespace.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.NonTypeTemplateParameter(native, skipVTables); + return new global::CppSharp.Parser.AST.Namespace(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Namespace.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); - global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); + global::CppSharp.Parser.AST.Namespace.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private NonTypeTemplateParameter(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native, bool skipVTables = false) + private Namespace(global::CppSharp.Parser.AST.Namespace.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected NonTypeTemplateParameter(void* native, bool skipVTables = false) + protected Namespace(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -13078,19 +13125,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public NonTypeTemplateParameter() + public Namespace() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public NonTypeTemplateParameter(global::CppSharp.Parser.AST.NonTypeTemplateParameter _0) + public Namespace(global::CppSharp.Parser.AST.Namespace _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -13112,205 +13159,223 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.Expression DefaultArgument + public bool IsInline { get { - global::CppSharp.Parser.AST.Expression __result0; - if (((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument)) - __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument]; - else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument); - return __result0; + return ((global::CppSharp.Parser.AST.Namespace.__Internal*) __Instance)->isInline != 0; } set { - ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->defaultArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.Namespace.__Internal*)__Instance)->isInline = (byte) (value ? 1 : 0); } } + } - public uint Position + public unsafe partial class PreprocessedEntity : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public partial struct __Internal { - get - { - return ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->position; - } + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.MacroLocation macroLocation; - set - { - ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->position = value; - } + [FieldOffset(8)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18PreprocessedEntityC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18PreprocessedEntityC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); } - public bool IsPackExpansion + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.PreprocessedEntity __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.PreprocessedEntity(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.PreprocessedEntity __CreateInstance(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.PreprocessedEntity(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); + *(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) ret = native; + return ret.ToPointer(); + } + + private PreprocessedEntity(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected PreprocessedEntity(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public PreprocessedEntity() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public PreprocessedEntity(global::CppSharp.Parser.AST.PreprocessedEntity _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) _0.__Instance); + } + + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.PreprocessedEntity __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.MacroLocation MacroLocation { get { - return ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->isPackExpansion != 0; + return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->macroLocation; } set { - ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->isPackExpansion = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*)__Instance)->macroLocation = value; } } - public bool IsExpandedParameterPack + public global::System.IntPtr OriginalPtr { get { - return ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->isExpandedParameterPack != 0; + return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->originalPtr; } set { - ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->isExpandedParameterPack = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*)__Instance)->originalPtr = (global::System.IntPtr) value; } } - } - public unsafe partial class VarTemplateSpecialization : global::CppSharp.Parser.AST.Variable, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 216)] - public new partial struct __Internal + public global::CppSharp.Parser.AST.DeclarationKind Kind { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; - - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; - - [FieldOffset(32)] - internal int lineNumberEnd; - - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - - [FieldOffset(48)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - - [FieldOffset(56)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - - [FieldOffset(64)] - internal byte isIncomplete; - - [FieldOffset(65)] - internal byte isDependent; - - [FieldOffset(66)] - internal byte isImplicit; - - [FieldOffset(67)] - internal byte isInvalid; - - [FieldOffset(72)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(80)] - internal uint definitionOrder; + get + { + return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->kind; + } - [FieldOffset(88)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + set + { + ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*)__Instance)->kind = value; + } + } + } - [FieldOffset(112)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + public unsafe partial class MacroDefinition : global::CppSharp.Parser.AST.PreprocessedEntity, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.MacroLocation macroLocation; - [FieldOffset(136)] + [FieldOffset(8)] internal global::System.IntPtr originalPtr; - [FieldOffset(144)] - internal global::System.IntPtr comment; - - [FieldOffset(152)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C mangled; + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; - [FieldOffset(160)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + [FieldOffset(24)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - [FieldOffset(176)] - internal global::System.IntPtr templatedDecl; + [FieldOffset(32)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C expression; - [FieldOffset(184)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; + [FieldOffset(40)] + internal int lineNumberStart; - [FieldOffset(208)] - internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; + [FieldOffset(44)] + internal int lineNumberEnd; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecializationC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST15MacroDefinitionC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecializationC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST15MacroDefinitionC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecializationD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST15MacroDefinitionD2Ev")] internal static extern void dtor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecialization12getArgumentsEj")] - internal static extern void GetArguments(global::System.IntPtr @return, global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecialization12addArgumentsERNS1_16TemplateArgumentE")] - internal static extern void AddArguments(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecialization14clearArgumentsEv")] - internal static extern void ClearArguments(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecialization17getArgumentsCountEv")] - internal static extern uint GetArgumentsCount(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.VarTemplateSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.MacroDefinition __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VarTemplateSpecialization(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.MacroDefinition(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.VarTemplateSpecialization __CreateInstance(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.MacroDefinition __CreateInstance(global::CppSharp.Parser.AST.MacroDefinition.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VarTemplateSpecialization(native, skipVTables); + return new global::CppSharp.Parser.AST.MacroDefinition(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.MacroDefinition.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal)); - global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal)); + global::CppSharp.Parser.AST.MacroDefinition.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private VarTemplateSpecialization(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal native, bool skipVTables = false) + private MacroDefinition(global::CppSharp.Parser.AST.MacroDefinition.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected VarTemplateSpecialization(void* native, bool skipVTables = false) + protected MacroDefinition(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -13319,19 +13384,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public VarTemplateSpecialization() + public MacroDefinition() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public VarTemplateSpecialization(global::CppSharp.Parser.AST.VarTemplateSpecialization _0) + public MacroDefinition(global::CppSharp.Parser.AST.MacroDefinition _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -13344,7 +13409,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.PreprocessedEntity __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -13353,212 +13418,129 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) - { - var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); - __Internal.GetArguments(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); - } - - public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) + public string Name { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); - } + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->name)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } - public void ClearArguments() - { - __Internal.ClearArguments((__Instance + __PointerAdjustment)); + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->name), value); + } } - public global::CppSharp.Parser.AST.VarTemplate TemplatedDecl + public string Expression { get { - global::CppSharp.Parser.AST.VarTemplate __result0; - if (((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.VarTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl)) - __result0 = (global::CppSharp.Parser.AST.VarTemplate) global::CppSharp.Parser.AST.VarTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl]; - else __result0 = global::CppSharp.Parser.AST.VarTemplate.__CreateInstance(((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl); - return __result0; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->expression)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*)__Instance)->templatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->expression), value); } } - public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind + public int LineNumberStart { get { - return ((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->specializationKind; + return ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->lineNumberStart; } set { - ((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*)__Instance)->specializationKind = value; + ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->lineNumberStart = value; } } - public uint ArgumentsCount + public int LineNumberEnd { get { - var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->lineNumberEnd; + } + + set + { + ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->lineNumberEnd = value; } } } - public unsafe partial class VarTemplate : global::CppSharp.Parser.AST.Template, IDisposable + public unsafe partial class MacroExpansion : global::CppSharp.Parser.AST.PreprocessedEntity, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 208)] + [StructLayout(LayoutKind.Explicit, Size = 48)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; + internal global::CppSharp.Parser.AST.MacroLocation macroLocation; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; + internal global::System.IntPtr originalPtr; [FieldOffset(16)] - internal global::System.IntPtr _namespace; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; [FieldOffset(32)] - internal int lineNumberEnd; + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C text; [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - - [FieldOffset(48)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - - [FieldOffset(56)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - - [FieldOffset(64)] - internal byte isIncomplete; - - [FieldOffset(65)] - internal byte isDependent; - - [FieldOffset(66)] - internal byte isImplicit; - - [FieldOffset(67)] - internal byte isInvalid; - - [FieldOffset(72)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(80)] - internal uint definitionOrder; - - [FieldOffset(88)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(112)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - - [FieldOffset(136)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(144)] - internal global::System.IntPtr comment; - - [FieldOffset(152)] - internal global::System.IntPtr TemplatedDecl; - - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; - - [FieldOffset(184)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_VarTemplateSpecialization___N_std_S_allocator__S0_ Specializations; + internal global::System.IntPtr definition; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplateC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST14MacroExpansionC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplateC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplateD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate18getSpecializationsEj")] - internal static extern global::System.IntPtr GetSpecializations(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate18addSpecializationsERPNS1_25VarTemplateSpecializationE")] - internal static extern void AddSpecializations(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate20clearSpecializationsEv")] - internal static extern void ClearSpecializations(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate18FindSpecializationERKSs")] - internal static extern global::System.IntPtr FindSpecialization(global::System.IntPtr instance, global::System.IntPtr usr); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate25FindPartialSpecializationERKSs")] - internal static extern global::System.IntPtr FindPartialSpecialization(global::System.IntPtr instance, global::System.IntPtr usr); + EntryPoint="_ZN8CppSharp9CppParser3AST14MacroExpansionC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate23getSpecializationsCountEv")] - internal static extern uint GetSpecializationsCount(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST14MacroExpansionD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.VarTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.MacroExpansion __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VarTemplate(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.MacroExpansion(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.VarTemplate __CreateInstance(global::CppSharp.Parser.AST.VarTemplate.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.MacroExpansion __CreateInstance(global::CppSharp.Parser.AST.MacroExpansion.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VarTemplate(native, skipVTables); + return new global::CppSharp.Parser.AST.MacroExpansion(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.VarTemplate.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.MacroExpansion.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); - global::CppSharp.Parser.AST.VarTemplate.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal)); + global::CppSharp.Parser.AST.MacroExpansion.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private VarTemplate(global::CppSharp.Parser.AST.VarTemplate.__Internal native, bool skipVTables = false) + private MacroExpansion(global::CppSharp.Parser.AST.MacroExpansion.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected VarTemplate(void* native, bool skipVTables = false) + protected MacroExpansion(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -13567,19 +13549,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public VarTemplate() + public MacroExpansion() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public VarTemplate(global::CppSharp.Parser.AST.VarTemplate _0) + public MacroExpansion(global::CppSharp.Parser.AST.MacroExpansion _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -13592,7 +13574,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.PreprocessedEntity __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -13601,73 +13583,60 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.VarTemplateSpecialization GetSpecializations(uint i) - { - var __ret = __Internal.GetSpecializations((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.VarTemplateSpecialization __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.VarTemplateSpecialization) global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.VarTemplateSpecialization.__CreateInstance(__ret); - return __result0; - } - - public void AddSpecializations(global::CppSharp.Parser.AST.VarTemplateSpecialization s) + public string Name { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddSpecializations((__Instance + __PointerAdjustment), __arg0); - } + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->name)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } - public void ClearSpecializations() - { - __Internal.ClearSpecializations((__Instance + __PointerAdjustment)); + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*)__Instance)->name), value); + } } - public global::CppSharp.Parser.AST.VarTemplateSpecialization FindSpecialization(string usr) + public string Text { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, usr); - var __arg0 = __basicString0.__Instance; - var __ret = __Internal.FindSpecialization((__Instance + __PointerAdjustment), __arg0); - __basicString0.Dispose(false); - global::CppSharp.Parser.AST.VarTemplateSpecialization __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.VarTemplateSpecialization) global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.VarTemplateSpecialization.__CreateInstance(__ret); - return __result0; - } + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->text)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } - public global::CppSharp.Parser.AST.VarTemplatePartialSpecialization FindPartialSpecialization(string usr) - { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, usr); - var __arg0 = __basicString0.__Instance; - var __ret = __Internal.FindPartialSpecialization((__Instance + __PointerAdjustment), __arg0); - __basicString0.Dispose(false); - global::CppSharp.Parser.AST.VarTemplatePartialSpecialization __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.VarTemplatePartialSpecialization) global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__CreateInstance(__ret); - return __result0; + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*)__Instance)->text), value); + } } - public uint SpecializationsCount + public global::CppSharp.Parser.AST.MacroDefinition Definition { get { - var __ret = __Internal.GetSpecializationsCount((__Instance + __PointerAdjustment)); - return __ret; + global::CppSharp.Parser.AST.MacroDefinition __result0; + if (((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition)) + __result0 = (global::CppSharp.Parser.AST.MacroDefinition) global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap[((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition]; + else __result0 = global::CppSharp.Parser.AST.MacroDefinition.__CreateInstance(((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.MacroExpansion.__Internal*)__Instance)->definition = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } - public unsafe partial class VarTemplatePartialSpecialization : global::CppSharp.Parser.AST.VarTemplateSpecialization, IDisposable + public unsafe partial class TranslationUnit : global::CppSharp.Parser.AST.Namespace, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 216)] + [StructLayout(LayoutKind.Explicit, Size = 464)] public new partial struct __Internal { [FieldOffset(0)] @@ -13731,171 +13700,111 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(152)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C mangled; - - [FieldOffset(160)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; [FieldOffset(176)] - internal global::System.IntPtr templatedDecl; - - [FieldOffset(184)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; - - [FieldOffset(208)] - internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST32VarTemplatePartialSpecializationC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST32VarTemplatePartialSpecializationC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST32VarTemplatePartialSpecializationD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); - } - - internal static new global::CppSharp.Parser.AST.VarTemplatePartialSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.VarTemplatePartialSpecialization(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.VarTemplatePartialSpecialization __CreateInstance(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.VarTemplatePartialSpecialization(native, skipVTables); - } + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; - private static void* __CopyValue(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal)); - global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + [FieldOffset(200)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; - private VarTemplatePartialSpecialization(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + [FieldOffset(224)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; - protected VarTemplatePartialSpecialization(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [FieldOffset(248)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; - public VarTemplatePartialSpecialization() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } + [FieldOffset(272)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; - public VarTemplatePartialSpecialization(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(296)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - } + [FieldOffset(320)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; - public unsafe partial class MacroDefinition : global::CppSharp.Parser.AST.PreprocessedEntity, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 48)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.MacroLocation macroLocation; + [FieldOffset(344)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; - [FieldOffset(8)] - internal global::System.IntPtr originalPtr; + [FieldOffset(368)] + internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; - [FieldOffset(16)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + [FieldOffset(416)] + internal byte isAnonymous; - [FieldOffset(24)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + [FieldOffset(417)] + internal byte isInline; - [FieldOffset(32)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C expression; + [FieldOffset(424)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C fileName; - [FieldOffset(40)] - internal int lineNumberStart; + [FieldOffset(432)] + internal byte isSystemHeader; - [FieldOffset(44)] - internal int lineNumberEnd; + [FieldOffset(440)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_MacroDefinition___N_std_S_allocator__S0_ Macros; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15MacroDefinitionC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnitC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15MacroDefinitionC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnitC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15MacroDefinitionD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnitD2Ev")] internal static extern void dtor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnit9getMacrosEj")] + internal static extern global::System.IntPtr GetMacros(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnit9addMacrosERPNS1_15MacroDefinitionE")] + internal static extern void AddMacros(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnit11clearMacrosEv")] + internal static extern void ClearMacros(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnit14getMacrosCountEv")] + internal static extern uint GetMacrosCount(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.MacroDefinition __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TranslationUnit __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.MacroDefinition(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TranslationUnit(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.MacroDefinition __CreateInstance(global::CppSharp.Parser.AST.MacroDefinition.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TranslationUnit __CreateInstance(global::CppSharp.Parser.AST.TranslationUnit.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.MacroDefinition(native, skipVTables); + return new global::CppSharp.Parser.AST.TranslationUnit(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.MacroDefinition.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TranslationUnit.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal)); - global::CppSharp.Parser.AST.MacroDefinition.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal)); + global::CppSharp.Parser.AST.TranslationUnit.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private MacroDefinition(global::CppSharp.Parser.AST.MacroDefinition.__Internal native, bool skipVTables = false) + private TranslationUnit(global::CppSharp.Parser.AST.TranslationUnit.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected MacroDefinition(void* native, bool skipVTables = false) + protected TranslationUnit(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -13904,19 +13813,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public MacroDefinition() + public TranslationUnit() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public MacroDefinition(global::CppSharp.Parser.AST.MacroDefinition _0) + public TranslationUnit(global::CppSharp.Parser.AST.TranslationUnit _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -13929,7 +13838,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.PreprocessedEntity __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -13938,27 +13847,35 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public string Name + public global::CppSharp.Parser.AST.MacroDefinition GetMacros(uint i) { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->name)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + var __ret = __Internal.GetMacros((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.MacroDefinition __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.MacroDefinition) global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.MacroDefinition.__CreateInstance(__ret); + return __result0; + } - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->name), value); - } + public void AddMacros(global::CppSharp.Parser.AST.MacroDefinition s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddMacros((__Instance + __PointerAdjustment), __arg0); } - public string Expression + public void ClearMacros() + { + __Internal.ClearMacros((__Instance + __PointerAdjustment)); + } + + public string FileName { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->expression)); + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TranslationUnit.__Internal*) __Instance)->fileName)); var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); __basicStringRet0.Dispose(false); return __stringRet0; @@ -13966,122 +13883,156 @@ namespace CppSharp set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->expression), value); + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TranslationUnit.__Internal*)__Instance)->fileName), value); } } - public int LineNumberStart + public bool IsSystemHeader { get { - return ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->lineNumberStart; + return ((global::CppSharp.Parser.AST.TranslationUnit.__Internal*) __Instance)->isSystemHeader != 0; } set { - ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->lineNumberStart = value; + ((global::CppSharp.Parser.AST.TranslationUnit.__Internal*)__Instance)->isSystemHeader = (byte) (value ? 1 : 0); } } - public int LineNumberEnd + public uint MacrosCount { get { - return ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->lineNumberEnd; - } - - set - { - ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->lineNumberEnd = value; + var __ret = __Internal.GetMacrosCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class MacroExpansion : global::CppSharp.Parser.AST.PreprocessedEntity, IDisposable + public unsafe partial class NativeLibrary : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 48)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 64)] + public partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.MacroLocation macroLocation; + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C fileName; [FieldOffset(8)] - internal global::System.IntPtr originalPtr; + internal global::CppSharp.Parser.AST.ArchType archType; [FieldOffset(16)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(24)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - - [FieldOffset(32)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C text; + internal global::Std.Vector.__Internalc__N_std_S_vector____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C___N_std_S_allocator__S0_ Symbols; [FieldOffset(40)] - internal global::System.IntPtr definition; + internal global::Std.Vector.__Internalc__N_std_S_vector____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C___N_std_S_allocator__S0_ Dependencies; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14MacroExpansionC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibraryC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14MacroExpansionC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibraryC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14MacroExpansionD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibraryD2Ev")] internal static extern void dtor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary10getSymbolsEj")] + internal static extern global::System.IntPtr GetSymbols(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary10addSymbolsEPKc")] + internal static extern void AddSymbols(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary12clearSymbolsEv")] + internal static extern void ClearSymbols(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary15getDependenciesEj")] + internal static extern global::System.IntPtr GetDependencies(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary15addDependenciesEPKc")] + internal static extern void AddDependencies(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary17clearDependenciesEv")] + internal static extern void ClearDependencies(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary15getSymbolsCountEv")] + internal static extern uint GetSymbolsCount(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary20getDependenciesCountEv")] + internal static extern uint GetDependenciesCount(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.MacroExpansion __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.NativeLibrary __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.MacroExpansion(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.NativeLibrary(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.MacroExpansion __CreateInstance(global::CppSharp.Parser.AST.MacroExpansion.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.NativeLibrary __CreateInstance(global::CppSharp.Parser.AST.NativeLibrary.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.MacroExpansion(native, skipVTables); + return new global::CppSharp.Parser.AST.NativeLibrary(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.MacroExpansion.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.NativeLibrary.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal)); - global::CppSharp.Parser.AST.MacroExpansion.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NativeLibrary.__Internal)); + global::CppSharp.Parser.AST.NativeLibrary.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private MacroExpansion(global::CppSharp.Parser.AST.MacroExpansion.__Internal native, bool skipVTables = false) + private NativeLibrary(global::CppSharp.Parser.AST.NativeLibrary.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected MacroExpansion(void* native, bool skipVTables = false) - : base((void*) null) + protected NativeLibrary(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public MacroExpansion() - : this((void*) null) + public NativeLibrary() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NativeLibrary.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public MacroExpansion(global::CppSharp.Parser.AST.MacroExpansion _0) - : this((void*) null) + public NativeLibrary(global::CppSharp.Parser.AST.NativeLibrary _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NativeLibrary.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -14090,24 +14041,61 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.NativeLibrary __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public string GetSymbols(uint i) + { + var __ret = __Internal.GetSymbols((__Instance + __PointerAdjustment), i); + return Marshal.PtrToStringAnsi(__ret); + } + + public void AddSymbols(string s) + { + __Internal.AddSymbols((__Instance + __PointerAdjustment), s); + } + + public void ClearSymbols() + { + __Internal.ClearSymbols((__Instance + __PointerAdjustment)); + } + + public string GetDependencies(uint i) + { + var __ret = __Internal.GetDependencies((__Instance + __PointerAdjustment), i); + return Marshal.PtrToStringAnsi(__ret); + } + + public void AddDependencies(string s) { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.PreprocessedEntity __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; + __Internal.AddDependencies((__Instance + __PointerAdjustment), s); } - public string Name + public void ClearDependencies() + { + __Internal.ClearDependencies((__Instance + __PointerAdjustment)); + } + + public string FileName { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->name)); + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.NativeLibrary.__Internal*) __Instance)->fileName)); var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); __basicStringRet0.Dispose(false); return __stringRet0; @@ -14115,237 +14103,141 @@ namespace CppSharp set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*)__Instance)->name), value); + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.NativeLibrary.__Internal*)__Instance)->fileName), value); } } - public string Text + public global::CppSharp.Parser.AST.ArchType ArchType { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->text)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + return ((global::CppSharp.Parser.AST.NativeLibrary.__Internal*) __Instance)->archType; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*)__Instance)->text), value); + ((global::CppSharp.Parser.AST.NativeLibrary.__Internal*)__Instance)->archType = value; } } - public global::CppSharp.Parser.AST.MacroDefinition Definition + public uint SymbolsCount { get { - global::CppSharp.Parser.AST.MacroDefinition __result0; - if (((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition)) - __result0 = (global::CppSharp.Parser.AST.MacroDefinition) global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap[((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition]; - else __result0 = global::CppSharp.Parser.AST.MacroDefinition.__CreateInstance(((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition); - return __result0; + var __ret = __Internal.GetSymbolsCount((__Instance + __PointerAdjustment)); + return __ret; } + } - set + public uint DependenciesCount + { + get { - ((global::CppSharp.Parser.AST.MacroExpansion.__Internal*)__Instance)->definition = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + var __ret = __Internal.GetDependenciesCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class TranslationUnit : global::CppSharp.Parser.AST.Namespace, IDisposable + public unsafe partial class ASTContext : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 464)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 24)] + public partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; - - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; - - [FieldOffset(32)] - internal int lineNumberEnd; - - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - - [FieldOffset(48)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - - [FieldOffset(56)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - - [FieldOffset(64)] - internal byte isIncomplete; - - [FieldOffset(65)] - internal byte isDependent; - - [FieldOffset(66)] - internal byte isImplicit; - - [FieldOffset(67)] - internal byte isInvalid; - - [FieldOffset(72)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(80)] - internal uint definitionOrder; - - [FieldOffset(88)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(112)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - - [FieldOffset(136)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(144)] - internal global::System.IntPtr comment; - - [FieldOffset(152)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; - - [FieldOffset(176)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; - - [FieldOffset(200)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; - - [FieldOffset(224)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; - - [FieldOffset(248)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; - - [FieldOffset(272)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; - - [FieldOffset(296)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; - - [FieldOffset(320)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; - - [FieldOffset(344)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; - - [FieldOffset(368)] - internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; - - [FieldOffset(416)] - internal byte isAnonymous; - - [FieldOffset(417)] - internal byte isInline; - - [FieldOffset(424)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C fileName; - - [FieldOffset(432)] - internal byte isSystemHeader; - - [FieldOffset(440)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_MacroDefinition___N_std_S_allocator__S0_ Macros; + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TranslationUnit___N_std_S_allocator__S0_ TranslationUnits; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnitC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContextC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnitC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContextC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnitD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContextD2Ev")] internal static extern void dtor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnit9getMacrosEj")] - internal static extern global::System.IntPtr GetMacros(global::System.IntPtr instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext18FindOrCreateModuleESs")] + internal static extern global::System.IntPtr FindOrCreateModule(global::System.IntPtr instance, global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C File); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnit9addMacrosERPNS1_15MacroDefinitionE")] - internal static extern void AddMacros(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext19getTranslationUnitsEj")] + internal static extern global::System.IntPtr GetTranslationUnits(global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnit11clearMacrosEv")] - internal static extern void ClearMacros(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext19addTranslationUnitsERPNS1_15TranslationUnitE")] + internal static extern void AddTranslationUnits(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnit14getMacrosCountEv")] - internal static extern uint GetMacrosCount(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext21clearTranslationUnitsEv")] + internal static extern void ClearTranslationUnits(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext24getTranslationUnitsCountEv")] + internal static extern uint GetTranslationUnitsCount(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.TranslationUnit __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.ASTContext __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TranslationUnit(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.ASTContext(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TranslationUnit __CreateInstance(global::CppSharp.Parser.AST.TranslationUnit.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.ASTContext __CreateInstance(global::CppSharp.Parser.AST.ASTContext.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TranslationUnit(native, skipVTables); + return new global::CppSharp.Parser.AST.ASTContext(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TranslationUnit.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.ASTContext.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal)); - global::CppSharp.Parser.AST.TranslationUnit.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal)); + global::CppSharp.Parser.AST.ASTContext.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TranslationUnit(global::CppSharp.Parser.AST.TranslationUnit.__Internal native, bool skipVTables = false) + private ASTContext(global::CppSharp.Parser.AST.ASTContext.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TranslationUnit(void* native, bool skipVTables = false) - : base((void*) null) + protected ASTContext(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public TranslationUnit() - : this((void*) null) + public ASTContext() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TranslationUnit(global::CppSharp.Parser.AST.TranslationUnit _0) - : this((void*) null) + public ASTContext(global::CppSharp.Parser.AST.ASTContext _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -14354,11 +14246,16 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.ASTContext __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -14367,198 +14264,127 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.MacroDefinition GetMacros(uint i) + public global::CppSharp.Parser.AST.TranslationUnit FindOrCreateModule(string File) { - var __ret = __Internal.GetMacros((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.MacroDefinition __result0; + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, File); + var __arg0 = *(global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C*) __basicString0.__Instance; + var __ret = __Internal.FindOrCreateModule((__Instance + __PointerAdjustment), __arg0); + __basicString0.Dispose(false); + global::CppSharp.Parser.AST.TranslationUnit __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.TranslationUnit) global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.TranslationUnit.__CreateInstance(__ret); + return __result0; + } + + public global::CppSharp.Parser.AST.TranslationUnit GetTranslationUnits(uint i) + { + var __ret = __Internal.GetTranslationUnits((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.TranslationUnit __result0; if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.MacroDefinition) global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.MacroDefinition.__CreateInstance(__ret); + else if (global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.TranslationUnit) global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.TranslationUnit.__CreateInstance(__ret); return __result0; } - public void AddMacros(global::CppSharp.Parser.AST.MacroDefinition s) + public void AddTranslationUnits(global::CppSharp.Parser.AST.TranslationUnit s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddMacros((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearMacros() - { - __Internal.ClearMacros((__Instance + __PointerAdjustment)); - } - - public string FileName - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TranslationUnit.__Internal*) __Instance)->fileName)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TranslationUnit.__Internal*)__Instance)->fileName), value); - } + __Internal.AddTranslationUnits((__Instance + __PointerAdjustment), __arg0); } - public bool IsSystemHeader + public void ClearTranslationUnits() { - get - { - return ((global::CppSharp.Parser.AST.TranslationUnit.__Internal*) __Instance)->isSystemHeader != 0; - } - - set - { - ((global::CppSharp.Parser.AST.TranslationUnit.__Internal*)__Instance)->isSystemHeader = (byte) (value ? 1 : 0); - } + __Internal.ClearTranslationUnits((__Instance + __PointerAdjustment)); } - public uint MacrosCount + public uint TranslationUnitsCount { get { - var __ret = __Internal.GetMacrosCount((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetTranslationUnitsCount((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class NativeLibrary : IDisposable + public unsafe partial class Comment : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 64)] + [StructLayout(LayoutKind.Explicit, Size = 4)] public partial struct __Internal { [FieldOffset(0)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C fileName; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.ArchType archType; - - [FieldOffset(16)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C___N_std_S_allocator__S0_ Symbols; - - [FieldOffset(40)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C___N_std_S_allocator__S0_ Dependencies; + internal global::CppSharp.Parser.AST.CommentKind kind; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibraryC2Ev")] - internal static extern void ctor(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST7CommentC2ENS1_11CommentKindE")] + internal static extern void ctor(global::System.IntPtr instance, global::CppSharp.Parser.AST.CommentKind kind); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibraryC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST7CommentC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibraryD2Ev")] - internal static extern void dtor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary10getSymbolsEj")] - internal static extern global::System.IntPtr GetSymbols(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary10addSymbolsEPKc")] - internal static extern void AddSymbols(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary12clearSymbolsEv")] - internal static extern void ClearSymbols(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary15getDependenciesEj")] - internal static extern global::System.IntPtr GetDependencies(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary15addDependenciesEPKc")] - internal static extern void AddDependencies(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary17clearDependenciesEv")] - internal static extern void ClearDependencies(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary15getSymbolsCountEv")] - internal static extern uint GetSymbolsCount(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary20getDependenciesCountEv")] - internal static extern uint GetDependenciesCount(global::System.IntPtr instance); } public global::System.IntPtr __Instance { get; protected set; } protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); protected void*[] __OriginalVTables; protected bool __ownsNativeInstance; - internal static global::CppSharp.Parser.AST.NativeLibrary __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Comment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.NativeLibrary(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Comment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.NativeLibrary __CreateInstance(global::CppSharp.Parser.AST.NativeLibrary.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Comment __CreateInstance(global::CppSharp.Parser.AST.Comment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.NativeLibrary(native, skipVTables); + return new global::CppSharp.Parser.AST.Comment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.NativeLibrary.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Comment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NativeLibrary.__Internal)); - global::CppSharp.Parser.AST.NativeLibrary.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Comment.__Internal)); + *(global::CppSharp.Parser.AST.Comment.__Internal*) ret = native; return ret.ToPointer(); } - private NativeLibrary(global::CppSharp.Parser.AST.NativeLibrary.__Internal native, bool skipVTables = false) + private Comment(global::CppSharp.Parser.AST.Comment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected NativeLibrary(void* native, bool skipVTables = false) + protected Comment(void* native, bool skipVTables = false) { if (native == null) return; __Instance = new global::System.IntPtr(native); } - public NativeLibrary() + public Comment(global::CppSharp.Parser.AST.CommentKind kind) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NativeLibrary.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Comment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + __Internal.ctor((__Instance + __PointerAdjustment), kind); } - public NativeLibrary(global::CppSharp.Parser.AST.NativeLibrary _0) + public Comment(global::CppSharp.Parser.AST.Comment _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NativeLibrary.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Comment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + *((global::CppSharp.Parser.AST.Comment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.Comment.__Internal*) _0.__Instance); } public void Dispose() @@ -14570,194 +14396,215 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.NativeLibrary __dummy; + global::CppSharp.Parser.AST.Comment __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - public string GetSymbols(uint i) + public static implicit operator global::CppSharp.Parser.AST.Comment(global::CppSharp.Parser.AST.CommentKind kind) { - var __ret = __Internal.GetSymbols((__Instance + __PointerAdjustment), i); - return Marshal.PtrToStringAnsi(__ret); + return new global::CppSharp.Parser.AST.Comment(kind); } - public void AddSymbols(string s) + public global::CppSharp.Parser.AST.CommentKind Kind { - __Internal.AddSymbols((__Instance + __PointerAdjustment), s); + get + { + return ((global::CppSharp.Parser.AST.Comment.__Internal*) __Instance)->kind; + } + + set + { + ((global::CppSharp.Parser.AST.Comment.__Internal*)__Instance)->kind = value; + } } + } - public void ClearSymbols() + public unsafe partial class BlockContentComment : global::CppSharp.Parser.AST.Comment, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 4)] + public new partial struct __Internal { - __Internal.ClearSymbols((__Instance + __PointerAdjustment)); + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.CommentKind kind; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19BlockContentCommentC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19BlockContentCommentC2ENS1_11CommentKindE")] + internal static extern void ctor(global::System.IntPtr instance, global::CppSharp.Parser.AST.CommentKind Kind); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19BlockContentCommentC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); } - public string GetDependencies(uint i) + internal static new global::CppSharp.Parser.AST.BlockContentComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - var __ret = __Internal.GetDependencies((__Instance + __PointerAdjustment), i); - return Marshal.PtrToStringAnsi(__ret); + return new global::CppSharp.Parser.AST.BlockContentComment(native.ToPointer(), skipVTables); } - public void AddDependencies(string s) + internal static global::CppSharp.Parser.AST.BlockContentComment __CreateInstance(global::CppSharp.Parser.AST.BlockContentComment.__Internal native, bool skipVTables = false) { - __Internal.AddDependencies((__Instance + __PointerAdjustment), s); + return new global::CppSharp.Parser.AST.BlockContentComment(native, skipVTables); } - public void ClearDependencies() + private static void* __CopyValue(global::CppSharp.Parser.AST.BlockContentComment.__Internal native) { - __Internal.ClearDependencies((__Instance + __PointerAdjustment)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); + *(global::CppSharp.Parser.AST.BlockContentComment.__Internal*) ret = native; + return ret.ToPointer(); } - public string FileName + private BlockContentComment(global::CppSharp.Parser.AST.BlockContentComment.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.NativeLibrary.__Internal*) __Instance)->fileName)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.NativeLibrary.__Internal*)__Instance)->fileName), value); - } + protected BlockContentComment(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - public global::CppSharp.Parser.AST.ArchType ArchType + public BlockContentComment() + : this((void*) null) { - get - { - return ((global::CppSharp.Parser.AST.NativeLibrary.__Internal*) __Instance)->archType; - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - set - { - ((global::CppSharp.Parser.AST.NativeLibrary.__Internal*)__Instance)->archType = value; - } + public BlockContentComment(global::CppSharp.Parser.AST.CommentKind Kind) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), Kind); } - public uint SymbolsCount + public BlockContentComment(global::CppSharp.Parser.AST.BlockContentComment _0) + : this((void*) null) { - get - { - var __ret = __Internal.GetSymbolsCount((__Instance + __PointerAdjustment)); - return __ret; - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.BlockContentComment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.BlockContentComment.__Internal*) _0.__Instance); } - public uint DependenciesCount + public static implicit operator global::CppSharp.Parser.AST.BlockContentComment(global::CppSharp.Parser.AST.CommentKind Kind) { - get - { - var __ret = __Internal.GetDependenciesCount((__Instance + __PointerAdjustment)); - return __ret; - } + return new global::CppSharp.Parser.AST.BlockContentComment(Kind); } } - public unsafe partial class ASTContext : IDisposable + public unsafe partial class FullComment : global::CppSharp.Parser.AST.Comment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 24)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TranslationUnit___N_std_S_allocator__S0_ TranslationUnits; + internal global::CppSharp.Parser.AST.CommentKind kind; + + [FieldOffset(8)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BlockContentComment___N_std_S_allocator__S0_ Blocks; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContextC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11FullCommentC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContextC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST11FullCommentC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContextD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11FullCommentD2Ev")] internal static extern void dtor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext18FindOrCreateModuleESs")] - internal static extern global::System.IntPtr FindOrCreateModule(global::System.IntPtr instance, global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C File); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext19getTranslationUnitsEj")] - internal static extern global::System.IntPtr GetTranslationUnits(global::System.IntPtr instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST11FullComment9getBlocksEj")] + internal static extern global::System.IntPtr GetBlocks(global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext19addTranslationUnitsERPNS1_15TranslationUnitE")] - internal static extern void AddTranslationUnits(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST11FullComment9addBlocksERPNS1_19BlockContentCommentE")] + internal static extern void AddBlocks(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext21clearTranslationUnitsEv")] - internal static extern void ClearTranslationUnits(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11FullComment11clearBlocksEv")] + internal static extern void ClearBlocks(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext24getTranslationUnitsCountEv")] - internal static extern uint GetTranslationUnitsCount(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11FullComment14getBlocksCountEv")] + internal static extern uint GetBlocksCount(global::System.IntPtr instance); } - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.ASTContext __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.FullComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ASTContext(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.FullComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.ASTContext __CreateInstance(global::CppSharp.Parser.AST.ASTContext.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.FullComment __CreateInstance(global::CppSharp.Parser.AST.FullComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ASTContext(native, skipVTables); + return new global::CppSharp.Parser.AST.FullComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.ASTContext.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.FullComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal)); - global::CppSharp.Parser.AST.ASTContext.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullComment.__Internal)); + global::CppSharp.Parser.AST.FullComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private ASTContext(global::CppSharp.Parser.AST.ASTContext.__Internal native, bool skipVTables = false) + private FullComment(global::CppSharp.Parser.AST.FullComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected ASTContext(void* native, bool skipVTables = false) + protected FullComment(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public ASTContext() + public FullComment() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public ASTContext(global::CppSharp.Parser.AST.ASTContext _0) + public FullComment(global::CppSharp.Parser.AST.FullComment _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -14766,16 +14613,11 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.ASTContext __dummy; + global::CppSharp.Parser.AST.Comment __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -14784,50 +14626,35 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.TranslationUnit FindOrCreateModule(string File) - { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, File); - var __arg0 = *(global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C*) __basicString0.__Instance; - var __ret = __Internal.FindOrCreateModule((__Instance + __PointerAdjustment), __arg0); - __basicString0.Dispose(false); - global::CppSharp.Parser.AST.TranslationUnit __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.TranslationUnit) global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.TranslationUnit.__CreateInstance(__ret); - return __result0; - } - - public global::CppSharp.Parser.AST.TranslationUnit GetTranslationUnits(uint i) + public global::CppSharp.Parser.AST.BlockContentComment GetBlocks(uint i) { - var __ret = __Internal.GetTranslationUnits((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.TranslationUnit __result0; + var __ret = __Internal.GetBlocks((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.BlockContentComment __result0; if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.TranslationUnit) global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.TranslationUnit.__CreateInstance(__ret); + else if (global::CppSharp.Parser.AST.BlockContentComment.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.BlockContentComment) global::CppSharp.Parser.AST.BlockContentComment.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.BlockContentComment.__CreateInstance(__ret); return __result0; } - public void AddTranslationUnits(global::CppSharp.Parser.AST.TranslationUnit s) + public void AddBlocks(global::CppSharp.Parser.AST.BlockContentComment s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddTranslationUnits((__Instance + __PointerAdjustment), __arg0); + __Internal.AddBlocks((__Instance + __PointerAdjustment), __arg0); } - public void ClearTranslationUnits() + public void ClearBlocks() { - __Internal.ClearTranslationUnits((__Instance + __PointerAdjustment)); + __Internal.ClearBlocks((__Instance + __PointerAdjustment)); } - public uint TranslationUnitsCount + public uint BlocksCount { get { - var __ret = __Internal.GetTranslationUnitsCount((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetBlocksCount((__Instance + __PointerAdjustment)); return __ret; } } @@ -16812,49 +16639,163 @@ namespace CppSharp internal byte hasTrailingNewline; [FieldOffset(8)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C tagName; + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C tagName; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17HTMLEndTagCommentC2Ev")] + internal static extern void ctor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17HTMLEndTagCommentC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17HTMLEndTagCommentD2Ev")] + internal static extern void dtor(global::System.IntPtr instance); + } + + internal static new global::CppSharp.Parser.AST.HTMLEndTagComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.HTMLEndTagComment(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.HTMLEndTagComment __CreateInstance(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.HTMLEndTagComment(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal)); + global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private HTMLEndTagComment(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected HTMLEndTagComment(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public HTMLEndTagComment() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public HTMLEndTagComment(global::CppSharp.Parser.AST.HTMLEndTagComment _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Comment __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public string TagName + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal*) __Instance)->tagName)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal*)__Instance)->tagName), value); + } + } + } + + public unsafe partial class TextComment : global::CppSharp.Parser.AST.InlineContentComment, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 16)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.CommentKind kind; + + [FieldOffset(4)] + internal byte hasTrailingNewline; + + [FieldOffset(8)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C text; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17HTMLEndTagCommentC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11TextCommentC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17HTMLEndTagCommentC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST11TextCommentC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17HTMLEndTagCommentD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11TextCommentD2Ev")] internal static extern void dtor(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.HTMLEndTagComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TextComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.HTMLEndTagComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TextComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.HTMLEndTagComment __CreateInstance(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TextComment __CreateInstance(global::CppSharp.Parser.AST.TextComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.HTMLEndTagComment(native, skipVTables); + return new global::CppSharp.Parser.AST.TextComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TextComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal)); - global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TextComment.__Internal)); + global::CppSharp.Parser.AST.TextComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private HTMLEndTagComment(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal native, bool skipVTables = false) + private TextComment(global::CppSharp.Parser.AST.TextComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected HTMLEndTagComment(void* native, bool skipVTables = false) + protected TextComment(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -16863,19 +16804,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public HTMLEndTagComment() + public TextComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TextComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public HTMLEndTagComment(global::CppSharp.Parser.AST.HTMLEndTagComment _0) + public TextComment(global::CppSharp.Parser.AST.TextComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TextComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -16897,11 +16838,11 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public string TagName + public string Text { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal*) __Instance)->tagName)); + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TextComment.__Internal*) __Instance)->text)); var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); __basicStringRet0.Dispose(false); return __stringRet0; @@ -16909,87 +16850,94 @@ namespace CppSharp set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal*)__Instance)->tagName), value); + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TextComment.__Internal*)__Instance)->text), value); } } } - public unsafe partial class TextComment : global::CppSharp.Parser.AST.InlineContentComment, IDisposable + public unsafe partial class RawComment : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 16)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 32)] + public partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; - - [FieldOffset(4)] - internal byte hasTrailingNewline; + internal global::CppSharp.Parser.AST.RawCommentKind kind; [FieldOffset(8)] internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C text; + [FieldOffset(16)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C briefText; + + [FieldOffset(24)] + internal global::System.IntPtr fullCommentBlock; + [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11TextCommentC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST10RawCommentC2Ev")] internal static extern void ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11TextCommentC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST10RawCommentC2ERKS2_")] internal static extern void cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11TextCommentD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST10RawCommentD2Ev")] internal static extern void dtor(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.TextComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.RawComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TextComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.RawComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TextComment __CreateInstance(global::CppSharp.Parser.AST.TextComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.RawComment __CreateInstance(global::CppSharp.Parser.AST.RawComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TextComment(native, skipVTables); + return new global::CppSharp.Parser.AST.RawComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TextComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.RawComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TextComment.__Internal)); - global::CppSharp.Parser.AST.TextComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); + global::CppSharp.Parser.AST.RawComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TextComment(global::CppSharp.Parser.AST.TextComment.__Internal native, bool skipVTables = false) + private RawComment(global::CppSharp.Parser.AST.RawComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TextComment(void* native, bool skipVTables = false) - : base((void*) null) + protected RawComment(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public TextComment() - : this((void*) null) + public RawComment() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TextComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TextComment(global::CppSharp.Parser.AST.TextComment _0) - : this((void*) null) + public RawComment(global::CppSharp.Parser.AST.RawComment _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TextComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -16998,11 +16946,16 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Comment __dummy; + global::CppSharp.Parser.AST.RawComment __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -17011,11 +16964,24 @@ namespace CppSharp __Instance = IntPtr.Zero; } + public global::CppSharp.Parser.AST.RawCommentKind Kind + { + get + { + return ((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->kind; + } + + set + { + ((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->kind = value; + } + } + public string Text { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TextComment.__Internal*) __Instance)->text)); + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->text)); var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); __basicStringRet0.Dispose(false); return __stringRet0; @@ -17023,7 +16989,41 @@ namespace CppSharp set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TextComment.__Internal*)__Instance)->text), value); + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->text), value); + } + } + + public string BriefText + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->briefText)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->briefText), value); + } + } + + public global::CppSharp.Parser.AST.FullComment FullCommentBlock + { + get + { + global::CppSharp.Parser.AST.FullComment __result0; + if (((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.FullComment.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock)) + __result0 = (global::CppSharp.Parser.AST.FullComment) global::CppSharp.Parser.AST.FullComment.NativeToManagedMap[((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock]; + else __result0 = global::CppSharp.Parser.AST.FullComment.__CreateInstance(((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->fullCommentBlock = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } @@ -17931,6 +17931,53 @@ namespace CppSharp User = 4 } + public unsafe partial class Parser + { + [StructLayout(LayoutKind.Explicit, Size = 0)] + public partial struct __Internal + { + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.Parser __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.Parser(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.Parser __CreateInstance(global::CppSharp.Parser.Parser.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.Parser(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.Parser.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.Parser.__Internal)); + *(global::CppSharp.Parser.Parser.__Internal*) ret = native; + return ret.ToPointer(); + } + + private Parser(global::CppSharp.Parser.Parser.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Parser(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + } + public unsafe partial class CppParserOptions : IDisposable { [StructLayout(LayoutKind.Explicit, Size = 248)] @@ -18787,53 +18834,6 @@ namespace CppSharp } } - public unsafe partial class Parser - { - [StructLayout(LayoutKind.Explicit, Size = 0)] - public partial struct __Internal - { - } - - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.Parser __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.Parser(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.Parser __CreateInstance(global::CppSharp.Parser.Parser.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.Parser(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.Parser.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.Parser.__Internal)); - *(global::CppSharp.Parser.Parser.__Internal*) ret = native; - return ret.ToPointer(); - } - - private Parser(global::CppSharp.Parser.Parser.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected Parser(void* native, bool skipVTables = false) - { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - } - public unsafe partial class ParserResult : IDisposable { [StructLayout(LayoutKind.Explicit, Size = 56)] diff --git a/src/CppParser/Bindings/CSharp/x86_64-pc-win32-msvc/CppSharp.CppParser.cs b/src/CppParser/Bindings/CSharp/x86_64-pc-win32-msvc/CppSharp.CppParser.cs index 95c20e59..d518c76f 100644 --- a/src/CppParser/Bindings/CSharp/x86_64-pc-win32-msvc/CppSharp.CppParser.cs +++ b/src/CppParser/Bindings/CSharp/x86_64-pc-win32-msvc/CppSharp.CppParser.cs @@ -681,177 +681,192 @@ namespace CppSharp } } - public unsafe partial class Declaration : IDisposable + public unsafe partial class TagType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 224)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 16)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + internal global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - internal int maxFieldAlignment; + internal byte isDependent; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; + internal global::System.IntPtr declaration; - [FieldOffset(16)] - internal global::System.IntPtr _namespace; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0TagType@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0TagType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + } - [FieldOffset(28)] - internal int lineNumberStart; + internal static new global::CppSharp.Parser.AST.TagType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.TagType(native.ToPointer(), skipVTables); + } - [FieldOffset(32)] - internal int lineNumberEnd; + internal static global::CppSharp.Parser.AST.TagType __CreateInstance(global::CppSharp.Parser.AST.TagType.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.TagType(native, skipVTables); + } - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + private static void* __CopyValue(global::CppSharp.Parser.AST.TagType.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); + global::CppSharp.Parser.AST.TagType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(72)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + private TagType(global::CppSharp.Parser.AST.TagType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(104)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + protected TagType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(136)] - internal byte isIncomplete; + public TagType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - [FieldOffset(137)] - internal byte isDependent; + public TagType(global::CppSharp.Parser.AST.TagType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(138)] - internal byte isImplicit; + public global::CppSharp.Parser.AST.Declaration Declaration + { + get + { + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration); + return __result0; + } - [FieldOffset(139)] - internal byte isInvalid; + set + { + ((global::CppSharp.Parser.AST.TagType.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } - [FieldOffset(144)] - internal global::System.IntPtr completeDeclaration; + public unsafe partial class ArrayType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; - [FieldOffset(152)] - internal uint definitionOrder; + [FieldOffset(4)] + internal byte isDependent; - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - [FieldOffset(184)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.ArrayType.ArraySize sizeType; - [FieldOffset(208)] - internal global::System.IntPtr originalPtr; + [FieldOffset(28)] + internal int size; - [FieldOffset(216)] - internal global::System.IntPtr comment; + [FieldOffset(32)] + internal int elementSize; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0Declaration@AST@CppParser@CppSharp@@QEAA@W4DeclarationKind@123@@Z")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); + EntryPoint="??0ArrayType@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0Declaration@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0ArrayType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1Declaration@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern void dtor(global::System.IntPtr instance, int delete); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getPreprocessedEntities@Declaration@AST@CppParser@CppSharp@@QEAAPEAVPreprocessedEntity@234@I@Z")] - internal static extern global::System.IntPtr GetPreprocessedEntities(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?addPreprocessedEntities@Declaration@AST@CppParser@CppSharp@@QEAAXAEAPEAVPreprocessedEntity@234@@Z")] - internal static extern void AddPreprocessedEntities(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearPreprocessedEntities@Declaration@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearPreprocessedEntities(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getRedeclarations@Declaration@AST@CppParser@CppSharp@@QEAAPEAV1234@I@Z")] - internal static extern global::System.IntPtr GetRedeclarations(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?addRedeclarations@Declaration@AST@CppParser@CppSharp@@QEAAXAEAPEAV1234@@Z")] - internal static extern void AddRedeclarations(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearRedeclarations@Declaration@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearRedeclarations(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getPreprocessedEntitiesCount@Declaration@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetPreprocessedEntitiesCount(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getRedeclarationsCount@Declaration@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetRedeclarationsCount(global::System.IntPtr instance); } - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; + public enum ArraySize + { + Constant = 0, + Variable = 1, + Dependent = 2, + Incomplete = 3 + } - internal static global::CppSharp.Parser.AST.Declaration __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.ArrayType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Declaration(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.ArrayType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Declaration __CreateInstance(global::CppSharp.Parser.AST.Declaration.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.ArrayType __CreateInstance(global::CppSharp.Parser.AST.ArrayType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Declaration(native, skipVTables); + return new global::CppSharp.Parser.AST.ArrayType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Declaration.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.ArrayType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); - global::CppSharp.Parser.AST.Declaration.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); + global::CppSharp.Parser.AST.ArrayType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Declaration(global::CppSharp.Parser.AST.Declaration.__Internal native, bool skipVTables = false) + private ArrayType(global::CppSharp.Parser.AST.ArrayType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Declaration(void* native, bool skipVTables = false) + protected ArrayType(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public Declaration(global::CppSharp.Parser.AST.DeclarationKind kind) + public ArrayType() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), kind); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public Declaration(global::CppSharp.Parser.AST.Declaration _0) + public ArrayType(global::CppSharp.Parser.AST.ArrayType _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -860,673 +875,731 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public void Dispose() + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { - Dispose(disposing: true); - } + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->qualifiedType)); + } - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; + set + { + ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } } - public global::CppSharp.Parser.AST.PreprocessedEntity GetPreprocessedEntities(uint i) + public global::CppSharp.Parser.AST.ArrayType.ArraySize SizeType { - var __ret = __Internal.GetPreprocessedEntities((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.PreprocessedEntity __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.PreprocessedEntity.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.PreprocessedEntity) global::CppSharp.Parser.AST.PreprocessedEntity.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.PreprocessedEntity.__CreateInstance(__ret); - return __result0; + get + { + return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->sizeType; + } + + set + { + ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->sizeType = value; + } } - public void AddPreprocessedEntities(global::CppSharp.Parser.AST.PreprocessedEntity s) + public int Size { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddPreprocessedEntities((__Instance + __PointerAdjustment), __arg0); + get + { + return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->size; + } + + set + { + ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->size = value; + } } - public void ClearPreprocessedEntities() + public int ElementSize { - __Internal.ClearPreprocessedEntities((__Instance + __PointerAdjustment)); + get + { + return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->elementSize; + } + + set + { + ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->elementSize = value; + } } + } - public global::CppSharp.Parser.AST.Declaration GetRedeclarations(uint i) + public unsafe partial class FunctionType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal { - var __ret = __Internal.GetRedeclarations((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Declaration __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(__ret); - return __result0; + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] + internal byte isDependent; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.CallingConvention callingConvention; + + [FieldOffset(28)] + internal global::CppSharp.Parser.AST.ExceptionSpecType exceptionSpecType; + + [FieldOffset(32)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_S_allocator__S0_ Parameters; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0FunctionType@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0FunctionType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??1FunctionType@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor(global::System.IntPtr instance, int delete); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getParameters@FunctionType@AST@CppParser@CppSharp@@QEAAPEAVParameter@234@I@Z")] + internal static extern global::System.IntPtr GetParameters(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?addParameters@FunctionType@AST@CppParser@CppSharp@@QEAAXAEAPEAVParameter@234@@Z")] + internal static extern void AddParameters(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?clearParameters@FunctionType@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearParameters(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getParametersCount@FunctionType@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetParametersCount(global::System.IntPtr instance); } - public void AddRedeclarations(global::CppSharp.Parser.AST.Declaration s) + internal static new global::CppSharp.Parser.AST.FunctionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddRedeclarations((__Instance + __PointerAdjustment), __arg0); + return new global::CppSharp.Parser.AST.FunctionType(native.ToPointer(), skipVTables); } - public void ClearRedeclarations() + internal static global::CppSharp.Parser.AST.FunctionType __CreateInstance(global::CppSharp.Parser.AST.FunctionType.__Internal native, bool skipVTables = false) { - __Internal.ClearRedeclarations((__Instance + __PointerAdjustment)); + return new global::CppSharp.Parser.AST.FunctionType(native, skipVTables); } - public static implicit operator global::CppSharp.Parser.AST.Declaration(global::CppSharp.Parser.AST.DeclarationKind kind) + private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionType.__Internal native) { - return new global::CppSharp.Parser.AST.Declaration(kind); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); + global::CppSharp.Parser.AST.FunctionType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); } - public global::CppSharp.Parser.AST.DeclarationKind Kind + private FunctionType(global::CppSharp.Parser.AST.FunctionType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->kind; - } + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->kind = value; - } + protected FunctionType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - public int MaxFieldAlignment + public FunctionType() + : this((void*) null) { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->maxFieldAlignment; - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->maxFieldAlignment = value; - } + public FunctionType(global::CppSharp.Parser.AST.FunctionType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.AccessSpecifier Access + public override void Dispose(bool disposing) { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->access; - } + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Type __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->access = value; - } + public global::CppSharp.Parser.AST.Parameter GetParameters(uint i) + { + var __ret = __Internal.GetParameters((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Parameter __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Parameter.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Parameter) global::CppSharp.Parser.AST.Parameter.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Parameter.__CreateInstance(__ret); + return __result0; } - public global::CppSharp.Parser.AST.DeclarationContext Namespace + public void AddParameters(global::CppSharp.Parser.AST.Parameter s) { - get - { - global::CppSharp.Parser.AST.DeclarationContext __result0; - if (((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.DeclarationContext.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace)) - __result0 = (global::CppSharp.Parser.AST.DeclarationContext) global::CppSharp.Parser.AST.DeclarationContext.NativeToManagedMap[((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace]; - else __result0 = global::CppSharp.Parser.AST.DeclarationContext.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace); - return __result0; - } + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddParameters((__Instance + __PointerAdjustment), __arg0); + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->_namespace = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + public void ClearParameters() + { + __Internal.ClearParameters((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.SourceLocation Location + public global::CppSharp.Parser.AST.QualifiedType ReturnType { get { - return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->location); + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->returnType)); } set { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->location = value.__Instance; + ((global::CppSharp.Parser.AST.FunctionType.__Internal*)__Instance)->returnType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public int LineNumberStart + public global::CppSharp.Parser.AST.CallingConvention CallingConvention { get { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->lineNumberStart; + return ((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->callingConvention; } set { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->lineNumberStart = value; + ((global::CppSharp.Parser.AST.FunctionType.__Internal*)__Instance)->callingConvention = value; } } - public int LineNumberEnd + public global::CppSharp.Parser.AST.ExceptionSpecType ExceptionSpecType { get { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->lineNumberEnd; + return ((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->exceptionSpecType; } set { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->lineNumberEnd = value; + ((global::CppSharp.Parser.AST.FunctionType.__Internal*)__Instance)->exceptionSpecType = value; } } - public string Name + public uint ParametersCount { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->name)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + var __ret = __Internal.GetParametersCount((__Instance + __PointerAdjustment)); + return __ret; } + } + } - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->name), value); - } + public unsafe partial class PointerType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] + internal byte isDependent; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedPointee; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.PointerType.TypeModifier modifier; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0PointerType@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0PointerType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); } - public string USR + public enum TypeModifier { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->USR)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + Value = 0, + Pointer = 1, + LVReference = 2, + RVReference = 3 + } - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->USR), value); - } + internal static new global::CppSharp.Parser.AST.PointerType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.PointerType(native.ToPointer(), skipVTables); } - public string DebugText + internal static global::CppSharp.Parser.AST.PointerType __CreateInstance(global::CppSharp.Parser.AST.PointerType.__Internal native, bool skipVTables = false) { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->debugText)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + return new global::CppSharp.Parser.AST.PointerType(native, skipVTables); + } - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->debugText), value); - } + private static void* __CopyValue(global::CppSharp.Parser.AST.PointerType.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); + global::CppSharp.Parser.AST.PointerType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); } - public bool IsIncomplete + private PointerType(global::CppSharp.Parser.AST.PointerType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isIncomplete != 0; - } + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isIncomplete = (byte) (value ? 1 : 0); - } + protected PointerType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - public bool IsDependent + public PointerType() + : this((void*) null) { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isDependent != 0; - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isDependent = (byte) (value ? 1 : 0); - } + public PointerType(global::CppSharp.Parser.AST.PointerType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public bool IsImplicit + public global::CppSharp.Parser.AST.QualifiedType QualifiedPointee { get { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isImplicit != 0; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.PointerType.__Internal*) __Instance)->qualifiedPointee)); } set { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isImplicit = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.PointerType.__Internal*)__Instance)->qualifiedPointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public bool IsInvalid + public global::CppSharp.Parser.AST.PointerType.TypeModifier Modifier { get { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isInvalid != 0; + return ((global::CppSharp.Parser.AST.PointerType.__Internal*) __Instance)->modifier; } set { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isInvalid = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.PointerType.__Internal*)__Instance)->modifier = value; } } + } - public global::CppSharp.Parser.AST.Declaration CompleteDeclaration + public unsafe partial class MemberPointerType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public new partial struct __Internal { - get - { - global::CppSharp.Parser.AST.Declaration __result0; - if (((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration); - return __result0; - } + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->completeDeclaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + [FieldOffset(4)] + internal byte isDependent; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal pointee; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0MemberPointerType@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0MemberPointerType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); } - public uint DefinitionOrder + internal static new global::CppSharp.Parser.AST.MemberPointerType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->definitionOrder; - } + return new global::CppSharp.Parser.AST.MemberPointerType(native.ToPointer(), skipVTables); + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->definitionOrder = value; - } + internal static global::CppSharp.Parser.AST.MemberPointerType __CreateInstance(global::CppSharp.Parser.AST.MemberPointerType.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MemberPointerType(native, skipVTables); } - public global::System.IntPtr OriginalPtr + private static void* __CopyValue(global::CppSharp.Parser.AST.MemberPointerType.__Internal native) { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->originalPtr; - } + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); + global::CppSharp.Parser.AST.MemberPointerType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->originalPtr = (global::System.IntPtr) value; - } + private MemberPointerType(global::CppSharp.Parser.AST.MemberPointerType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; } - public global::CppSharp.Parser.AST.RawComment Comment + protected MemberPointerType(void* native, bool skipVTables = false) + : base((void*) null) { - get - { - global::CppSharp.Parser.AST.RawComment __result0; - if (((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.RawComment.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment)) - __result0 = (global::CppSharp.Parser.AST.RawComment) global::CppSharp.Parser.AST.RawComment.NativeToManagedMap[((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment]; - else __result0 = global::CppSharp.Parser.AST.RawComment.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment); - return __result0; - } + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->comment = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + public MemberPointerType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); } - public uint PreprocessedEntitiesCount + public MemberPointerType(global::CppSharp.Parser.AST.MemberPointerType _0) + : this((void*) null) { - get - { - var __ret = __Internal.GetPreprocessedEntitiesCount((__Instance + __PointerAdjustment)); - return __ret; - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public uint RedeclarationsCount + public global::CppSharp.Parser.AST.QualifiedType Pointee { get { - var __ret = __Internal.GetRedeclarationsCount((__Instance + __PointerAdjustment)); - return __ret; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MemberPointerType.__Internal*) __Instance)->pointee)); + } + + set + { + ((global::CppSharp.Parser.AST.MemberPointerType.__Internal*)__Instance)->pointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } } - public unsafe partial class DeclarationContext : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class TypedefType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 464)] + [StructLayout(LayoutKind.Explicit, Size = 16)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + internal global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - internal int maxFieldAlignment; + internal byte isDependent; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; + internal global::System.IntPtr declaration; - [FieldOffset(16)] - internal global::System.IntPtr _namespace; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0TypedefType@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0TypedefType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + } - [FieldOffset(28)] - internal int lineNumberStart; + internal static new global::CppSharp.Parser.AST.TypedefType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.TypedefType(native.ToPointer(), skipVTables); + } - [FieldOffset(32)] - internal int lineNumberEnd; + internal static global::CppSharp.Parser.AST.TypedefType __CreateInstance(global::CppSharp.Parser.AST.TypedefType.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.TypedefType(native, skipVTables); + } - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefType.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); + global::CppSharp.Parser.AST.TypedefType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(72)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + private TypedefType(global::CppSharp.Parser.AST.TypedefType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(104)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + protected TypedefType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(136)] - internal byte isIncomplete; + public TypedefType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - [FieldOffset(137)] + public TypedefType(global::CppSharp.Parser.AST.TypedefType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public global::CppSharp.Parser.AST.TypedefNameDecl Declaration + { + get + { + global::CppSharp.Parser.AST.TypedefNameDecl __result0; + if (((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TypedefNameDecl.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration)) + __result0 = (global::CppSharp.Parser.AST.TypedefNameDecl) global::CppSharp.Parser.AST.TypedefNameDecl.NativeToManagedMap[((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration]; + else __result0 = global::CppSharp.Parser.AST.TypedefNameDecl.__CreateInstance(((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.TypedefType.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class AttributedType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] internal byte isDependent; - [FieldOffset(138)] - internal byte isImplicit; + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal modified; - [FieldOffset(139)] - internal byte isInvalid; + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal equivalent; - [FieldOffset(144)] - internal global::System.IntPtr completeDeclaration; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0AttributedType@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); - [FieldOffset(152)] - internal uint definitionOrder; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0AttributedType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + } - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + internal static new global::CppSharp.Parser.AST.AttributedType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AttributedType(native.ToPointer(), skipVTables); + } - [FieldOffset(184)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + internal static global::CppSharp.Parser.AST.AttributedType __CreateInstance(global::CppSharp.Parser.AST.AttributedType.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AttributedType(native, skipVTables); + } - [FieldOffset(208)] - internal global::System.IntPtr originalPtr; + private static void* __CopyValue(global::CppSharp.Parser.AST.AttributedType.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); + global::CppSharp.Parser.AST.AttributedType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(216)] - internal global::System.IntPtr comment; + private AttributedType(global::CppSharp.Parser.AST.AttributedType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(224)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; + protected AttributedType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(248)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; + public AttributedType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - [FieldOffset(272)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; + public AttributedType(global::CppSharp.Parser.AST.AttributedType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(296)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; + public global::CppSharp.Parser.AST.QualifiedType Modified + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.AttributedType.__Internal*) __Instance)->modified)); + } - [FieldOffset(320)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; + set + { + ((global::CppSharp.Parser.AST.AttributedType.__Internal*)__Instance)->modified = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } - [FieldOffset(344)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; + public global::CppSharp.Parser.AST.QualifiedType Equivalent + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.AttributedType.__Internal*) __Instance)->equivalent)); + } - [FieldOffset(368)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; + set + { + ((global::CppSharp.Parser.AST.AttributedType.__Internal*)__Instance)->equivalent = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + } - [FieldOffset(392)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; + public unsafe partial class DecayedType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; - [FieldOffset(416)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; + [FieldOffset(4)] + internal byte isDependent; - [FieldOffset(440)] - internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal decayed; - [FieldOffset(456)] - internal byte isAnonymous; + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal original; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0DeclarationContext@AST@CppParser@CppSharp@@QEAA@W4DeclarationKind@123@@Z")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); + [FieldOffset(40)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal pointee; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0DeclarationContext@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="??0DecayedType@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1DeclarationContext@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern void dtor(global::System.IntPtr instance, int delete); + EntryPoint="??0DecayedType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getNamespaces@DeclarationContext@AST@CppParser@CppSharp@@QEAAPEAVNamespace@234@I@Z")] - internal static extern global::System.IntPtr GetNamespaces(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?addNamespaces@DeclarationContext@AST@CppParser@CppSharp@@QEAAXAEAPEAVNamespace@234@@Z")] - internal static extern void AddNamespaces(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearNamespaces@DeclarationContext@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearNamespaces(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getEnums@DeclarationContext@AST@CppParser@CppSharp@@QEAAPEAVEnumeration@234@I@Z")] - internal static extern global::System.IntPtr GetEnums(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?addEnums@DeclarationContext@AST@CppParser@CppSharp@@QEAAXAEAPEAVEnumeration@234@@Z")] - internal static extern void AddEnums(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearEnums@DeclarationContext@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearEnums(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getFunctions@DeclarationContext@AST@CppParser@CppSharp@@QEAAPEAVFunction@234@I@Z")] - internal static extern global::System.IntPtr GetFunctions(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?addFunctions@DeclarationContext@AST@CppParser@CppSharp@@QEAAXAEAPEAVFunction@234@@Z")] - internal static extern void AddFunctions(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearFunctions@DeclarationContext@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearFunctions(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getClasses@DeclarationContext@AST@CppParser@CppSharp@@QEAAPEAVClass@234@I@Z")] - internal static extern global::System.IntPtr GetClasses(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?addClasses@DeclarationContext@AST@CppParser@CppSharp@@QEAAXAEAPEAVClass@234@@Z")] - internal static extern void AddClasses(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearClasses@DeclarationContext@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearClasses(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getTemplates@DeclarationContext@AST@CppParser@CppSharp@@QEAAPEAVTemplate@234@I@Z")] - internal static extern global::System.IntPtr GetTemplates(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?addTemplates@DeclarationContext@AST@CppParser@CppSharp@@QEAAXAEAPEAVTemplate@234@@Z")] - internal static extern void AddTemplates(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearTemplates@DeclarationContext@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearTemplates(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getTypedefs@DeclarationContext@AST@CppParser@CppSharp@@QEAAPEAVTypedefDecl@234@I@Z")] - internal static extern global::System.IntPtr GetTypedefs(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?addTypedefs@DeclarationContext@AST@CppParser@CppSharp@@QEAAXAEAPEAVTypedefDecl@234@@Z")] - internal static extern void AddTypedefs(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearTypedefs@DeclarationContext@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearTypedefs(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getTypeAliases@DeclarationContext@AST@CppParser@CppSharp@@QEAAPEAVTypeAlias@234@I@Z")] - internal static extern global::System.IntPtr GetTypeAliases(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?addTypeAliases@DeclarationContext@AST@CppParser@CppSharp@@QEAAXAEAPEAVTypeAlias@234@@Z")] - internal static extern void AddTypeAliases(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearTypeAliases@DeclarationContext@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearTypeAliases(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getVariables@DeclarationContext@AST@CppParser@CppSharp@@QEAAPEAVVariable@234@I@Z")] - internal static extern global::System.IntPtr GetVariables(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?addVariables@DeclarationContext@AST@CppParser@CppSharp@@QEAAXAEAPEAVVariable@234@@Z")] - internal static extern void AddVariables(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearVariables@DeclarationContext@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearVariables(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getFriends@DeclarationContext@AST@CppParser@CppSharp@@QEAAPEAVFriend@234@I@Z")] - internal static extern global::System.IntPtr GetFriends(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?addFriends@DeclarationContext@AST@CppParser@CppSharp@@QEAAXAEAPEAVFriend@234@@Z")] - internal static extern void AddFriends(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearFriends@DeclarationContext@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearFriends(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getNamespacesCount@DeclarationContext@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetNamespacesCount(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getEnumsCount@DeclarationContext@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetEnumsCount(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getFunctionsCount@DeclarationContext@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetFunctionsCount(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getClassesCount@DeclarationContext@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetClassesCount(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getTemplatesCount@DeclarationContext@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetTemplatesCount(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getTypedefsCount@DeclarationContext@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetTypedefsCount(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getTypeAliasesCount@DeclarationContext@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetTypeAliasesCount(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getVariablesCount@DeclarationContext@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetVariablesCount(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getFriendsCount@DeclarationContext@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetFriendsCount(global::System.IntPtr instance); - } - - internal static new global::CppSharp.Parser.AST.DeclarationContext __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.DecayedType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.DeclarationContext(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.DecayedType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.DeclarationContext __CreateInstance(global::CppSharp.Parser.AST.DeclarationContext.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.DecayedType __CreateInstance(global::CppSharp.Parser.AST.DecayedType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.DeclarationContext(native, skipVTables); + return new global::CppSharp.Parser.AST.DecayedType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.DeclarationContext.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.DecayedType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal)); - global::CppSharp.Parser.AST.DeclarationContext.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); + global::CppSharp.Parser.AST.DecayedType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private DeclarationContext(global::CppSharp.Parser.AST.DeclarationContext.__Internal native, bool skipVTables = false) + private DecayedType(global::CppSharp.Parser.AST.DecayedType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected DeclarationContext(void* native, bool skipVTables = false) + protected DecayedType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -1535,19 +1608,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public DeclarationContext(global::CppSharp.Parser.AST.DeclarationKind kind) + public DecayedType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), kind); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public DeclarationContext(global::CppSharp.Parser.AST.DeclarationContext _0) + public DecayedType(global::CppSharp.Parser.AST.DecayedType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -1556,554 +1629,498 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public global::CppSharp.Parser.AST.QualifiedType Decayed { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->decayed)); + } - public global::CppSharp.Parser.AST.Namespace GetNamespaces(uint i) - { - var __ret = __Internal.GetNamespaces((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Namespace __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Namespace.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Namespace) global::CppSharp.Parser.AST.Namespace.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Namespace.__CreateInstance(__ret); - return __result0; + set + { + ((global::CppSharp.Parser.AST.DecayedType.__Internal*)__Instance)->decayed = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } } - public void AddNamespaces(global::CppSharp.Parser.AST.Namespace s) + public global::CppSharp.Parser.AST.QualifiedType Original { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddNamespaces((__Instance + __PointerAdjustment), __arg0); - } + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->original)); + } - public void ClearNamespaces() - { - __Internal.ClearNamespaces((__Instance + __PointerAdjustment)); + set + { + ((global::CppSharp.Parser.AST.DecayedType.__Internal*)__Instance)->original = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } } - public global::CppSharp.Parser.AST.Enumeration GetEnums(uint i) - { - var __ret = __Internal.GetEnums((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Enumeration __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Enumeration.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Enumeration) global::CppSharp.Parser.AST.Enumeration.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Enumeration.__CreateInstance(__ret); - return __result0; - } - - public void AddEnums(global::CppSharp.Parser.AST.Enumeration s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddEnums((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearEnums() - { - __Internal.ClearEnums((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.Function GetFunctions(uint i) - { - var __ret = __Internal.GetFunctions((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Function __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(__ret); - return __result0; - } - - public void AddFunctions(global::CppSharp.Parser.AST.Function s) + public global::CppSharp.Parser.AST.QualifiedType Pointee { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddFunctions((__Instance + __PointerAdjustment), __arg0); - } + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->pointee)); + } - public void ClearFunctions() - { - __Internal.ClearFunctions((__Instance + __PointerAdjustment)); + set + { + ((global::CppSharp.Parser.AST.DecayedType.__Internal*)__Instance)->pointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } } + } - public global::CppSharp.Parser.AST.Class GetClasses(uint i) + public unsafe partial class TemplateArgument : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public partial struct __Internal { - var __ret = __Internal.GetClasses((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Class __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(__ret); - return __result0; - } + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TemplateArgument.ArgumentKind kind; - public void AddClasses(global::CppSharp.Parser.AST.Class s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddClasses((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; - public void ClearClasses() - { - __Internal.ClearClasses((__Instance + __PointerAdjustment)); - } + [FieldOffset(24)] + internal global::System.IntPtr declaration; - public global::CppSharp.Parser.AST.Template GetTemplates(uint i) - { - var __ret = __Internal.GetTemplates((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Template __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Template.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Template) global::CppSharp.Parser.AST.Template.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Template.__CreateInstance(__ret); - return __result0; - } + [FieldOffset(32)] + internal int integral; - public void AddTemplates(global::CppSharp.Parser.AST.Template s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddTemplates((__Instance + __PointerAdjustment), __arg0); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0TemplateArgument@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); - public void ClearTemplates() - { - __Internal.ClearTemplates((__Instance + __PointerAdjustment)); + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0TemplateArgument@AST@CppParser@CppSharp@@QEAA@AEBU0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); } - public global::CppSharp.Parser.AST.TypedefDecl GetTypedefs(uint i) + public enum ArgumentKind { - var __ret = __Internal.GetTypedefs((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.TypedefDecl __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TypedefDecl.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.TypedefDecl) global::CppSharp.Parser.AST.TypedefDecl.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.TypedefDecl.__CreateInstance(__ret); - return __result0; + Type = 0, + Declaration = 1, + NullPtr = 2, + Integral = 3, + Template = 4, + TemplateExpansion = 5, + Expression = 6, + Pack = 7 } - public void AddTypedefs(global::CppSharp.Parser.AST.TypedefDecl s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddTypedefs((__Instance + __PointerAdjustment), __arg0); - } + public global::System.IntPtr __Instance { get; protected set; } - public void ClearTypedefs() - { - __Internal.ClearTypedefs((__Instance + __PointerAdjustment)); - } + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; - public global::CppSharp.Parser.AST.TypeAlias GetTypeAliases(uint i) - { - var __ret = __Internal.GetTypeAliases((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.TypeAlias __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TypeAlias.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.TypeAlias) global::CppSharp.Parser.AST.TypeAlias.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.TypeAlias.__CreateInstance(__ret); - return __result0; - } + protected bool __ownsNativeInstance; - public void AddTypeAliases(global::CppSharp.Parser.AST.TypeAlias s) + internal static global::CppSharp.Parser.AST.TemplateArgument __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddTypeAliases((__Instance + __PointerAdjustment), __arg0); + return new global::CppSharp.Parser.AST.TemplateArgument(native.ToPointer(), skipVTables); } - public void ClearTypeAliases() + internal static global::CppSharp.Parser.AST.TemplateArgument __CreateInstance(global::CppSharp.Parser.AST.TemplateArgument.__Internal native, bool skipVTables = false) { - __Internal.ClearTypeAliases((__Instance + __PointerAdjustment)); + return new global::CppSharp.Parser.AST.TemplateArgument(native, skipVTables); } - public global::CppSharp.Parser.AST.Variable GetVariables(uint i) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateArgument.__Internal native) { - var __ret = __Internal.GetVariables((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Variable __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Variable.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Variable) global::CppSharp.Parser.AST.Variable.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Variable.__CreateInstance(__ret); - return __result0; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); + *(global::CppSharp.Parser.AST.TemplateArgument.__Internal*) ret = native; + return ret.ToPointer(); } - public void AddVariables(global::CppSharp.Parser.AST.Variable s) + private TemplateArgument(global::CppSharp.Parser.AST.TemplateArgument.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddVariables((__Instance + __PointerAdjustment), __arg0); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; } - public void ClearVariables() + protected TemplateArgument(void* native, bool skipVTables = false) { - __Internal.ClearVariables((__Instance + __PointerAdjustment)); + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - public global::CppSharp.Parser.AST.Friend GetFriends(uint i) + public TemplateArgument() { - var __ret = __Internal.GetFriends((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Friend __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Friend.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Friend) global::CppSharp.Parser.AST.Friend.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Friend.__CreateInstance(__ret); - return __result0; + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); } - public void AddFriends(global::CppSharp.Parser.AST.Friend s) + public TemplateArgument(global::CppSharp.Parser.AST.TemplateArgument _0) { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddFriends((__Instance + __PointerAdjustment), __arg0); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) _0.__Instance); } - public void ClearFriends() + public void Dispose() { - __Internal.ClearFriends((__Instance + __PointerAdjustment)); + Dispose(disposing: true); } - public static implicit operator global::CppSharp.Parser.AST.DeclarationContext(global::CppSharp.Parser.AST.DeclarationKind kind) + public virtual void Dispose(bool disposing) { - return new global::CppSharp.Parser.AST.DeclarationContext(kind); + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.TemplateArgument __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; } - public bool IsAnonymous + public global::CppSharp.Parser.AST.TemplateArgument.ArgumentKind Kind { get { - return ((global::CppSharp.Parser.AST.DeclarationContext.__Internal*) __Instance)->isAnonymous != 0; + return ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->kind; } set { - ((global::CppSharp.Parser.AST.DeclarationContext.__Internal*)__Instance)->isAnonymous = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->kind = value; } } - public uint NamespacesCount + public global::CppSharp.Parser.AST.QualifiedType Type { get { - var __ret = __Internal.GetNamespacesCount((__Instance + __PointerAdjustment)); - return __ret; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->type)); } - } - public uint EnumsCount - { - get + set { - var __ret = __Internal.GetEnumsCount((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public uint FunctionsCount + public global::CppSharp.Parser.AST.Declaration Declaration { get { - var __ret = __Internal.GetFunctionsCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - - public uint ClassesCount - { - get - { - var __ret = __Internal.GetClassesCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - - public uint TemplatesCount - { - get - { - var __ret = __Internal.GetTemplatesCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - - public uint TypedefsCount - { - get - { - var __ret = __Internal.GetTypedefsCount((__Instance + __PointerAdjustment)); - return __ret; + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration); + return __result0; } - } - public uint TypeAliasesCount - { - get + set { - var __ret = __Internal.GetTypeAliasesCount((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public uint VariablesCount + public int Integral { get { - var __ret = __Internal.GetVariablesCount((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->integral; } - } - public uint FriendsCount - { - get + set { - var __ret = __Internal.GetFriendsCount((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->integral = value; } } } - public unsafe partial class PreprocessedEntity : IDisposable + public unsafe partial class TemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 24)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.MacroLocation macroLocation; + internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] + internal byte isDependent; [FieldOffset(8)] - internal global::System.IntPtr originalPtr; + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; - [FieldOffset(16)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + [FieldOffset(32)] + internal global::System.IntPtr _template; + + [FieldOffset(40)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0PreprocessedEntity@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0TemplateSpecializationType@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0PreprocessedEntity@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0TemplateSpecializationType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); - } - public global::System.IntPtr __Instance { get; protected set; } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??1TemplateSpecializationType@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor(global::System.IntPtr instance, int delete); - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getArguments@TemplateSpecializationType@AST@CppParser@CppSharp@@QEAA?AUTemplateArgument@234@I@Z")] + internal static extern void GetArguments(global::System.IntPtr instance, global::System.IntPtr @return, uint i); - protected bool __ownsNativeInstance; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?addArguments@TemplateSpecializationType@AST@CppParser@CppSharp@@QEAAXAEAUTemplateArgument@234@@Z")] + internal static extern void AddArguments(global::System.IntPtr instance, global::System.IntPtr s); - internal static global::CppSharp.Parser.AST.PreprocessedEntity __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?clearArguments@TemplateSpecializationType@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearArguments(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getArgumentsCount@TemplateSpecializationType@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetArgumentsCount(global::System.IntPtr instance); + } + + internal static new global::CppSharp.Parser.AST.TemplateSpecializationType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.PreprocessedEntity(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TemplateSpecializationType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.PreprocessedEntity __CreateInstance(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TemplateSpecializationType __CreateInstance(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.PreprocessedEntity(native, skipVTables); + return new global::CppSharp.Parser.AST.TemplateSpecializationType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); - *(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) ret = native; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); + global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private PreprocessedEntity(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native, bool skipVTables = false) + private TemplateSpecializationType(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected PreprocessedEntity(void* native, bool skipVTables = false) + protected TemplateSpecializationType(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public PreprocessedEntity() + public TemplateSpecializationType() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public PreprocessedEntity(global::CppSharp.Parser.AST.PreprocessedEntity _0) + public TemplateSpecializationType(global::CppSharp.Parser.AST.TemplateSpecializationType _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) _0.__Instance); - } - - public void Dispose() - { - Dispose(disposing: true); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.PreprocessedEntity __dummy; + global::CppSharp.Parser.AST.Type __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.MacroLocation MacroLocation + public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) + { + var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); + __Internal.GetArguments((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); + return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); + } + + public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearArguments() + { + __Internal.ClearArguments((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.Template Template { get { - return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->macroLocation; + global::CppSharp.Parser.AST.Template __result0; + if (((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Template.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template)) + __result0 = (global::CppSharp.Parser.AST.Template) global::CppSharp.Parser.AST.Template.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template]; + else __result0 = global::CppSharp.Parser.AST.Template.__CreateInstance(((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template); + return __result0; } set { - ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*)__Instance)->macroLocation = value; + ((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*)__Instance)->_template = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public global::System.IntPtr OriginalPtr + public global::CppSharp.Parser.AST.QualifiedType Desugared { get { - return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->originalPtr; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->desugared)); } set { - ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*)__Instance)->originalPtr = (global::System.IntPtr) value; + ((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*)__Instance)->desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public global::CppSharp.Parser.AST.DeclarationKind Kind + public uint ArgumentsCount { get { - return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->kind; - } - - set - { - ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*)__Instance)->kind = value; + var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class RawComment : IDisposable + public unsafe partial class DependentTemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 80)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.RawCommentKind kind; + internal global::CppSharp.Parser.AST.TypeKind kind; - [FieldOffset(8)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C text; + [FieldOffset(4)] + internal byte isDependent; - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C briefText; + [FieldOffset(8)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; - [FieldOffset(72)] - internal global::System.IntPtr fullCommentBlock; + [FieldOffset(32)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0RawComment@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0DependentTemplateSpecializationType@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0RawComment@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0DependentTemplateSpecializationType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1RawComment@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??1DependentTemplateSpecializationType@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern void dtor(global::System.IntPtr instance, int delete); - } - public global::System.IntPtr __Instance { get; protected set; } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getArguments@DependentTemplateSpecializationType@AST@CppParser@CppSharp@@QEAA?AUTemplateArgument@234@I@Z")] + internal static extern void GetArguments(global::System.IntPtr instance, global::System.IntPtr @return, uint i); - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?addArguments@DependentTemplateSpecializationType@AST@CppParser@CppSharp@@QEAAXAEAUTemplateArgument@234@@Z")] + internal static extern void AddArguments(global::System.IntPtr instance, global::System.IntPtr s); - protected bool __ownsNativeInstance; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?clearArguments@DependentTemplateSpecializationType@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearArguments(global::System.IntPtr instance); - internal static global::CppSharp.Parser.AST.RawComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.RawComment(native.ToPointer(), skipVTables); + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getArgumentsCount@DependentTemplateSpecializationType@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetArgumentsCount(global::System.IntPtr instance); } - internal static global::CppSharp.Parser.AST.RawComment __CreateInstance(global::CppSharp.Parser.AST.RawComment.__Internal native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.DependentTemplateSpecializationType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.RawComment(native, skipVTables); + return new global::CppSharp.Parser.AST.DependentTemplateSpecializationType(native.ToPointer(), skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.RawComment.__Internal native) + internal static global::CppSharp.Parser.AST.DependentTemplateSpecializationType __CreateInstance(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native, bool skipVTables = false) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); - global::CppSharp.Parser.AST.RawComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return new global::CppSharp.Parser.AST.DependentTemplateSpecializationType(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); + global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private RawComment(global::CppSharp.Parser.AST.RawComment.__Internal native, bool skipVTables = false) + private DependentTemplateSpecializationType(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected RawComment(void* native, bool skipVTables = false) + protected DependentTemplateSpecializationType(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public RawComment() + public DependentTemplateSpecializationType() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public RawComment(global::CppSharp.Parser.AST.RawComment _0) + public DependentTemplateSpecializationType(global::CppSharp.Parser.AST.DependentTemplateSpecializationType _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -2112,16 +2129,11 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.RawComment __dummy; + global::CppSharp.Parser.AST.Type __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -2130,142 +2142,113 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.RawCommentKind Kind + public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) { - get - { - return ((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->kind; - } - - set - { - ((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->kind = value; - } + var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); + __Internal.GetArguments((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); + return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); } - public string Text + public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->text)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); + } - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->text), value); - } + public void ClearArguments() + { + __Internal.ClearArguments((__Instance + __PointerAdjustment)); } - public string BriefText + public global::CppSharp.Parser.AST.QualifiedType Desugared { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->briefText)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal*) __Instance)->desugared)); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->briefText), value); + ((global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal*)__Instance)->desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public global::CppSharp.Parser.AST.FullComment FullCommentBlock + public uint ArgumentsCount { get { - global::CppSharp.Parser.AST.FullComment __result0; - if (((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.FullComment.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock)) - __result0 = (global::CppSharp.Parser.AST.FullComment) global::CppSharp.Parser.AST.FullComment.NativeToManagedMap[((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock]; - else __result0 = global::CppSharp.Parser.AST.FullComment.__CreateInstance(((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->fullCommentBlock = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class FullComment : global::CppSharp.Parser.AST.Comment, IDisposable + public unsafe partial class TemplateParameterType : global::CppSharp.Parser.AST.Type, IDisposable { [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + internal global::CppSharp.Parser.AST.TypeKind kind; - [FieldOffset(8)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BlockContentComment___N_std_S_allocator__S0_ Blocks; + [FieldOffset(4)] + internal byte isDependent; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0FullComment@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); + [FieldOffset(8)] + internal global::System.IntPtr parameter; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0FullComment@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + [FieldOffset(16)] + internal uint depth; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1FullComment@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern void dtor(global::System.IntPtr instance, int delete); + [FieldOffset(20)] + internal uint index; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getBlocks@FullComment@AST@CppParser@CppSharp@@QEAAPEAVBlockContentComment@234@I@Z")] - internal static extern global::System.IntPtr GetBlocks(global::System.IntPtr instance, uint i); + [FieldOffset(24)] + internal byte isParameterPack; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?addBlocks@FullComment@AST@CppParser@CppSharp@@QEAAXAEAPEAVBlockContentComment@234@@Z")] - internal static extern void AddBlocks(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="??0TemplateParameterType@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearBlocks@FullComment@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearBlocks(global::System.IntPtr instance); + EntryPoint="??0TemplateParameterType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getBlocksCount@FullComment@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetBlocksCount(global::System.IntPtr instance); + EntryPoint="??1TemplateParameterType@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor(global::System.IntPtr instance, int delete); } - internal static new global::CppSharp.Parser.AST.FullComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TemplateParameterType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.FullComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TemplateParameterType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.FullComment __CreateInstance(global::CppSharp.Parser.AST.FullComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TemplateParameterType __CreateInstance(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.FullComment(native, skipVTables); + return new global::CppSharp.Parser.AST.TemplateParameterType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.FullComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullComment.__Internal)); - global::CppSharp.Parser.AST.FullComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); + global::CppSharp.Parser.AST.TemplateParameterType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private FullComment(global::CppSharp.Parser.AST.FullComment.__Internal native, bool skipVTables = false) + private TemplateParameterType(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected FullComment(void* native, bool skipVTables = false) + protected TemplateParameterType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -2274,19 +2257,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public FullComment() + public TemplateParameterType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public FullComment(global::CppSharp.Parser.AST.FullComment _0) + public TemplateParameterType(global::CppSharp.Parser.AST.TemplateParameterType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -2299,7 +2282,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Comment __dummy; + global::CppSharp.Parser.AST.Type __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -2308,198 +2291,231 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.BlockContentComment GetBlocks(uint i) + public global::CppSharp.Parser.AST.TypeTemplateParameter Parameter { - var __ret = __Internal.GetBlocks((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.BlockContentComment __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.BlockContentComment.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.BlockContentComment) global::CppSharp.Parser.AST.BlockContentComment.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.BlockContentComment.__CreateInstance(__ret); - return __result0; + get + { + global::CppSharp.Parser.AST.TypeTemplateParameter __result0; + if (((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TypeTemplateParameter.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter)) + __result0 = (global::CppSharp.Parser.AST.TypeTemplateParameter) global::CppSharp.Parser.AST.TypeTemplateParameter.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter]; + else __result0 = global::CppSharp.Parser.AST.TypeTemplateParameter.__CreateInstance(((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->parameter = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } } - public void AddBlocks(global::CppSharp.Parser.AST.BlockContentComment s) + public uint Depth { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddBlocks((__Instance + __PointerAdjustment), __arg0); + get + { + return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->depth; + } + + set + { + ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->depth = value; + } } - public void ClearBlocks() + public uint Index { - __Internal.ClearBlocks((__Instance + __PointerAdjustment)); + get + { + return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->index; + } + + set + { + ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->index = value; + } } - public uint BlocksCount + public bool IsParameterPack { get { - var __ret = __Internal.GetBlocksCount((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->isParameterPack != 0; + } + + set + { + ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->isParameterPack = (byte) (value ? 1 : 0); } } } - public unsafe partial class Comment : IDisposable + public unsafe partial class TemplateParameterSubstitutionType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 4)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] + internal byte isDependent; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal replacement; + + [FieldOffset(24)] + internal global::System.IntPtr replacedParameter; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0Comment@AST@CppParser@CppSharp@@QEAA@W4CommentKind@123@@Z")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr instance, global::CppSharp.Parser.AST.CommentKind kind); + EntryPoint="??0TemplateParameterSubstitutionType@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0Comment@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0TemplateParameterSubstitutionType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); } - public global::System.IntPtr __Instance { get; protected set; } + internal static new global::CppSharp.Parser.AST.TemplateParameterSubstitutionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.TemplateParameterSubstitutionType(native.ToPointer(), skipVTables); + } - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.Comment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Comment(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.Comment __CreateInstance(global::CppSharp.Parser.AST.Comment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TemplateParameterSubstitutionType __CreateInstance(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Comment(native, skipVTables); + return new global::CppSharp.Parser.AST.TemplateParameterSubstitutionType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Comment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Comment.__Internal)); - *(global::CppSharp.Parser.AST.Comment.__Internal*) ret = native; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); + global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Comment(global::CppSharp.Parser.AST.Comment.__Internal native, bool skipVTables = false) + private TemplateParameterSubstitutionType(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Comment(void* native, bool skipVTables = false) + protected TemplateParameterSubstitutionType(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public Comment(global::CppSharp.Parser.AST.CommentKind kind) + public TemplateParameterSubstitutionType() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Comment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), kind); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public Comment(global::CppSharp.Parser.AST.Comment _0) + public TemplateParameterSubstitutionType(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Comment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.Comment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.Comment.__Internal*) _0.__Instance); - } - - public void Dispose() - { - Dispose(disposing: true); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public virtual void Dispose(bool disposing) + public global::CppSharp.Parser.AST.QualifiedType Replacement { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Comment __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacement)); + } - public static implicit operator global::CppSharp.Parser.AST.Comment(global::CppSharp.Parser.AST.CommentKind kind) - { - return new global::CppSharp.Parser.AST.Comment(kind); + set + { + ((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*)__Instance)->replacement = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } } - public global::CppSharp.Parser.AST.CommentKind Kind + public global::CppSharp.Parser.AST.TemplateParameterType ReplacedParameter { get { - return ((global::CppSharp.Parser.AST.Comment.__Internal*) __Instance)->kind; + global::CppSharp.Parser.AST.TemplateParameterType __result0; + if (((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TemplateParameterType.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter)) + __result0 = (global::CppSharp.Parser.AST.TemplateParameterType) global::CppSharp.Parser.AST.TemplateParameterType.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter]; + else __result0 = global::CppSharp.Parser.AST.TemplateParameterType.__CreateInstance(((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter); + return __result0; } set { - ((global::CppSharp.Parser.AST.Comment.__Internal*)__Instance)->kind = value; + ((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*)__Instance)->replacedParameter = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } - public unsafe partial class BlockContentComment : global::CppSharp.Parser.AST.Comment, IDisposable + public unsafe partial class InjectedClassNameType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 4)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + internal global::CppSharp.Parser.AST.TypeKind kind; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0BlockContentComment@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); + [FieldOffset(4)] + internal byte isDependent; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal injectedSpecializationType; + + [FieldOffset(24)] + internal global::System.IntPtr _class; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0BlockContentComment@AST@CppParser@CppSharp@@QEAA@W4CommentKind@123@@Z")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr instance, global::CppSharp.Parser.AST.CommentKind Kind); + EntryPoint="??0InjectedClassNameType@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0BlockContentComment@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0InjectedClassNameType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); } - internal static new global::CppSharp.Parser.AST.BlockContentComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.InjectedClassNameType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.BlockContentComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.InjectedClassNameType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.BlockContentComment __CreateInstance(global::CppSharp.Parser.AST.BlockContentComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.InjectedClassNameType __CreateInstance(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.BlockContentComment(native, skipVTables); + return new global::CppSharp.Parser.AST.InjectedClassNameType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.BlockContentComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); - *(global::CppSharp.Parser.AST.BlockContentComment.__Internal*) ret = native; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); + global::CppSharp.Parser.AST.InjectedClassNameType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private BlockContentComment(global::CppSharp.Parser.AST.BlockContentComment.__Internal native, bool skipVTables = false) + private InjectedClassNameType(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected BlockContentComment(void* native, bool skipVTables = false) + protected InjectedClassNameType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -2508,181 +2524,319 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public BlockContentComment() + public InjectedClassNameType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public BlockContentComment(global::CppSharp.Parser.AST.CommentKind Kind) + public InjectedClassNameType(global::CppSharp.Parser.AST.InjectedClassNameType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), Kind); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public BlockContentComment(global::CppSharp.Parser.AST.BlockContentComment _0) - : this((void*) null) + public global::CppSharp.Parser.AST.QualifiedType InjectedSpecializationType { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.BlockContentComment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.BlockContentComment.__Internal*) _0.__Instance); + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->injectedSpecializationType)); + } + + set + { + ((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*)__Instance)->injectedSpecializationType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } } - public static implicit operator global::CppSharp.Parser.AST.BlockContentComment(global::CppSharp.Parser.AST.CommentKind Kind) + public global::CppSharp.Parser.AST.Class Class { - return new global::CppSharp.Parser.AST.BlockContentComment(Kind); + get + { + global::CppSharp.Parser.AST.Class __result0; + if (((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class)) + __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class]; + else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*)__Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } } } - public unsafe partial class Namespace : global::CppSharp.Parser.AST.DeclarationContext, IDisposable + public unsafe partial class DependentNameType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 472)] + [StructLayout(LayoutKind.Explicit, Size = 56)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + internal global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - internal int maxFieldAlignment; + internal byte isDependent; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifier; [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; - - [FieldOffset(32)] - internal int lineNumberEnd; + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C identifier; - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0DependentNameType@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); - [FieldOffset(72)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0DependentNameType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); - [FieldOffset(104)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??1DependentNameType@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor(global::System.IntPtr instance, int delete); + } - [FieldOffset(136)] - internal byte isIncomplete; + internal static new global::CppSharp.Parser.AST.DependentNameType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DependentNameType(native.ToPointer(), skipVTables); + } - [FieldOffset(137)] - internal byte isDependent; + internal static global::CppSharp.Parser.AST.DependentNameType __CreateInstance(global::CppSharp.Parser.AST.DependentNameType.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DependentNameType(native, skipVTables); + } - [FieldOffset(138)] - internal byte isImplicit; + private static void* __CopyValue(global::CppSharp.Parser.AST.DependentNameType.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); + global::CppSharp.Parser.AST.DependentNameType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(139)] - internal byte isInvalid; + private DependentNameType(global::CppSharp.Parser.AST.DependentNameType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(144)] - internal global::System.IntPtr completeDeclaration; + protected DependentNameType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(152)] - internal uint definitionOrder; + public DependentNameType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + public DependentNameType(global::CppSharp.Parser.AST.DependentNameType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(184)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Type __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } - [FieldOffset(208)] - internal global::System.IntPtr originalPtr; + public global::CppSharp.Parser.AST.QualifiedType Qualifier + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentNameType.__Internal*) __Instance)->qualifier)); + } - [FieldOffset(216)] - internal global::System.IntPtr comment; + set + { + ((global::CppSharp.Parser.AST.DependentNameType.__Internal*)__Instance)->qualifier = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } - [FieldOffset(224)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; + public string Identifier + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentNameType.__Internal*) __Instance)->identifier)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } - [FieldOffset(248)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentNameType.__Internal*)__Instance)->identifier), value); + } + } + } - [FieldOffset(272)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; + public unsafe partial class PackExpansionType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 8)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; - [FieldOffset(296)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; + [FieldOffset(4)] + internal byte isDependent; - [FieldOffset(320)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0PackExpansionType@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); - [FieldOffset(344)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0PackExpansionType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + } - [FieldOffset(368)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; + internal static new global::CppSharp.Parser.AST.PackExpansionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.PackExpansionType(native.ToPointer(), skipVTables); + } - [FieldOffset(392)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; + internal static global::CppSharp.Parser.AST.PackExpansionType __CreateInstance(global::CppSharp.Parser.AST.PackExpansionType.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.PackExpansionType(native, skipVTables); + } - [FieldOffset(416)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; + private static void* __CopyValue(global::CppSharp.Parser.AST.PackExpansionType.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); + global::CppSharp.Parser.AST.PackExpansionType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(440)] - internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + private PackExpansionType(global::CppSharp.Parser.AST.PackExpansionType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(456)] - internal byte isAnonymous; + protected PackExpansionType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(464)] - internal byte isInline; + public PackExpansionType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public PackExpansionType(global::CppSharp.Parser.AST.PackExpansionType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + } + + public unsafe partial class UnaryTransformType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] + internal byte isDependent; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal baseType; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0Namespace@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0UnaryTransformType@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0Namespace@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0UnaryTransformType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1Namespace@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern void dtor(global::System.IntPtr instance, int delete); } - internal static new global::CppSharp.Parser.AST.Namespace __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.UnaryTransformType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Namespace(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.UnaryTransformType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Namespace __CreateInstance(global::CppSharp.Parser.AST.Namespace.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.UnaryTransformType __CreateInstance(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Namespace(native, skipVTables); + return new global::CppSharp.Parser.AST.UnaryTransformType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Namespace.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); - global::CppSharp.Parser.AST.Namespace.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); + global::CppSharp.Parser.AST.UnaryTransformType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Namespace(global::CppSharp.Parser.AST.Namespace.__Internal native, bool skipVTables = false) + private UnaryTransformType(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Namespace(void* native, bool skipVTables = false) + protected UnaryTransformType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -2691,19 +2845,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Namespace() + public UnaryTransformType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public Namespace(global::CppSharp.Parser.AST.Namespace _0) + public UnaryTransformType(global::CppSharp.Parser.AST.UnaryTransformType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -2712,778 +2866,470 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public global::CppSharp.Parser.AST.QualifiedType Desugared { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*) __Instance)->desugared)); + } + + set + { + ((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*)__Instance)->desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } } - public bool IsInline + public global::CppSharp.Parser.AST.QualifiedType BaseType { get { - return ((global::CppSharp.Parser.AST.Namespace.__Internal*) __Instance)->isInline != 0; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*) __Instance)->baseType)); } set { - ((global::CppSharp.Parser.AST.Namespace.__Internal*)__Instance)->isInline = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*)__Instance)->baseType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } } - public unsafe partial class Enumeration : global::CppSharp.Parser.AST.DeclarationContext, IDisposable + public unsafe partial class VectorType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 512)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + internal global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - internal int maxFieldAlignment; + internal byte isDependent; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal elementType; [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; + internal uint numElements; - [FieldOffset(32)] - internal int lineNumberEnd; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0VectorType@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0VectorType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + } - [FieldOffset(72)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + internal static new global::CppSharp.Parser.AST.VectorType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.VectorType(native.ToPointer(), skipVTables); + } - [FieldOffset(104)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + internal static global::CppSharp.Parser.AST.VectorType __CreateInstance(global::CppSharp.Parser.AST.VectorType.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.VectorType(native, skipVTables); + } - [FieldOffset(136)] - internal byte isIncomplete; + private static void* __CopyValue(global::CppSharp.Parser.AST.VectorType.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); + global::CppSharp.Parser.AST.VectorType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(137)] - internal byte isDependent; + private VectorType(global::CppSharp.Parser.AST.VectorType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(138)] - internal byte isImplicit; + protected VectorType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(139)] - internal byte isInvalid; + public VectorType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - [FieldOffset(144)] - internal global::System.IntPtr completeDeclaration; + public VectorType(global::CppSharp.Parser.AST.VectorType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(152)] - internal uint definitionOrder; + public global::CppSharp.Parser.AST.QualifiedType ElementType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VectorType.__Internal*) __Instance)->elementType)); + } - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + set + { + ((global::CppSharp.Parser.AST.VectorType.__Internal*)__Instance)->elementType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } - [FieldOffset(184)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + public uint NumElements + { + get + { + return ((global::CppSharp.Parser.AST.VectorType.__Internal*) __Instance)->numElements; + } - [FieldOffset(208)] - internal global::System.IntPtr originalPtr; + set + { + ((global::CppSharp.Parser.AST.VectorType.__Internal*)__Instance)->numElements = value; + } + } + } - [FieldOffset(216)] - internal global::System.IntPtr comment; + public unsafe partial class BuiltinType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 12)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; - [FieldOffset(224)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; + [FieldOffset(4)] + internal byte isDependent; - [FieldOffset(248)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.PrimitiveType type; - [FieldOffset(272)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0BuiltinType@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); - [FieldOffset(296)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0BuiltinType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + } - [FieldOffset(320)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; + internal static new global::CppSharp.Parser.AST.BuiltinType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.BuiltinType(native.ToPointer(), skipVTables); + } - [FieldOffset(344)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; + internal static global::CppSharp.Parser.AST.BuiltinType __CreateInstance(global::CppSharp.Parser.AST.BuiltinType.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.BuiltinType(native, skipVTables); + } - [FieldOffset(368)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; + private static void* __CopyValue(global::CppSharp.Parser.AST.BuiltinType.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); + global::CppSharp.Parser.AST.BuiltinType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(392)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; + private BuiltinType(global::CppSharp.Parser.AST.BuiltinType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(416)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; + protected BuiltinType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(440)] - internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + public BuiltinType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - [FieldOffset(456)] - internal byte isAnonymous; + public BuiltinType(global::CppSharp.Parser.AST.BuiltinType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(464)] - internal global::CppSharp.Parser.AST.Enumeration.EnumModifiers modifiers; + public global::CppSharp.Parser.AST.PrimitiveType Type + { + get + { + return ((global::CppSharp.Parser.AST.BuiltinType.__Internal*) __Instance)->type; + } - [FieldOffset(472)] - internal global::System.IntPtr type; + set + { + ((global::CppSharp.Parser.AST.BuiltinType.__Internal*)__Instance)->type = value; + } + } + } - [FieldOffset(480)] - internal global::System.IntPtr builtinType; + public unsafe partial class VTableComponent : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 16)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.VTableComponentKind kind; - [FieldOffset(488)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration_S_Item___N_std_S_allocator__S0_ Items; + [FieldOffset(4)] + internal uint offset; + + [FieldOffset(8)] + internal global::System.IntPtr declaration; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0Enumeration@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0VTableComponent@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0Enumeration@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0VTableComponent@AST@CppParser@CppSharp@@QEAA@AEBU0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1Enumeration@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern void dtor(global::System.IntPtr instance, int delete); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getItems@Enumeration@AST@CppParser@CppSharp@@QEAAPEAVItem@1234@I@Z")] - internal static extern global::System.IntPtr GetItems(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?addItems@Enumeration@AST@CppParser@CppSharp@@QEAAXAEAPEAVItem@1234@@Z")] - internal static extern void AddItems(global::System.IntPtr instance, global::System.IntPtr s); + public global::System.IntPtr __Instance { get; protected set; } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearItems@Enumeration@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearItems(global::System.IntPtr instance); + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?FindItemByName@Enumeration@AST@CppParser@CppSharp@@QEAAPEAVItem@1234@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z")] - internal static extern global::System.IntPtr FindItemByName(global::System.IntPtr instance, global::System.IntPtr Name); + protected bool __ownsNativeInstance; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getItemsCount@Enumeration@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetItemsCount(global::System.IntPtr instance); + internal static global::CppSharp.Parser.AST.VTableComponent __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.VTableComponent(native.ToPointer(), skipVTables); } - [Flags] - public enum EnumModifiers + internal static global::CppSharp.Parser.AST.VTableComponent __CreateInstance(global::CppSharp.Parser.AST.VTableComponent.__Internal native, bool skipVTables = false) { - Anonymous = 1, - Scoped = 2, - Flags = 4 - } - - public unsafe partial class Item : global::CppSharp.Parser.AST.Declaration, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 264)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; - - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; - - [FieldOffset(32)] - internal int lineNumberEnd; - - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - - [FieldOffset(72)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - - [FieldOffset(104)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - - [FieldOffset(136)] - internal byte isIncomplete; - - [FieldOffset(137)] - internal byte isDependent; - - [FieldOffset(138)] - internal byte isImplicit; - - [FieldOffset(139)] - internal byte isInvalid; - - [FieldOffset(144)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(152)] - internal uint definitionOrder; - - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(184)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - - [FieldOffset(208)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(216)] - internal global::System.IntPtr comment; - - [FieldOffset(224)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C expression; - - [FieldOffset(256)] - internal ulong value; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0Item@Enumeration@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0Item@Enumeration@AST@CppParser@CppSharp@@QEAA@AEBV01234@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1Item@Enumeration@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern void dtor(global::System.IntPtr instance, int delete); - } - - internal static new global::CppSharp.Parser.AST.Enumeration.Item __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Enumeration.Item(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.Enumeration.Item __CreateInstance(global::CppSharp.Parser.AST.Enumeration.Item.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Enumeration.Item(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.Enumeration.Item.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); - global::CppSharp.Parser.AST.Enumeration.Item.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private Item(global::CppSharp.Parser.AST.Enumeration.Item.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected Item(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public Item() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } - - public Item(global::CppSharp.Parser.AST.Enumeration.Item _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } - - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - - public string Expression - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*) __Instance)->expression)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*)__Instance)->expression), value); - } - } - - public ulong Value - { - get - { - return ((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*) __Instance)->value; - } - - set - { - ((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*)__Instance)->value = value; - } - } - } - - internal static new global::CppSharp.Parser.AST.Enumeration __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Enumeration(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.Enumeration __CreateInstance(global::CppSharp.Parser.AST.Enumeration.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Enumeration(native, skipVTables); + return new global::CppSharp.Parser.AST.VTableComponent(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Enumeration.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VTableComponent.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); - global::CppSharp.Parser.AST.Enumeration.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); + *(global::CppSharp.Parser.AST.VTableComponent.__Internal*) ret = native; return ret.ToPointer(); } - private Enumeration(global::CppSharp.Parser.AST.Enumeration.__Internal native, bool skipVTables = false) + private VTableComponent(global::CppSharp.Parser.AST.VTableComponent.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Enumeration(void* native, bool skipVTables = false) - : base((void*) null) + protected VTableComponent(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public Enumeration() - : this((void*) null) + public VTableComponent() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public Enumeration(global::CppSharp.Parser.AST.Enumeration _0) - : this((void*) null) + public VTableComponent(global::CppSharp.Parser.AST.VTableComponent _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + *((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.VTableComponent.__Internal*) _0.__Instance); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.VTableComponent __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.Enumeration.Item GetItems(uint i) + public global::CppSharp.Parser.AST.VTableComponentKind Kind { - var __ret = __Internal.GetItems((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Enumeration.Item __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Enumeration.Item) global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Enumeration.Item.__CreateInstance(__ret); - return __result0; + get + { + return ((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->kind; + } + + set + { + ((global::CppSharp.Parser.AST.VTableComponent.__Internal*)__Instance)->kind = value; + } } - public void AddItems(global::CppSharp.Parser.AST.Enumeration.Item s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddItems((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearItems() - { - __Internal.ClearItems((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.Enumeration.Item FindItemByName(string Name) - { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, Name); - var __arg0 = __basicString0.__Instance; - var __ret = __Internal.FindItemByName((__Instance + __PointerAdjustment), __arg0); - __basicString0.Dispose(false); - global::CppSharp.Parser.AST.Enumeration.Item __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Enumeration.Item) global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Enumeration.Item.__CreateInstance(__ret); - return __result0; - } - - public global::CppSharp.Parser.AST.Enumeration.EnumModifiers Modifiers - { - get - { - return ((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->modifiers; - } - - set - { - ((global::CppSharp.Parser.AST.Enumeration.__Internal*)__Instance)->modifiers = value; - } - } - - public global::CppSharp.Parser.AST.Type Type + public uint Offset { get { - global::CppSharp.Parser.AST.Type __result0; - if (((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type)) - __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type]; - else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type); - return __result0; + return ((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->offset; } set { - ((global::CppSharp.Parser.AST.Enumeration.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.VTableComponent.__Internal*)__Instance)->offset = value; } } - public global::CppSharp.Parser.AST.BuiltinType BuiltinType + public global::CppSharp.Parser.AST.Declaration Declaration { get { - global::CppSharp.Parser.AST.BuiltinType __result0; - if (((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.BuiltinType.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType)) - __result0 = (global::CppSharp.Parser.AST.BuiltinType) global::CppSharp.Parser.AST.BuiltinType.NativeToManagedMap[((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType]; - else __result0 = global::CppSharp.Parser.AST.BuiltinType.__CreateInstance(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType); + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration); return __result0; } set { - ((global::CppSharp.Parser.AST.Enumeration.__Internal*)__Instance)->builtinType = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } - - public uint ItemsCount - { - get - { - var __ret = __Internal.GetItemsCount((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.VTableComponent.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } - public unsafe partial class Function : global::CppSharp.Parser.AST.DeclarationContext, IDisposable + public unsafe partial class VTableLayout : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 656)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 24)] + public partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; - - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; - - [FieldOffset(32)] - internal int lineNumberEnd; - - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - - [FieldOffset(72)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - - [FieldOffset(104)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - - [FieldOffset(136)] - internal byte isIncomplete; - - [FieldOffset(137)] - internal byte isDependent; - - [FieldOffset(138)] - internal byte isImplicit; - - [FieldOffset(139)] - internal byte isInvalid; - - [FieldOffset(144)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(152)] - internal uint definitionOrder; - - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(184)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - - [FieldOffset(208)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(216)] - internal global::System.IntPtr comment; - - [FieldOffset(224)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; - - [FieldOffset(248)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; - - [FieldOffset(272)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; - - [FieldOffset(296)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; - - [FieldOffset(320)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; - - [FieldOffset(344)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; - - [FieldOffset(368)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; - - [FieldOffset(392)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; - - [FieldOffset(416)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; - - [FieldOffset(440)] - internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; - - [FieldOffset(456)] - internal byte isAnonymous; - - [FieldOffset(464)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; - - [FieldOffset(480)] - internal byte isReturnIndirect; - - [FieldOffset(481)] - internal byte hasThisReturn; - - [FieldOffset(482)] - internal byte isConstExpr; - - [FieldOffset(483)] - internal byte isVariadic; - - [FieldOffset(484)] - internal byte isInline; - - [FieldOffset(485)] - internal byte isPure; - - [FieldOffset(486)] - internal byte isDeleted; - - [FieldOffset(487)] - internal byte isDefaulted; - - [FieldOffset(488)] - internal global::CppSharp.Parser.AST.FriendKind friendKind; - - [FieldOffset(492)] - internal global::CppSharp.Parser.AST.CXXOperatorKind operatorKind; - - [FieldOffset(496)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C mangled; - - [FieldOffset(528)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C signature; - - [FieldOffset(560)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C body; - - [FieldOffset(592)] - internal global::CppSharp.Parser.AST.CallingConvention callingConvention; - - [FieldOffset(600)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_S_allocator__S0_ Parameters; - - [FieldOffset(624)] - internal global::System.IntPtr specializationInfo; - - [FieldOffset(632)] - internal global::System.IntPtr instantiatedFrom; - - [FieldOffset(640)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_VTableComponent___N_std_S_allocator__S0_ Components; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0Function@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0VTableLayout@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0Function@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0VTableLayout@AST@CppParser@CppSharp@@QEAA@AEBU0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1Function@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??1VTableLayout@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern void dtor(global::System.IntPtr instance, int delete); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getParameters@Function@AST@CppParser@CppSharp@@QEAAPEAVParameter@234@I@Z")] - internal static extern global::System.IntPtr GetParameters(global::System.IntPtr instance, uint i); + EntryPoint="?getComponents@VTableLayout@AST@CppParser@CppSharp@@QEAA?AUVTableComponent@234@I@Z")] + internal static extern void GetComponents(global::System.IntPtr instance, global::System.IntPtr @return, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?addParameters@Function@AST@CppParser@CppSharp@@QEAAXAEAPEAVParameter@234@@Z")] - internal static extern void AddParameters(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="?addComponents@VTableLayout@AST@CppParser@CppSharp@@QEAAXAEAUVTableComponent@234@@Z")] + internal static extern void AddComponents(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearParameters@Function@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearParameters(global::System.IntPtr instance); + EntryPoint="?clearComponents@VTableLayout@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearComponents(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getParametersCount@Function@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetParametersCount(global::System.IntPtr instance); + EntryPoint="?getComponentsCount@VTableLayout@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetComponentsCount(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.Function __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Function(native.ToPointer(), skipVTables); - } + public global::System.IntPtr __Instance { get; protected set; } - internal static global::CppSharp.Parser.AST.Function __CreateInstance(global::CppSharp.Parser.AST.Function.__Internal native, bool skipVTables = false) + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.VTableLayout __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Function(native, skipVTables); + return new global::CppSharp.Parser.AST.VTableLayout(native.ToPointer(), skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Function.__Internal native) + internal static global::CppSharp.Parser.AST.VTableLayout __CreateInstance(global::CppSharp.Parser.AST.VTableLayout.__Internal native, bool skipVTables = false) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); - global::CppSharp.Parser.AST.Function.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return new global::CppSharp.Parser.AST.VTableLayout(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.VTableLayout.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); + global::CppSharp.Parser.AST.VTableLayout.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Function(global::CppSharp.Parser.AST.Function.__Internal native, bool skipVTables = false) + private VTableLayout(global::CppSharp.Parser.AST.VTableLayout.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Function(void* native, bool skipVTables = false) - : base((void*) null) + protected VTableLayout(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public Function() - : this((void*) null) + public VTableLayout() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public Function(global::CppSharp.Parser.AST.Function _0) - : this((void*) null) + public VTableLayout(global::CppSharp.Parser.AST.VTableLayout _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -3492,11 +3338,16 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.VTableLayout __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -3505,267 +3356,333 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.Parameter GetParameters(uint i) + public global::CppSharp.Parser.AST.VTableComponent GetComponents(uint i) { - var __ret = __Internal.GetParameters((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Parameter __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Parameter.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Parameter) global::CppSharp.Parser.AST.Parameter.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Parameter.__CreateInstance(__ret); - return __result0; + var __ret = new global::CppSharp.Parser.AST.VTableComponent.__Internal(); + __Internal.GetComponents((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); + return global::CppSharp.Parser.AST.VTableComponent.__CreateInstance(__ret); } - public void AddParameters(global::CppSharp.Parser.AST.Parameter s) + public void AddComponents(global::CppSharp.Parser.AST.VTableComponent s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddParameters((__Instance + __PointerAdjustment), __arg0); + __Internal.AddComponents((__Instance + __PointerAdjustment), __arg0); } - public void ClearParameters() + public void ClearComponents() { - __Internal.ClearParameters((__Instance + __PointerAdjustment)); + __Internal.ClearComponents((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.QualifiedType ReturnType + public uint ComponentsCount { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->returnType)); - } - - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->returnType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + var __ret = __Internal.GetComponentsCount((__Instance + __PointerAdjustment)); + return __ret; } } + } - public bool IsReturnIndirect + public unsafe partial class VFTableInfo : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public partial struct __Internal { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isReturnIndirect != 0; - } + [FieldOffset(0)] + internal ulong VBTableIndex; - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isReturnIndirect = (byte) (value ? 1 : 0); - } - } + [FieldOffset(8)] + internal uint VFPtrOffset; - public bool HasThisReturn - { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->hasThisReturn != 0; - } + [FieldOffset(12)] + internal uint VFPtrFullOffset; - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->hasThisReturn = (byte) (value ? 1 : 0); - } + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.VTableLayout.__Internal layout; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0VFTableInfo@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0VFTableInfo@AST@CppParser@CppSharp@@QEAA@AEBU0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??1VFTableInfo@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor(global::System.IntPtr instance, int delete); } - public bool IsConstExpr - { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isConstExpr != 0; - } + public global::System.IntPtr __Instance { get; protected set; } - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isConstExpr = (byte) (value ? 1 : 0); - } + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.VFTableInfo __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.VFTableInfo(native.ToPointer(), skipVTables); } - public bool IsVariadic + internal static global::CppSharp.Parser.AST.VFTableInfo __CreateInstance(global::CppSharp.Parser.AST.VFTableInfo.__Internal native, bool skipVTables = false) { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isVariadic != 0; - } + return new global::CppSharp.Parser.AST.VFTableInfo(native, skipVTables); + } - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isVariadic = (byte) (value ? 1 : 0); - } + private static void* __CopyValue(global::CppSharp.Parser.AST.VFTableInfo.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); + global::CppSharp.Parser.AST.VFTableInfo.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); } - public bool IsInline + private VFTableInfo(global::CppSharp.Parser.AST.VFTableInfo.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isInline != 0; - } + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isInline = (byte) (value ? 1 : 0); - } + protected VFTableInfo(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - public bool IsPure + public VFTableInfo() { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isPure != 0; - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isPure = (byte) (value ? 1 : 0); - } + public VFTableInfo(global::CppSharp.Parser.AST.VFTableInfo _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public bool IsDeleted + public void Dispose() { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isDeleted != 0; - } + Dispose(disposing: true); + } - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isDeleted = (byte) (value ? 1 : 0); - } + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.VFTableInfo __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; } - public bool IsDefaulted + public ulong VBTableIndex { get { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isDefaulted != 0; + return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VBTableIndex; } set { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isDefaulted = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->VBTableIndex = value; } } - public global::CppSharp.Parser.AST.FriendKind FriendKind + public uint VFPtrOffset { get { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->friendKind; + return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VFPtrOffset; } set { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->friendKind = value; + ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->VFPtrOffset = value; } } - public global::CppSharp.Parser.AST.CXXOperatorKind OperatorKind + public uint VFPtrFullOffset { get { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->operatorKind; + return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VFPtrFullOffset; } set { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->operatorKind = value; + ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->VFPtrFullOffset = value; } } - public string Mangled + public global::CppSharp.Parser.AST.VTableLayout Layout { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->mangled)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->layout)); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->mangled), value); + ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->layout = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.VTableLayout.__Internal() : *(global::CppSharp.Parser.AST.VTableLayout.__Internal*) value.__Instance; } } + } - public string Signature - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->signature)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + public unsafe partial class LayoutField : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public partial struct __Internal + { + [FieldOffset(0)] + internal uint offset; - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->signature), value); - } + [FieldOffset(8)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(40)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(56)] + internal global::System.IntPtr fieldPtr; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0LayoutField@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0LayoutField@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr other); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??1LayoutField@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor(global::System.IntPtr instance, int delete); } - public string Body + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.LayoutField __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->body)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + return new global::CppSharp.Parser.AST.LayoutField(native.ToPointer(), skipVTables); + } - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->body), value); - } + internal static global::CppSharp.Parser.AST.LayoutField __CreateInstance(global::CppSharp.Parser.AST.LayoutField.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.LayoutField(native, skipVTables); } - public global::CppSharp.Parser.AST.CallingConvention CallingConvention + private static void* __CopyValue(global::CppSharp.Parser.AST.LayoutField.__Internal native) { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->callingConvention; - } + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); + global::CppSharp.Parser.AST.LayoutField.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->callingConvention = value; - } + private LayoutField(global::CppSharp.Parser.AST.LayoutField.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; } - public global::CppSharp.Parser.AST.FunctionTemplateSpecialization SpecializationInfo + protected LayoutField(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public LayoutField() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public LayoutField(global::CppSharp.Parser.AST.LayoutField other) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(other, null)) + throw new global::System.ArgumentNullException("other", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = other.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.LayoutField __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public uint Offset { get { - global::CppSharp.Parser.AST.FunctionTemplateSpecialization __result0; - if (((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo)) - __result0 = (global::CppSharp.Parser.AST.FunctionTemplateSpecialization) global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap[((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo]; - else __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__CreateInstance(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo); - return __result0; + return ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->offset; } set { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->specializationInfo = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->offset = value; } } - public global::CppSharp.Parser.AST.Function InstantiatedFrom + public string Name { get { - global::CppSharp.Parser.AST.Function __result0; - if (((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom)) - __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom]; - else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom); - return __result0; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->name)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->instantiatedFrom = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->name), value); } } @@ -3773,310 +3690,325 @@ namespace CppSharp { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->qualifiedType)); + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->qualifiedType)); } set { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public uint ParametersCount + public global::System.IntPtr FieldPtr { get { - var __ret = __Internal.GetParametersCount((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->fieldPtr; + } + + set + { + ((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->fieldPtr = (global::System.IntPtr) value; } } } - public unsafe partial class Class : global::CppSharp.Parser.AST.DeclarationContext, IDisposable + public unsafe partial class LayoutBase : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 584)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 16)] + public partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; + internal uint offset; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; - - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; + internal global::System.IntPtr _class; - [FieldOffset(28)] - internal int lineNumberStart; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0LayoutBase@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); - [FieldOffset(32)] - internal int lineNumberEnd; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0LayoutBase@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr other); - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??1LayoutBase@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor(global::System.IntPtr instance, int delete); + } - [FieldOffset(72)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + public global::System.IntPtr __Instance { get; protected set; } - [FieldOffset(104)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; - [FieldOffset(136)] - internal byte isIncomplete; + protected bool __ownsNativeInstance; - [FieldOffset(137)] - internal byte isDependent; + internal static global::CppSharp.Parser.AST.LayoutBase __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.LayoutBase(native.ToPointer(), skipVTables); + } - [FieldOffset(138)] - internal byte isImplicit; + internal static global::CppSharp.Parser.AST.LayoutBase __CreateInstance(global::CppSharp.Parser.AST.LayoutBase.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.LayoutBase(native, skipVTables); + } - [FieldOffset(139)] - internal byte isInvalid; + private static void* __CopyValue(global::CppSharp.Parser.AST.LayoutBase.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); + global::CppSharp.Parser.AST.LayoutBase.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(144)] - internal global::System.IntPtr completeDeclaration; + private LayoutBase(global::CppSharp.Parser.AST.LayoutBase.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(152)] - internal uint definitionOrder; + protected LayoutBase(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(184)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - - [FieldOffset(208)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(216)] - internal global::System.IntPtr comment; - - [FieldOffset(224)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; - - [FieldOffset(248)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; - - [FieldOffset(272)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; - - [FieldOffset(296)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; - - [FieldOffset(320)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; - - [FieldOffset(344)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; - - [FieldOffset(368)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; - - [FieldOffset(392)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; - - [FieldOffset(416)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; + public LayoutBase() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - [FieldOffset(440)] - internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + public LayoutBase(global::CppSharp.Parser.AST.LayoutBase other) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(other, null)) + throw new global::System.ArgumentNullException("other", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = other.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(456)] - internal byte isAnonymous; + public void Dispose() + { + Dispose(disposing: true); + } - [FieldOffset(464)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BaseClassSpecifier___N_std_S_allocator__S0_ Bases; + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.LayoutBase __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } - [FieldOffset(488)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Field___N_std_S_allocator__S0_ Fields; + public uint Offset + { + get + { + return ((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->offset; + } - [FieldOffset(512)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_S_allocator__S0_ Methods; + set + { + ((global::CppSharp.Parser.AST.LayoutBase.__Internal*)__Instance)->offset = value; + } + } - [FieldOffset(536)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_AccessSpecifierDecl___N_std_S_allocator__S0_ Specifiers; + public global::CppSharp.Parser.AST.Class Class + { + get + { + global::CppSharp.Parser.AST.Class __result0; + if (((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class)) + __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class]; + else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class); + return __result0; + } - [FieldOffset(560)] - internal byte isPOD; + set + { + ((global::CppSharp.Parser.AST.LayoutBase.__Internal*)__Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } - [FieldOffset(561)] - internal byte isAbstract; + public unsafe partial class ClassLayout : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 128)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.CppAbi ABI; - [FieldOffset(562)] - internal byte isUnion; + [FieldOffset(8)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_VFTableInfo___N_std_S_allocator__S0_ VFTables; - [FieldOffset(563)] - internal byte isDynamic; + [FieldOffset(32)] + internal global::CppSharp.Parser.AST.VTableLayout.__Internal layout; - [FieldOffset(564)] - internal byte isPolymorphic; + [FieldOffset(56)] + internal byte hasOwnVFPtr; - [FieldOffset(565)] - internal byte hasNonTrivialDefaultConstructor; + [FieldOffset(60)] + internal int VBPtrOffset; - [FieldOffset(566)] - internal byte hasNonTrivialCopyConstructor; + [FieldOffset(64)] + internal int alignment; - [FieldOffset(567)] - internal byte hasNonTrivialDestructor; + [FieldOffset(68)] + internal int size; - [FieldOffset(568)] - internal byte isExternCContext; + [FieldOffset(72)] + internal int dataSize; - [FieldOffset(569)] - internal byte isInjected; + [FieldOffset(80)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_LayoutField___N_std_S_allocator__S0_ Fields; - [FieldOffset(576)] - internal global::System.IntPtr layout; + [FieldOffset(104)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_LayoutBase___N_std_S_allocator__S0_ Bases; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0Class@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0ClassLayout@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0Class@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0ClassLayout@AST@CppParser@CppSharp@@QEAA@AEBU0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1Class@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??1ClassLayout@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern void dtor(global::System.IntPtr instance, int delete); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getBases@Class@AST@CppParser@CppSharp@@QEAAPEAUBaseClassSpecifier@234@I@Z")] - internal static extern global::System.IntPtr GetBases(global::System.IntPtr instance, uint i); + EntryPoint="?getVFTables@ClassLayout@AST@CppParser@CppSharp@@QEAA?AUVFTableInfo@234@I@Z")] + internal static extern void GetVFTables(global::System.IntPtr instance, global::System.IntPtr @return, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?addBases@Class@AST@CppParser@CppSharp@@QEAAXAEAPEAUBaseClassSpecifier@234@@Z")] - internal static extern void AddBases(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="?addVFTables@ClassLayout@AST@CppParser@CppSharp@@QEAAXAEAUVFTableInfo@234@@Z")] + internal static extern void AddVFTables(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearBases@Class@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearBases(global::System.IntPtr instance); + EntryPoint="?clearVFTables@ClassLayout@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearVFTables(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getFields@Class@AST@CppParser@CppSharp@@QEAAPEAVField@234@I@Z")] - internal static extern global::System.IntPtr GetFields(global::System.IntPtr instance, uint i); + EntryPoint="?getFields@ClassLayout@AST@CppParser@CppSharp@@QEAA?AVLayoutField@234@I@Z")] + internal static extern void GetFields(global::System.IntPtr instance, global::System.IntPtr @return, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?addFields@Class@AST@CppParser@CppSharp@@QEAAXAEAPEAVField@234@@Z")] + EntryPoint="?addFields@ClassLayout@AST@CppParser@CppSharp@@QEAAXAEAVLayoutField@234@@Z")] internal static extern void AddFields(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearFields@Class@AST@CppParser@CppSharp@@QEAAXXZ")] + EntryPoint="?clearFields@ClassLayout@AST@CppParser@CppSharp@@QEAAXXZ")] internal static extern void ClearFields(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getMethods@Class@AST@CppParser@CppSharp@@QEAAPEAVMethod@234@I@Z")] - internal static extern global::System.IntPtr GetMethods(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?addMethods@Class@AST@CppParser@CppSharp@@QEAAXAEAPEAVMethod@234@@Z")] - internal static extern void AddMethods(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="?getBases@ClassLayout@AST@CppParser@CppSharp@@QEAA?AVLayoutBase@234@I@Z")] + internal static extern void GetBases(global::System.IntPtr instance, global::System.IntPtr @return, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearMethods@Class@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearMethods(global::System.IntPtr instance); + EntryPoint="?addBases@ClassLayout@AST@CppParser@CppSharp@@QEAAXAEAVLayoutBase@234@@Z")] + internal static extern void AddBases(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getSpecifiers@Class@AST@CppParser@CppSharp@@QEAAPEAVAccessSpecifierDecl@234@I@Z")] - internal static extern global::System.IntPtr GetSpecifiers(global::System.IntPtr instance, uint i); + EntryPoint="?clearBases@ClassLayout@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearBases(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?addSpecifiers@Class@AST@CppParser@CppSharp@@QEAAXAEAPEAVAccessSpecifierDecl@234@@Z")] - internal static extern void AddSpecifiers(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="?getVFTablesCount@ClassLayout@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetVFTablesCount(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearSpecifiers@Class@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearSpecifiers(global::System.IntPtr instance); + EntryPoint="?getFieldsCount@ClassLayout@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetFieldsCount(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getBasesCount@Class@AST@CppParser@CppSharp@@QEAAIXZ")] + EntryPoint="?getBasesCount@ClassLayout@AST@CppParser@CppSharp@@QEAAIXZ")] internal static extern uint GetBasesCount(global::System.IntPtr instance); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getFieldsCount@Class@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetFieldsCount(global::System.IntPtr instance); + public global::System.IntPtr __Instance { get; protected set; } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getMethodsCount@Class@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetMethodsCount(global::System.IntPtr instance); + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getSpecifiersCount@Class@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetSpecifiersCount(global::System.IntPtr instance); - } + protected bool __ownsNativeInstance; - internal static new global::CppSharp.Parser.AST.Class __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.ClassLayout __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Class(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.ClassLayout(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Class __CreateInstance(global::CppSharp.Parser.AST.Class.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.ClassLayout __CreateInstance(global::CppSharp.Parser.AST.ClassLayout.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Class(native, skipVTables); + return new global::CppSharp.Parser.AST.ClassLayout(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Class.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.ClassLayout.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); - global::CppSharp.Parser.AST.Class.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); + global::CppSharp.Parser.AST.ClassLayout.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Class(global::CppSharp.Parser.AST.Class.__Internal native, bool skipVTables = false) + private ClassLayout(global::CppSharp.Parser.AST.ClassLayout.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Class(void* native, bool skipVTables = false) - : base((void*) null) + protected ClassLayout(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public Class() - : this((void*) null) + public ClassLayout() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public Class(global::CppSharp.Parser.AST.Class _0) - : this((void*) null) + public ClassLayout(global::CppSharp.Parser.AST.ClassLayout _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -4085,11 +4017,16 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.ClassLayout __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -4098,42 +4035,34 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.BaseClassSpecifier GetBases(uint i) + public global::CppSharp.Parser.AST.VFTableInfo GetVFTables(uint i) { - var __ret = __Internal.GetBases((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.BaseClassSpecifier __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.BaseClassSpecifier.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.BaseClassSpecifier) global::CppSharp.Parser.AST.BaseClassSpecifier.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.BaseClassSpecifier.__CreateInstance(__ret); - return __result0; + var __ret = new global::CppSharp.Parser.AST.VFTableInfo.__Internal(); + __Internal.GetVFTables((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); + return global::CppSharp.Parser.AST.VFTableInfo.__CreateInstance(__ret); } - public void AddBases(global::CppSharp.Parser.AST.BaseClassSpecifier s) + public void AddVFTables(global::CppSharp.Parser.AST.VFTableInfo s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddBases((__Instance + __PointerAdjustment), __arg0); + __Internal.AddVFTables((__Instance + __PointerAdjustment), __arg0); } - public void ClearBases() + public void ClearVFTables() { - __Internal.ClearBases((__Instance + __PointerAdjustment)); + __Internal.ClearVFTables((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.Field GetFields(uint i) + public global::CppSharp.Parser.AST.LayoutField GetFields(uint i) { - var __ret = __Internal.GetFields((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Field __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Field.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Field) global::CppSharp.Parser.AST.Field.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Field.__CreateInstance(__ret); - return __result0; + var __ret = new global::CppSharp.Parser.AST.LayoutField.__Internal(); + __Internal.GetFields((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); + return global::CppSharp.Parser.AST.LayoutField.__CreateInstance(__ret); } - public void AddFields(global::CppSharp.Parser.AST.Field s) + public void AddFields(global::CppSharp.Parser.AST.LayoutField s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); @@ -4146,207 +4075,122 @@ namespace CppSharp __Internal.ClearFields((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.Method GetMethods(uint i) - { - var __ret = __Internal.GetMethods((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Method __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Method.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Method) global::CppSharp.Parser.AST.Method.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Method.__CreateInstance(__ret); - return __result0; - } - - public void AddMethods(global::CppSharp.Parser.AST.Method s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddMethods((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearMethods() - { - __Internal.ClearMethods((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.AccessSpecifierDecl GetSpecifiers(uint i) + public global::CppSharp.Parser.AST.LayoutBase GetBases(uint i) { - var __ret = __Internal.GetSpecifiers((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.AccessSpecifierDecl __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.AccessSpecifierDecl.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.AccessSpecifierDecl) global::CppSharp.Parser.AST.AccessSpecifierDecl.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.AccessSpecifierDecl.__CreateInstance(__ret); - return __result0; + var __ret = new global::CppSharp.Parser.AST.LayoutBase.__Internal(); + __Internal.GetBases((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); + return global::CppSharp.Parser.AST.LayoutBase.__CreateInstance(__ret); } - public void AddSpecifiers(global::CppSharp.Parser.AST.AccessSpecifierDecl s) + public void AddBases(global::CppSharp.Parser.AST.LayoutBase s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddSpecifiers((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearSpecifiers() - { - __Internal.ClearSpecifiers((__Instance + __PointerAdjustment)); - } - - public bool IsPOD - { - get - { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isPOD != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isPOD = (byte) (value ? 1 : 0); - } - } - - public bool IsAbstract - { - get - { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isAbstract != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isAbstract = (byte) (value ? 1 : 0); - } - } - - public bool IsUnion - { - get - { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isUnion != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isUnion = (byte) (value ? 1 : 0); - } + __Internal.AddBases((__Instance + __PointerAdjustment), __arg0); } - public bool IsDynamic + public void ClearBases() { - get - { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isDynamic != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isDynamic = (byte) (value ? 1 : 0); - } + __Internal.ClearBases((__Instance + __PointerAdjustment)); } - public bool IsPolymorphic + public global::CppSharp.Parser.AST.CppAbi ABI { get { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isPolymorphic != 0; + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->ABI; } set { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isPolymorphic = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->ABI = value; } } - public bool HasNonTrivialDefaultConstructor + public global::CppSharp.Parser.AST.VTableLayout Layout { get { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->hasNonTrivialDefaultConstructor != 0; + return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->layout)); } set { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->hasNonTrivialDefaultConstructor = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->layout = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.VTableLayout.__Internal() : *(global::CppSharp.Parser.AST.VTableLayout.__Internal*) value.__Instance; } } - public bool HasNonTrivialCopyConstructor + public bool HasOwnVFPtr { get { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->hasNonTrivialCopyConstructor != 0; + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->hasOwnVFPtr != 0; } set { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->hasNonTrivialCopyConstructor = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->hasOwnVFPtr = (byte) (value ? 1 : 0); } } - public bool HasNonTrivialDestructor + public int VBPtrOffset { get { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->hasNonTrivialDestructor != 0; + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->VBPtrOffset; } set { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->hasNonTrivialDestructor = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->VBPtrOffset = value; } } - public bool IsExternCContext + public int Alignment { get { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isExternCContext != 0; + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->alignment; } set { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isExternCContext = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->alignment = value; } } - public bool IsInjected + public int Size { get { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isInjected != 0; + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->size; } set { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isInjected = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->size = value; } } - public global::CppSharp.Parser.AST.ClassLayout Layout + public int DataSize { get { - global::CppSharp.Parser.AST.ClassLayout __result0; - if (((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.ClassLayout.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout)) - __result0 = (global::CppSharp.Parser.AST.ClassLayout) global::CppSharp.Parser.AST.ClassLayout.NativeToManagedMap[((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout]; - else __result0 = global::CppSharp.Parser.AST.ClassLayout.__CreateInstance(((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout); - return __result0; + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->dataSize; } set { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->layout = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->dataSize = value; } } - public uint BasesCount + public uint VFTablesCount { get { - var __ret = __Internal.GetBasesCount((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetVFTablesCount((__Instance + __PointerAdjustment)); return __ret; } } @@ -4360,29 +4204,20 @@ namespace CppSharp } } - public uint MethodsCount - { - get - { - var __ret = __Internal.GetMethodsCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - - public uint SpecifiersCount + public uint BasesCount { get { - var __ret = __Internal.GetSpecifiersCount((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetBasesCount((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class Template : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class Declaration : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 256)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 224)] + public partial struct __Internal { [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; @@ -4444,108 +4279,112 @@ namespace CppSharp [FieldOffset(216)] internal global::System.IntPtr comment; - [FieldOffset(224)] - internal global::System.IntPtr TemplatedDecl; - - [FieldOffset(232)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; - [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0Template@AST@CppParser@CppSharp@@QEAA@W4DeclarationKind@123@@Z")] + EntryPoint="??0Declaration@AST@CppParser@CppSharp@@QEAA@W4DeclarationKind@123@@Z")] internal static extern global::System.IntPtr ctor(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0Template@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); + EntryPoint="??0Declaration@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0Template@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="??1Declaration@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor(global::System.IntPtr instance, int delete); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1Template@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern void dtor(global::System.IntPtr instance, int delete); + EntryPoint="?getPreprocessedEntities@Declaration@AST@CppParser@CppSharp@@QEAAPEAVPreprocessedEntity@234@I@Z")] + internal static extern global::System.IntPtr GetPreprocessedEntities(global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getParameters@Template@AST@CppParser@CppSharp@@QEAAPEAVDeclaration@234@I@Z")] - internal static extern global::System.IntPtr GetParameters(global::System.IntPtr instance, uint i); + EntryPoint="?addPreprocessedEntities@Declaration@AST@CppParser@CppSharp@@QEAAXAEAPEAVPreprocessedEntity@234@@Z")] + internal static extern void AddPreprocessedEntities(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?addParameters@Template@AST@CppParser@CppSharp@@QEAAXAEAPEAVDeclaration@234@@Z")] - internal static extern void AddParameters(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="?clearPreprocessedEntities@Declaration@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearPreprocessedEntities(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearParameters@Template@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearParameters(global::System.IntPtr instance); + EntryPoint="?getRedeclarations@Declaration@AST@CppParser@CppSharp@@QEAAPEAV1234@I@Z")] + internal static extern global::System.IntPtr GetRedeclarations(global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getParametersCount@Template@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetParametersCount(global::System.IntPtr instance); - } + EntryPoint="?addRedeclarations@Declaration@AST@CppParser@CppSharp@@QEAAXAEAPEAV1234@@Z")] + internal static extern void AddRedeclarations(global::System.IntPtr instance, global::System.IntPtr s); - internal static new global::CppSharp.Parser.AST.Template __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Template(native.ToPointer(), skipVTables); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?clearRedeclarations@Declaration@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearRedeclarations(global::System.IntPtr instance); - internal static global::CppSharp.Parser.AST.Template __CreateInstance(global::CppSharp.Parser.AST.Template.__Internal native, bool skipVTables = false) + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getPreprocessedEntitiesCount@Declaration@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetPreprocessedEntitiesCount(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getRedeclarationsCount@Declaration@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetRedeclarationsCount(global::System.IntPtr instance); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.Declaration __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Template(native, skipVTables); + return new global::CppSharp.Parser.AST.Declaration(native.ToPointer(), skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Template.__Internal native) + internal static global::CppSharp.Parser.AST.Declaration __CreateInstance(global::CppSharp.Parser.AST.Declaration.__Internal native, bool skipVTables = false) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); - global::CppSharp.Parser.AST.Template.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return new global::CppSharp.Parser.AST.Declaration(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.Declaration.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); + global::CppSharp.Parser.AST.Declaration.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Template(global::CppSharp.Parser.AST.Template.__Internal native, bool skipVTables = false) + private Declaration(global::CppSharp.Parser.AST.Declaration.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Template(void* native, bool skipVTables = false) - : base((void*) null) + protected Declaration(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public Template(global::CppSharp.Parser.AST.DeclarationKind kind) - : this((void*) null) + public Declaration(global::CppSharp.Parser.AST.DeclarationKind kind) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment), kind); } - public Template() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } - - public Template(global::CppSharp.Parser.AST.Template _0) - : this((void*) null) + public Declaration(global::CppSharp.Parser.AST.Declaration _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -4554,7 +4393,12 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; @@ -4567,9 +4411,33 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.Declaration GetParameters(uint i) + public global::CppSharp.Parser.AST.PreprocessedEntity GetPreprocessedEntities(uint i) { - var __ret = __Internal.GetParameters((__Instance + __PointerAdjustment), i); + var __ret = __Internal.GetPreprocessedEntities((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.PreprocessedEntity __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.PreprocessedEntity.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.PreprocessedEntity) global::CppSharp.Parser.AST.PreprocessedEntity.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.PreprocessedEntity.__CreateInstance(__ret); + return __result0; + } + + public void AddPreprocessedEntities(global::CppSharp.Parser.AST.PreprocessedEntity s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddPreprocessedEntities((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearPreprocessedEntities() + { + __Internal.ClearPreprocessedEntities((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.Declaration GetRedeclarations(uint i) + { + var __ret = __Internal.GetRedeclarations((__Instance + __PointerAdjustment), i); global::CppSharp.Parser.AST.Declaration __result0; if (__ret == IntPtr.Zero) __result0 = null; else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(__ret)) @@ -4578,207 +4446,304 @@ namespace CppSharp return __result0; } - public void AddParameters(global::CppSharp.Parser.AST.Declaration s) + public void AddRedeclarations(global::CppSharp.Parser.AST.Declaration s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddParameters((__Instance + __PointerAdjustment), __arg0); + __Internal.AddRedeclarations((__Instance + __PointerAdjustment), __arg0); } - public void ClearParameters() + public void ClearRedeclarations() { - __Internal.ClearParameters((__Instance + __PointerAdjustment)); + __Internal.ClearRedeclarations((__Instance + __PointerAdjustment)); } - public static implicit operator global::CppSharp.Parser.AST.Template(global::CppSharp.Parser.AST.DeclarationKind kind) + public static implicit operator global::CppSharp.Parser.AST.Declaration(global::CppSharp.Parser.AST.DeclarationKind kind) { - return new global::CppSharp.Parser.AST.Template(kind); + return new global::CppSharp.Parser.AST.Declaration(kind); } - public global::CppSharp.Parser.AST.Declaration TemplatedDecl + public global::CppSharp.Parser.AST.DeclarationKind Kind { get { - global::CppSharp.Parser.AST.Declaration __result0; - if (((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl); - return __result0; + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->kind; } set { - ((global::CppSharp.Parser.AST.Template.__Internal*)__Instance)->TemplatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->kind = value; } } - public uint ParametersCount + public int MaxFieldAlignment { get { - var __ret = __Internal.GetParametersCount((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->maxFieldAlignment; + } + + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->maxFieldAlignment = value; } } - } - public unsafe partial class TypedefDecl : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 240)] - public new partial struct __Internal + public global::CppSharp.Parser.AST.AccessSpecifier Access { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->access; + } - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->access = value; + } + } - [FieldOffset(28)] - internal int lineNumberStart; + public global::CppSharp.Parser.AST.DeclarationContext Namespace + { + get + { + global::CppSharp.Parser.AST.DeclarationContext __result0; + if (((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.DeclarationContext.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace)) + __result0 = (global::CppSharp.Parser.AST.DeclarationContext) global::CppSharp.Parser.AST.DeclarationContext.NativeToManagedMap[((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace]; + else __result0 = global::CppSharp.Parser.AST.DeclarationContext.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace); + return __result0; + } - [FieldOffset(32)] - internal int lineNumberEnd; + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->_namespace = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + public global::CppSharp.Parser.SourceLocation Location + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->location); + } - [FieldOffset(72)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->location = value.__Instance; + } + } - [FieldOffset(104)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + public int LineNumberStart + { + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->lineNumberStart; + } - [FieldOffset(136)] - internal byte isIncomplete; + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->lineNumberStart = value; + } + } - [FieldOffset(137)] - internal byte isDependent; + public int LineNumberEnd + { + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->lineNumberEnd; + } - [FieldOffset(138)] - internal byte isImplicit; + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->lineNumberEnd = value; + } + } - [FieldOffset(139)] - internal byte isInvalid; + public string Name + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->name)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } - [FieldOffset(144)] - internal global::System.IntPtr completeDeclaration; + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->name), value); + } + } - [FieldOffset(152)] - internal uint definitionOrder; + public string USR + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->USR)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->USR), value); + } + } - [FieldOffset(184)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - - [FieldOffset(208)] - internal global::System.IntPtr originalPtr; + public string DebugText + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->debugText)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } - [FieldOffset(216)] - internal global::System.IntPtr comment; + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->debugText), value); + } + } - [FieldOffset(224)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + public bool IsIncomplete + { + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isIncomplete != 0; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0TypedefDecl@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isIncomplete = (byte) (value ? 1 : 0); + } + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0TypedefDecl@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + public bool IsDependent + { + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isDependent != 0; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1TypedefDecl@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern void dtor(global::System.IntPtr instance, int delete); + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isDependent = (byte) (value ? 1 : 0); + } } - internal static new global::CppSharp.Parser.AST.TypedefDecl __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public bool IsImplicit { - return new global::CppSharp.Parser.AST.TypedefDecl(native.ToPointer(), skipVTables); + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isImplicit != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isImplicit = (byte) (value ? 1 : 0); + } } - internal static global::CppSharp.Parser.AST.TypedefDecl __CreateInstance(global::CppSharp.Parser.AST.TypedefDecl.__Internal native, bool skipVTables = false) + public bool IsInvalid { - return new global::CppSharp.Parser.AST.TypedefDecl(native, skipVTables); + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isInvalid != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isInvalid = (byte) (value ? 1 : 0); + } } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefDecl.__Internal native) + public global::CppSharp.Parser.AST.Declaration CompleteDeclaration { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); - global::CppSharp.Parser.AST.TypedefDecl.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); + get + { + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->completeDeclaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } } - private TypedefDecl(global::CppSharp.Parser.AST.TypedefDecl.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) + public uint DefinitionOrder { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->definitionOrder; + } + + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->definitionOrder = value; + } } - protected TypedefDecl(void* native, bool skipVTables = false) - : base((void*) null) + public global::System.IntPtr OriginalPtr { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->originalPtr; + } + + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->originalPtr = (global::System.IntPtr) value; + } } - public TypedefDecl() - : this((void*) null) + public global::CppSharp.Parser.AST.RawComment Comment { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + get + { + global::CppSharp.Parser.AST.RawComment __result0; + if (((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.RawComment.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment)) + __result0 = (global::CppSharp.Parser.AST.RawComment) global::CppSharp.Parser.AST.RawComment.NativeToManagedMap[((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment]; + else __result0 = global::CppSharp.Parser.AST.RawComment.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->comment = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } } - public TypedefDecl(global::CppSharp.Parser.AST.TypedefDecl _0) - : this((void*) null) + public uint PreprocessedEntitiesCount { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + get + { + var __ret = __Internal.GetPreprocessedEntitiesCount((__Instance + __PointerAdjustment)); + return __ret; + } } - public override void Dispose(bool disposing) + public uint RedeclarationsCount { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; + get + { + var __ret = __Internal.GetRedeclarationsCount((__Instance + __PointerAdjustment)); + return __ret; + } } } - public unsafe partial class TypedefNameDecl : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class DeclarationContext : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 240)] + [StructLayout(LayoutKind.Explicit, Size = 464)] public new partial struct __Internal { [FieldOffset(0)] @@ -4842,222 +4807,259 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(224)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; + + [FieldOffset(248)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; + + [FieldOffset(272)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; + + [FieldOffset(296)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; + + [FieldOffset(320)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; + + [FieldOffset(344)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; + + [FieldOffset(368)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; + + [FieldOffset(392)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; + + [FieldOffset(416)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; + + [FieldOffset(440)] + internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + + [FieldOffset(456)] + internal byte isAnonymous; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0TypedefNameDecl@AST@CppParser@CppSharp@@QEAA@W4DeclarationKind@123@@Z")] + EntryPoint="??0DeclarationContext@AST@CppParser@CppSharp@@QEAA@W4DeclarationKind@123@@Z")] internal static extern global::System.IntPtr ctor(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0TypedefNameDecl@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0DeclarationContext@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1TypedefNameDecl@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??1DeclarationContext@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern void dtor(global::System.IntPtr instance, int delete); - } - internal static new global::CppSharp.Parser.AST.TypedefNameDecl __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.TypedefNameDecl(native.ToPointer(), skipVTables); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getNamespaces@DeclarationContext@AST@CppParser@CppSharp@@QEAAPEAVNamespace@234@I@Z")] + internal static extern global::System.IntPtr GetNamespaces(global::System.IntPtr instance, uint i); - internal static global::CppSharp.Parser.AST.TypedefNameDecl __CreateInstance(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.TypedefNameDecl(native, skipVTables); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?addNamespaces@DeclarationContext@AST@CppParser@CppSharp@@QEAAXAEAPEAVNamespace@234@@Z")] + internal static extern void AddNamespaces(global::System.IntPtr instance, global::System.IntPtr s); - private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); - global::CppSharp.Parser.AST.TypedefNameDecl.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?clearNamespaces@DeclarationContext@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearNamespaces(global::System.IntPtr instance); - private TypedefNameDecl(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getEnums@DeclarationContext@AST@CppParser@CppSharp@@QEAAPEAVEnumeration@234@I@Z")] + internal static extern global::System.IntPtr GetEnums(global::System.IntPtr instance, uint i); - protected TypedefNameDecl(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?addEnums@DeclarationContext@AST@CppParser@CppSharp@@QEAAXAEAPEAVEnumeration@234@@Z")] + internal static extern void AddEnums(global::System.IntPtr instance, global::System.IntPtr s); - public TypedefNameDecl(global::CppSharp.Parser.AST.DeclarationKind kind) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), kind); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?clearEnums@DeclarationContext@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearEnums(global::System.IntPtr instance); - public TypedefNameDecl(global::CppSharp.Parser.AST.TypedefNameDecl _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getFunctions@DeclarationContext@AST@CppParser@CppSharp@@QEAAPEAVFunction@234@I@Z")] + internal static extern global::System.IntPtr GetFunctions(global::System.IntPtr instance, uint i); - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?addFunctions@DeclarationContext@AST@CppParser@CppSharp@@QEAAXAEAPEAVFunction@234@@Z")] + internal static extern void AddFunctions(global::System.IntPtr instance, global::System.IntPtr s); - public static implicit operator global::CppSharp.Parser.AST.TypedefNameDecl(global::CppSharp.Parser.AST.DeclarationKind kind) - { - return new global::CppSharp.Parser.AST.TypedefNameDecl(kind); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?clearFunctions@DeclarationContext@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearFunctions(global::System.IntPtr instance); - public global::CppSharp.Parser.AST.QualifiedType QualifiedType - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TypedefNameDecl.__Internal*) __Instance)->qualifiedType)); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getClasses@DeclarationContext@AST@CppParser@CppSharp@@QEAAPEAVClass@234@I@Z")] + internal static extern global::System.IntPtr GetClasses(global::System.IntPtr instance, uint i); - set - { - ((global::CppSharp.Parser.AST.TypedefNameDecl.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } - } - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?addClasses@DeclarationContext@AST@CppParser@CppSharp@@QEAAXAEAPEAVClass@234@@Z")] + internal static extern void AddClasses(global::System.IntPtr instance, global::System.IntPtr s); - public unsafe partial class TypeAlias : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 248)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?clearClasses@DeclarationContext@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearClasses(global::System.IntPtr instance); - [FieldOffset(4)] - internal int maxFieldAlignment; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getTemplates@DeclarationContext@AST@CppParser@CppSharp@@QEAAPEAVTemplate@234@I@Z")] + internal static extern global::System.IntPtr GetTemplates(global::System.IntPtr instance, uint i); - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?addTemplates@DeclarationContext@AST@CppParser@CppSharp@@QEAAXAEAPEAVTemplate@234@@Z")] + internal static extern void AddTemplates(global::System.IntPtr instance, global::System.IntPtr s); - [FieldOffset(16)] - internal global::System.IntPtr _namespace; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?clearTemplates@DeclarationContext@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearTemplates(global::System.IntPtr instance); - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getTypedefs@DeclarationContext@AST@CppParser@CppSharp@@QEAAPEAVTypedefDecl@234@I@Z")] + internal static extern global::System.IntPtr GetTypedefs(global::System.IntPtr instance, uint i); - [FieldOffset(28)] - internal int lineNumberStart; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?addTypedefs@DeclarationContext@AST@CppParser@CppSharp@@QEAAXAEAPEAVTypedefDecl@234@@Z")] + internal static extern void AddTypedefs(global::System.IntPtr instance, global::System.IntPtr s); - [FieldOffset(32)] - internal int lineNumberEnd; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?clearTypedefs@DeclarationContext@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearTypedefs(global::System.IntPtr instance); - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getTypeAliases@DeclarationContext@AST@CppParser@CppSharp@@QEAAPEAVTypeAlias@234@I@Z")] + internal static extern global::System.IntPtr GetTypeAliases(global::System.IntPtr instance, uint i); - [FieldOffset(72)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?addTypeAliases@DeclarationContext@AST@CppParser@CppSharp@@QEAAXAEAPEAVTypeAlias@234@@Z")] + internal static extern void AddTypeAliases(global::System.IntPtr instance, global::System.IntPtr s); - [FieldOffset(104)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?clearTypeAliases@DeclarationContext@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearTypeAliases(global::System.IntPtr instance); - [FieldOffset(136)] - internal byte isIncomplete; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getVariables@DeclarationContext@AST@CppParser@CppSharp@@QEAAPEAVVariable@234@I@Z")] + internal static extern global::System.IntPtr GetVariables(global::System.IntPtr instance, uint i); - [FieldOffset(137)] - internal byte isDependent; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?addVariables@DeclarationContext@AST@CppParser@CppSharp@@QEAAXAEAPEAVVariable@234@@Z")] + internal static extern void AddVariables(global::System.IntPtr instance, global::System.IntPtr s); - [FieldOffset(138)] - internal byte isImplicit; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?clearVariables@DeclarationContext@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearVariables(global::System.IntPtr instance); - [FieldOffset(139)] - internal byte isInvalid; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getFriends@DeclarationContext@AST@CppParser@CppSharp@@QEAAPEAVFriend@234@I@Z")] + internal static extern global::System.IntPtr GetFriends(global::System.IntPtr instance, uint i); - [FieldOffset(144)] - internal global::System.IntPtr completeDeclaration; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?addFriends@DeclarationContext@AST@CppParser@CppSharp@@QEAAXAEAPEAVFriend@234@@Z")] + internal static extern void AddFriends(global::System.IntPtr instance, global::System.IntPtr s); - [FieldOffset(152)] - internal uint definitionOrder; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?clearFriends@DeclarationContext@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearFriends(global::System.IntPtr instance); - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getNamespacesCount@DeclarationContext@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetNamespacesCount(global::System.IntPtr instance); - [FieldOffset(184)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getEnumsCount@DeclarationContext@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetEnumsCount(global::System.IntPtr instance); - [FieldOffset(208)] - internal global::System.IntPtr originalPtr; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getFunctionsCount@DeclarationContext@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetFunctionsCount(global::System.IntPtr instance); - [FieldOffset(216)] - internal global::System.IntPtr comment; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getClassesCount@DeclarationContext@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetClassesCount(global::System.IntPtr instance); - [FieldOffset(224)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getTemplatesCount@DeclarationContext@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetTemplatesCount(global::System.IntPtr instance); - [FieldOffset(240)] - internal global::System.IntPtr describedAliasTemplate; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getTypedefsCount@DeclarationContext@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetTypedefsCount(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0TypeAlias@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); + EntryPoint="?getTypeAliasesCount@DeclarationContext@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetTypeAliasesCount(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0TypeAlias@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="?getVariablesCount@DeclarationContext@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetVariablesCount(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1TypeAlias@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern void dtor(global::System.IntPtr instance, int delete); + EntryPoint="?getFriendsCount@DeclarationContext@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetFriendsCount(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.TypeAlias __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.DeclarationContext __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypeAlias(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.DeclarationContext(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TypeAlias __CreateInstance(global::CppSharp.Parser.AST.TypeAlias.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.DeclarationContext __CreateInstance(global::CppSharp.Parser.AST.DeclarationContext.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypeAlias(native, skipVTables); + return new global::CppSharp.Parser.AST.DeclarationContext(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypeAlias.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.DeclarationContext.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); - global::CppSharp.Parser.AST.TypeAlias.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal)); + global::CppSharp.Parser.AST.DeclarationContext.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TypeAlias(global::CppSharp.Parser.AST.TypeAlias.__Internal native, bool skipVTables = false) + private DeclarationContext(global::CppSharp.Parser.AST.DeclarationContext.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TypeAlias(void* native, bool skipVTables = false) + protected DeclarationContext(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -5066,19 +5068,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TypeAlias() + public DeclarationContext(global::CppSharp.Parser.AST.DeclarationKind kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + __Internal.ctor((__Instance + __PointerAdjustment), kind); } - public TypeAlias(global::CppSharp.Parser.AST.TypeAlias _0) + public DeclarationContext(global::CppSharp.Parser.AST.DeclarationContext _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -5100,187 +5102,329 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.TypeAliasTemplate DescribedAliasTemplate + public global::CppSharp.Parser.AST.Namespace GetNamespaces(uint i) { - get - { - global::CppSharp.Parser.AST.TypeAliasTemplate __result0; - if (((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TypeAliasTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate)) - __result0 = (global::CppSharp.Parser.AST.TypeAliasTemplate) global::CppSharp.Parser.AST.TypeAliasTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate]; - else __result0 = global::CppSharp.Parser.AST.TypeAliasTemplate.__CreateInstance(((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.TypeAlias.__Internal*)__Instance)->describedAliasTemplate = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + var __ret = __Internal.GetNamespaces((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Namespace __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Namespace.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Namespace) global::CppSharp.Parser.AST.Namespace.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Namespace.__CreateInstance(__ret); + return __result0; } - } - public unsafe partial class TypeAliasTemplate : global::CppSharp.Parser.AST.Template, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 256)] - public new partial struct __Internal + public void AddNamespaces(global::CppSharp.Parser.AST.Namespace s) { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; - - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; - - [FieldOffset(32)] - internal int lineNumberEnd; - - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - - [FieldOffset(72)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - - [FieldOffset(104)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - - [FieldOffset(136)] - internal byte isIncomplete; - - [FieldOffset(137)] - internal byte isDependent; - - [FieldOffset(138)] - internal byte isImplicit; - - [FieldOffset(139)] - internal byte isInvalid; - - [FieldOffset(144)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(152)] - internal uint definitionOrder; - - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(184)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddNamespaces((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(208)] - internal global::System.IntPtr originalPtr; + public void ClearNamespaces() + { + __Internal.ClearNamespaces((__Instance + __PointerAdjustment)); + } - [FieldOffset(216)] - internal global::System.IntPtr comment; + public global::CppSharp.Parser.AST.Enumeration GetEnums(uint i) + { + var __ret = __Internal.GetEnums((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Enumeration __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Enumeration.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Enumeration) global::CppSharp.Parser.AST.Enumeration.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Enumeration.__CreateInstance(__ret); + return __result0; + } - [FieldOffset(224)] - internal global::System.IntPtr TemplatedDecl; + public void AddEnums(global::CppSharp.Parser.AST.Enumeration s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddEnums((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(232)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; + public void ClearEnums() + { + __Internal.ClearEnums((__Instance + __PointerAdjustment)); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0TypeAliasTemplate@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); + public global::CppSharp.Parser.AST.Function GetFunctions(uint i) + { + var __ret = __Internal.GetFunctions((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Function __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(__ret); + return __result0; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0TypeAliasTemplate@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + public void AddFunctions(global::CppSharp.Parser.AST.Function s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddFunctions((__Instance + __PointerAdjustment), __arg0); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1TypeAliasTemplate@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern void dtor(global::System.IntPtr instance, int delete); + public void ClearFunctions() + { + __Internal.ClearFunctions((__Instance + __PointerAdjustment)); } - internal static new global::CppSharp.Parser.AST.TypeAliasTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::CppSharp.Parser.AST.Class GetClasses(uint i) { - return new global::CppSharp.Parser.AST.TypeAliasTemplate(native.ToPointer(), skipVTables); + var __ret = __Internal.GetClasses((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Class __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(__ret); + return __result0; } - internal static global::CppSharp.Parser.AST.TypeAliasTemplate __CreateInstance(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native, bool skipVTables = false) + public void AddClasses(global::CppSharp.Parser.AST.Class s) { - return new global::CppSharp.Parser.AST.TypeAliasTemplate(native, skipVTables); + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddClasses((__Instance + __PointerAdjustment), __arg0); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native) + public void ClearClasses() { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); - global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); + __Internal.ClearClasses((__Instance + __PointerAdjustment)); } - private TypeAliasTemplate(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) + public global::CppSharp.Parser.AST.Template GetTemplates(uint i) { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + var __ret = __Internal.GetTemplates((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Template __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Template.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Template) global::CppSharp.Parser.AST.Template.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Template.__CreateInstance(__ret); + return __result0; } - protected TypeAliasTemplate(void* native, bool skipVTables = false) - : base((void*) null) + public void AddTemplates(global::CppSharp.Parser.AST.Template s) { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddTemplates((__Instance + __PointerAdjustment), __arg0); } - public TypeAliasTemplate() - : this((void*) null) + public void ClearTemplates() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + __Internal.ClearTemplates((__Instance + __PointerAdjustment)); } - public TypeAliasTemplate(global::CppSharp.Parser.AST.TypeAliasTemplate _0) - : this((void*) null) + public global::CppSharp.Parser.AST.TypedefDecl GetTypedefs(uint i) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + var __ret = __Internal.GetTypedefs((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.TypedefDecl __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TypedefDecl.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.TypedefDecl) global::CppSharp.Parser.AST.TypedefDecl.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.TypedefDecl.__CreateInstance(__ret); + return __result0; } - public override void Dispose(bool disposing) + public void AddTypedefs(global::CppSharp.Parser.AST.TypedefDecl s) { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddTypedefs((__Instance + __PointerAdjustment), __arg0); } - } - public unsafe partial class Variable : global::CppSharp.Parser.AST.Declaration, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 272)] - public new partial struct __Internal + public void ClearTypedefs() { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + __Internal.ClearTypedefs((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.TypeAlias GetTypeAliases(uint i) + { + var __ret = __Internal.GetTypeAliases((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.TypeAlias __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TypeAlias.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.TypeAlias) global::CppSharp.Parser.AST.TypeAlias.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.TypeAlias.__CreateInstance(__ret); + return __result0; + } + + public void AddTypeAliases(global::CppSharp.Parser.AST.TypeAlias s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddTypeAliases((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearTypeAliases() + { + __Internal.ClearTypeAliases((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.Variable GetVariables(uint i) + { + var __ret = __Internal.GetVariables((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Variable __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Variable.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Variable) global::CppSharp.Parser.AST.Variable.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Variable.__CreateInstance(__ret); + return __result0; + } + + public void AddVariables(global::CppSharp.Parser.AST.Variable s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddVariables((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearVariables() + { + __Internal.ClearVariables((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.Friend GetFriends(uint i) + { + var __ret = __Internal.GetFriends((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Friend __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Friend.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Friend) global::CppSharp.Parser.AST.Friend.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Friend.__CreateInstance(__ret); + return __result0; + } + + public void AddFriends(global::CppSharp.Parser.AST.Friend s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddFriends((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearFriends() + { + __Internal.ClearFriends((__Instance + __PointerAdjustment)); + } + + public static implicit operator global::CppSharp.Parser.AST.DeclarationContext(global::CppSharp.Parser.AST.DeclarationKind kind) + { + return new global::CppSharp.Parser.AST.DeclarationContext(kind); + } + + public bool IsAnonymous + { + get + { + return ((global::CppSharp.Parser.AST.DeclarationContext.__Internal*) __Instance)->isAnonymous != 0; + } + + set + { + ((global::CppSharp.Parser.AST.DeclarationContext.__Internal*)__Instance)->isAnonymous = (byte) (value ? 1 : 0); + } + } + + public uint NamespacesCount + { + get + { + var __ret = __Internal.GetNamespacesCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + + public uint EnumsCount + { + get + { + var __ret = __Internal.GetEnumsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + + public uint FunctionsCount + { + get + { + var __ret = __Internal.GetFunctionsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + + public uint ClassesCount + { + get + { + var __ret = __Internal.GetClassesCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + + public uint TemplatesCount + { + get + { + var __ret = __Internal.GetTemplatesCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + + public uint TypedefsCount + { + get + { + var __ret = __Internal.GetTypedefsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + + public uint TypeAliasesCount + { + get + { + var __ret = __Internal.GetTypeAliasesCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + + public uint VariablesCount + { + get + { + var __ret = __Internal.GetVariablesCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + + public uint FriendsCount + { + get + { + var __ret = __Internal.GetFriendsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } + + public unsafe partial class TypedefNameDecl : global::CppSharp.Parser.AST.Declaration, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 240)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] internal int maxFieldAlignment; @@ -5340,52 +5484,49 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(224)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C mangled; - - [FieldOffset(256)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0Variable@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); + EntryPoint="??0TypedefNameDecl@AST@CppParser@CppSharp@@QEAA@W4DeclarationKind@123@@Z")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0Variable@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0TypedefNameDecl@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1Variable@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??1TypedefNameDecl@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern void dtor(global::System.IntPtr instance, int delete); } - internal static new global::CppSharp.Parser.AST.Variable __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TypedefNameDecl __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Variable(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TypedefNameDecl(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Variable __CreateInstance(global::CppSharp.Parser.AST.Variable.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TypedefNameDecl __CreateInstance(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Variable(native, skipVTables); + return new global::CppSharp.Parser.AST.TypedefNameDecl(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Variable.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); - global::CppSharp.Parser.AST.Variable.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); + global::CppSharp.Parser.AST.TypedefNameDecl.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Variable(global::CppSharp.Parser.AST.Variable.__Internal native, bool skipVTables = false) + private TypedefNameDecl(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Variable(void* native, bool skipVTables = false) + protected TypedefNameDecl(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -5394,19 +5535,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Variable() + public TypedefNameDecl(global::CppSharp.Parser.AST.DeclarationKind kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + __Internal.ctor((__Instance + __PointerAdjustment), kind); } - public Variable(global::CppSharp.Parser.AST.Variable _0) + public TypedefNameDecl(global::CppSharp.Parser.AST.TypedefNameDecl _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -5428,39 +5569,28 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public string Mangled + public static implicit operator global::CppSharp.Parser.AST.TypedefNameDecl(global::CppSharp.Parser.AST.DeclarationKind kind) { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Variable.__Internal*) __Instance)->mangled)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Variable.__Internal*)__Instance)->mangled), value); - } + return new global::CppSharp.Parser.AST.TypedefNameDecl(kind); } public global::CppSharp.Parser.AST.QualifiedType QualifiedType { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Variable.__Internal*) __Instance)->qualifiedType)); + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TypedefNameDecl.__Internal*) __Instance)->qualifiedType)); } set { - ((global::CppSharp.Parser.AST.Variable.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.TypedefNameDecl.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } } - public unsafe partial class Friend : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class TypedefDecl : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 232)] + [StructLayout(LayoutKind.Explicit, Size = 240)] public new partial struct __Internal { [FieldOffset(0)] @@ -5524,49 +5654,49 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(224)] - internal global::System.IntPtr declaration; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0Friend@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0TypedefDecl@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0Friend@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0TypedefDecl@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1Friend@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??1TypedefDecl@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern void dtor(global::System.IntPtr instance, int delete); } - internal static new global::CppSharp.Parser.AST.Friend __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TypedefDecl __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Friend(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TypedefDecl(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Friend __CreateInstance(global::CppSharp.Parser.AST.Friend.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TypedefDecl __CreateInstance(global::CppSharp.Parser.AST.TypedefDecl.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Friend(native, skipVTables); + return new global::CppSharp.Parser.AST.TypedefDecl(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Friend.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefDecl.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); - global::CppSharp.Parser.AST.Friend.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); + global::CppSharp.Parser.AST.TypedefDecl.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Friend(global::CppSharp.Parser.AST.Friend.__Internal native, bool skipVTables = false) + private TypedefDecl(global::CppSharp.Parser.AST.TypedefDecl.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Friend(void* native, bool skipVTables = false) + protected TypedefDecl(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -5575,19 +5705,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Friend() + public TypedefDecl() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public Friend(global::CppSharp.Parser.AST.Friend _0) + public TypedefDecl(global::CppSharp.Parser.AST.TypedefDecl _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -5608,186 +5738,184 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - - public global::CppSharp.Parser.AST.Declaration Declaration - { - get - { - global::CppSharp.Parser.AST.Declaration __result0; - if (((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.Friend.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } } - public unsafe partial class BaseClassSpecifier : IDisposable + public unsafe partial class TypeAlias : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 24)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 248)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal byte isVirtual; + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::System.IntPtr type; + internal global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(16)] - internal int offset; + internal global::System.IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(72)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(136)] + internal byte isIncomplete; + + [FieldOffset(137)] + internal byte isDependent; + + [FieldOffset(138)] + internal byte isImplicit; + + [FieldOffset(139)] + internal byte isInvalid; + + [FieldOffset(144)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(152)] + internal uint definitionOrder; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(184)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(208)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(216)] + internal global::System.IntPtr comment; + + [FieldOffset(224)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(240)] + internal global::System.IntPtr describedAliasTemplate; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0BaseClassSpecifier@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0TypeAlias@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0BaseClassSpecifier@AST@CppParser@CppSharp@@QEAA@AEBU0123@@Z")] + EntryPoint="??0TypeAlias@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); - } - - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; - protected bool __ownsNativeInstance; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??1TypeAlias@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor(global::System.IntPtr instance, int delete); + } - internal static global::CppSharp.Parser.AST.BaseClassSpecifier __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TypeAlias __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.BaseClassSpecifier(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TypeAlias(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.BaseClassSpecifier __CreateInstance(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TypeAlias __CreateInstance(global::CppSharp.Parser.AST.TypeAlias.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.BaseClassSpecifier(native, skipVTables); + return new global::CppSharp.Parser.AST.TypeAlias(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TypeAlias.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); - *(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) ret = native; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); + global::CppSharp.Parser.AST.TypeAlias.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private BaseClassSpecifier(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native, bool skipVTables = false) + private TypeAlias(global::CppSharp.Parser.AST.TypeAlias.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected BaseClassSpecifier(void* native, bool skipVTables = false) + protected TypeAlias(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public BaseClassSpecifier() + public TypeAlias() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public BaseClassSpecifier(global::CppSharp.Parser.AST.BaseClassSpecifier _0) + public TypeAlias(global::CppSharp.Parser.AST.TypeAlias _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) _0.__Instance); - } - - public void Dispose() - { - Dispose(disposing: true); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.BaseClassSpecifier __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.AccessSpecifier Access - { - get - { - return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->access; - } - - set - { - ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->access = value; - } - } - - public bool IsVirtual - { - get - { - return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->isVirtual != 0; - } - - set - { - ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->isVirtual = (byte) (value ? 1 : 0); - } - } - - public global::CppSharp.Parser.AST.Type Type + public global::CppSharp.Parser.AST.TypeAliasTemplate DescribedAliasTemplate { get { - global::CppSharp.Parser.AST.Type __result0; - if (((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type)) - __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type]; - else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type); + global::CppSharp.Parser.AST.TypeAliasTemplate __result0; + if (((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TypeAliasTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate)) + __result0 = (global::CppSharp.Parser.AST.TypeAliasTemplate) global::CppSharp.Parser.AST.TypeAliasTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate]; + else __result0 = global::CppSharp.Parser.AST.TypeAliasTemplate.__CreateInstance(((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate); return __result0; } set { - ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } - - public int Offset - { - get - { - return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->offset; - } - - set - { - ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->offset = value; + ((global::CppSharp.Parser.AST.TypeAlias.__Internal*)__Instance)->describedAliasTemplate = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } - public unsafe partial class Field : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class Friend : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 256)] + [StructLayout(LayoutKind.Explicit, Size = 232)] public new partial struct __Internal { [FieldOffset(0)] @@ -5851,58 +5979,49 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(224)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - - [FieldOffset(240)] - internal global::System.IntPtr _class; - - [FieldOffset(248)] - internal byte isBitField; - - [FieldOffset(252)] - internal uint bitWidth; + internal global::System.IntPtr declaration; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0Field@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0Friend@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0Field@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0Friend@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1Field@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??1Friend@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern void dtor(global::System.IntPtr instance, int delete); } - internal static new global::CppSharp.Parser.AST.Field __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Friend __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Field(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Friend(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Field __CreateInstance(global::CppSharp.Parser.AST.Field.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Friend __CreateInstance(global::CppSharp.Parser.AST.Friend.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Field(native, skipVTables); + return new global::CppSharp.Parser.AST.Friend(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Field.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Friend.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); - global::CppSharp.Parser.AST.Field.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); + global::CppSharp.Parser.AST.Friend.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); } - private Field(global::CppSharp.Parser.AST.Field.__Internal native, bool skipVTables = false) + private Friend(global::CppSharp.Parser.AST.Friend.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Field(void* native, bool skipVTables = false) + protected Friend(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -5911,19 +6030,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Field() + public Friend() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public Field(global::CppSharp.Parser.AST.Field _0) + public Friend(global::CppSharp.Parser.AST.Friend _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -5945,313 +6064,351 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.QualifiedType QualifiedType + public global::CppSharp.Parser.AST.Declaration Declaration { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->qualifiedType)); + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration); + return __result0; } set { - ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.Friend.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } + } - public global::CppSharp.Parser.AST.Class Class + public unsafe partial class Statement : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StatementClass _class; + + [FieldOffset(8)] + internal global::System.IntPtr decl; + + [FieldOffset(16)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0Statement@AST@CppParser@CppSharp@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@W4StatementClass@123@PEAVDeclaration@123@@Z")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr instance, global::System.IntPtr str, global::CppSharp.Parser.AST.StatementClass Class, global::System.IntPtr decl); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0Statement@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??1Statement@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor(global::System.IntPtr instance, int delete); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.Statement __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Statement(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.Statement __CreateInstance(global::CppSharp.Parser.AST.Statement.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Statement(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.Statement.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Statement.__Internal)); + global::CppSharp.Parser.AST.Statement.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private Statement(global::CppSharp.Parser.AST.Statement.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Statement(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public Statement(string str, global::CppSharp.Parser.AST.StatementClass Class, global::CppSharp.Parser.AST.Declaration decl) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Statement.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, str); + var __arg0 = __basicString0.__Instance; + var __arg2 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; + __Internal.ctor((__Instance + __PointerAdjustment), __arg0, Class, __arg2); + __basicString0.Dispose(false); + } + + public Statement(global::CppSharp.Parser.AST.Statement _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Statement.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Statement __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.StatementClass Class { get { - global::CppSharp.Parser.AST.Class __result0; - if (((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class)) - __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class]; - else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class); - return __result0; + return ((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->_class; } set { - ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.Statement.__Internal*)__Instance)->_class = value; } } - public bool IsBitField + public global::CppSharp.Parser.AST.Declaration Decl { get { - return ((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->isBitField != 0; + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->decl == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->decl)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->decl]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->decl); + return __result0; } set { - ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->isBitField = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Statement.__Internal*)__Instance)->decl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public uint BitWidth + public string String { get { - return ((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->bitWidth; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->@string)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->bitWidth = value; + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Statement.__Internal*)__Instance)->@string), value); } } } - public unsafe partial class Method : global::CppSharp.Parser.AST.Function, IDisposable + public unsafe partial class Expression : global::CppSharp.Parser.AST.Statement, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 720)] + [StructLayout(LayoutKind.Explicit, Size = 48)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; + internal global::CppSharp.Parser.AST.StatementClass _class; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; + internal global::System.IntPtr decl; [FieldOffset(16)] - internal global::System.IntPtr _namespace; + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0Expression@AST@CppParser@CppSharp@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@W4StatementClass@123@PEAVDeclaration@123@@Z")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr instance, global::System.IntPtr str, global::CppSharp.Parser.AST.StatementClass Class, global::System.IntPtr decl); - [FieldOffset(28)] - internal int lineNumberStart; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0Expression@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); - [FieldOffset(32)] - internal int lineNumberEnd; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??1Expression@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor(global::System.IntPtr instance, int delete); + } - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + internal static new global::CppSharp.Parser.AST.Expression __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Expression(native.ToPointer(), skipVTables); + } - [FieldOffset(72)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + internal static global::CppSharp.Parser.AST.Expression __CreateInstance(global::CppSharp.Parser.AST.Expression.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Expression(native, skipVTables); + } - [FieldOffset(104)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + private static void* __CopyValue(global::CppSharp.Parser.AST.Expression.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expression.__Internal)); + global::CppSharp.Parser.AST.Expression.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(136)] - internal byte isIncomplete; + private Expression(global::CppSharp.Parser.AST.Expression.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(137)] - internal byte isDependent; + protected Expression(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(138)] - internal byte isImplicit; + public Expression(string str, global::CppSharp.Parser.AST.StatementClass Class, global::CppSharp.Parser.AST.Declaration decl) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expression.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, str); + var __arg0 = __basicString0.__Instance; + var __arg2 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; + __Internal.ctor((__Instance + __PointerAdjustment), __arg0, Class, __arg2); + __basicString0.Dispose(false); + } - [FieldOffset(139)] - internal byte isInvalid; - - [FieldOffset(144)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(152)] - internal uint definitionOrder; - - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(184)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - - [FieldOffset(208)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(216)] - internal global::System.IntPtr comment; - - [FieldOffset(224)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; - - [FieldOffset(248)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; - - [FieldOffset(272)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; - - [FieldOffset(296)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; - - [FieldOffset(320)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; - - [FieldOffset(344)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; - - [FieldOffset(368)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; - - [FieldOffset(392)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; - - [FieldOffset(416)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; - - [FieldOffset(440)] - internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; - - [FieldOffset(456)] - internal byte isAnonymous; - - [FieldOffset(464)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; - - [FieldOffset(480)] - internal byte isReturnIndirect; - - [FieldOffset(481)] - internal byte hasThisReturn; - - [FieldOffset(482)] - internal byte isConstExpr; - - [FieldOffset(483)] - internal byte isVariadic; - - [FieldOffset(484)] - internal byte isInline; - - [FieldOffset(485)] - internal byte isPure; - - [FieldOffset(486)] - internal byte isDeleted; - - [FieldOffset(487)] - internal byte isDefaulted; - - [FieldOffset(488)] - internal global::CppSharp.Parser.AST.FriendKind friendKind; - - [FieldOffset(492)] - internal global::CppSharp.Parser.AST.CXXOperatorKind operatorKind; - - [FieldOffset(496)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C mangled; - - [FieldOffset(528)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C signature; - - [FieldOffset(560)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C body; - - [FieldOffset(592)] - internal global::CppSharp.Parser.AST.CallingConvention callingConvention; - - [FieldOffset(600)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_S_allocator__S0_ Parameters; - - [FieldOffset(624)] - internal global::System.IntPtr specializationInfo; - - [FieldOffset(632)] - internal global::System.IntPtr instantiatedFrom; - - [FieldOffset(640)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - - [FieldOffset(656)] - internal byte isVirtual; - - [FieldOffset(657)] - internal byte isStatic; - - [FieldOffset(658)] - internal byte isConst; - - [FieldOffset(659)] - internal byte isExplicit; + public Expression(global::CppSharp.Parser.AST.Expression _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expression.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(660)] - internal global::CppSharp.Parser.AST.CXXMethodKind methodKind; + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Statement __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + } - [FieldOffset(664)] - internal byte isDefaultConstructor; + public unsafe partial class BinaryOperator : global::CppSharp.Parser.AST.Expression, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 96)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StatementClass _class; - [FieldOffset(665)] - internal byte isCopyConstructor; + [FieldOffset(8)] + internal global::System.IntPtr decl; - [FieldOffset(666)] - internal byte isMoveConstructor; + [FieldOffset(16)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; - [FieldOffset(672)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal conversionType; + [FieldOffset(48)] + internal global::System.IntPtr LHS; - [FieldOffset(688)] - internal global::CppSharp.Parser.AST.RefQualifierKind refQualifier; + [FieldOffset(56)] + internal global::System.IntPtr RHS; - [FieldOffset(696)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_S_allocator__S0_ OverriddenMethods; + [FieldOffset(64)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C opcodeStr; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0Method@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); + EntryPoint="??0BinaryOperator@AST@CppParser@CppSharp@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PEAVExpression@123@10@Z")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr instance, global::System.IntPtr str, global::System.IntPtr lhs, global::System.IntPtr rhs, global::System.IntPtr opcodeStr); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0Method@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0BinaryOperator@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1Method@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??1BinaryOperator@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern void dtor(global::System.IntPtr instance, int delete); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getOverriddenMethods@Method@AST@CppParser@CppSharp@@QEAAPEAV1234@I@Z")] - internal static extern global::System.IntPtr GetOverriddenMethods(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?addOverriddenMethods@Method@AST@CppParser@CppSharp@@QEAAXAEAPEAV1234@@Z")] - internal static extern void AddOverriddenMethods(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearOverriddenMethods@Method@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearOverriddenMethods(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getOverriddenMethodsCount@Method@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetOverriddenMethodsCount(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.Method __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.BinaryOperator __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Method(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.BinaryOperator(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Method __CreateInstance(global::CppSharp.Parser.AST.Method.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.BinaryOperator __CreateInstance(global::CppSharp.Parser.AST.BinaryOperator.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Method(native, skipVTables); + return new global::CppSharp.Parser.AST.BinaryOperator(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Method.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.BinaryOperator.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); - global::CppSharp.Parser.AST.Method.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); + global::CppSharp.Parser.AST.BinaryOperator.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Method(global::CppSharp.Parser.AST.Method.__Internal native, bool skipVTables = false) + private BinaryOperator(global::CppSharp.Parser.AST.BinaryOperator.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Method(void* native, bool skipVTables = false) + protected BinaryOperator(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -6260,19 +6417,29 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Method() + public BinaryOperator(string str, global::CppSharp.Parser.AST.Expression lhs, global::CppSharp.Parser.AST.Expression rhs, string opcodeStr) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, str); + var __arg0 = __basicString0.__Instance; + var __arg1 = ReferenceEquals(lhs, null) ? global::System.IntPtr.Zero : lhs.__Instance; + var __arg2 = ReferenceEquals(rhs, null) ? global::System.IntPtr.Zero : rhs.__Instance; + var __basicString3 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString3, opcodeStr); + var __arg3 = __basicString3.__Instance; + __Internal.ctor((__Instance + __PointerAdjustment), __arg0, __arg1, __arg2, __arg3); + __basicString0.Dispose(false); + __basicString3.Dispose(false); } - public Method(global::CppSharp.Parser.AST.Method _0) + public BinaryOperator(global::CppSharp.Parser.AST.BinaryOperator _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -6285,7 +6452,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.Statement __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -6294,192 +6461,399 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.Method GetOverriddenMethods(uint i) - { - var __ret = __Internal.GetOverriddenMethods((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Method __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Method.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Method) global::CppSharp.Parser.AST.Method.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Method.__CreateInstance(__ret); - return __result0; - } - - public void AddOverriddenMethods(global::CppSharp.Parser.AST.Method s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddOverriddenMethods((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearOverriddenMethods() - { - __Internal.ClearOverriddenMethods((__Instance + __PointerAdjustment)); - } - - public bool IsVirtual + public global::CppSharp.Parser.AST.Expression LHS { get { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isVirtual != 0; + global::CppSharp.Parser.AST.Expression __result0; + if (((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->LHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->LHS)) + __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->LHS]; + else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->LHS); + return __result0; } set { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isVirtual = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->LHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public bool IsStatic + public global::CppSharp.Parser.AST.Expression RHS { get { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isStatic != 0; + global::CppSharp.Parser.AST.Expression __result0; + if (((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->RHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->RHS)) + __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->RHS]; + else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->RHS); + return __result0; } set { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isStatic = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->RHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public bool IsConst + public string OpcodeStr { get { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isConst != 0; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->opcodeStr)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isConst = (byte) (value ? 1 : 0); + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->opcodeStr), value); } } + } - public bool IsExplicit + public unsafe partial class CallExpr : global::CppSharp.Parser.AST.Expression, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 72)] + public new partial struct __Internal { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isExplicit != 0; - } + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StatementClass _class; - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isExplicit = (byte) (value ? 1 : 0); - } + [FieldOffset(8)] + internal global::System.IntPtr decl; + + [FieldOffset(16)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; + + [FieldOffset(48)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expression___N_std_S_allocator__S0_ Arguments; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CallExpr@AST@CppParser@CppSharp@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PEAVDeclaration@123@@Z")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr instance, global::System.IntPtr str, global::System.IntPtr decl); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CallExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??1CallExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor(global::System.IntPtr instance, int delete); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getArguments@CallExpr@AST@CppParser@CppSharp@@QEAAPEAVExpression@234@I@Z")] + internal static extern global::System.IntPtr GetArguments(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?addArguments@CallExpr@AST@CppParser@CppSharp@@QEAAXAEAPEAVExpression@234@@Z")] + internal static extern void AddArguments(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?clearArguments@CallExpr@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearArguments(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getArgumentsCount@CallExpr@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetArgumentsCount(global::System.IntPtr instance); } - public global::CppSharp.Parser.AST.CXXMethodKind MethodKind + internal static new global::CppSharp.Parser.AST.CallExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->methodKind; - } - - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->methodKind = value; - } + return new global::CppSharp.Parser.AST.CallExpr(native.ToPointer(), skipVTables); } - public bool IsDefaultConstructor + internal static global::CppSharp.Parser.AST.CallExpr __CreateInstance(global::CppSharp.Parser.AST.CallExpr.__Internal native, bool skipVTables = false) { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isDefaultConstructor != 0; - } + return new global::CppSharp.Parser.AST.CallExpr(native, skipVTables); + } - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isDefaultConstructor = (byte) (value ? 1 : 0); - } + private static void* __CopyValue(global::CppSharp.Parser.AST.CallExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); + global::CppSharp.Parser.AST.CallExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); } - public bool IsCopyConstructor + private CallExpr(global::CppSharp.Parser.AST.CallExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isCopyConstructor != 0; - } + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isCopyConstructor = (byte) (value ? 1 : 0); - } + protected CallExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - public bool IsMoveConstructor + public CallExpr(string str, global::CppSharp.Parser.AST.Declaration decl) + : this((void*) null) { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isMoveConstructor != 0; - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, str); + var __arg0 = __basicString0.__Instance; + var __arg1 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; + __Internal.ctor((__Instance + __PointerAdjustment), __arg0, __arg1); + __basicString0.Dispose(false); + } - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isMoveConstructor = (byte) (value ? 1 : 0); - } + public CallExpr(global::CppSharp.Parser.AST.CallExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType ConversionType + public override void Dispose(bool disposing) { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->conversionType)); - } + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Statement __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->conversionType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } + public global::CppSharp.Parser.AST.Expression GetArguments(uint i) + { + var __ret = __Internal.GetArguments((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Expression __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(__ret); + return __result0; } - public global::CppSharp.Parser.AST.RefQualifierKind RefQualifier + public void AddArguments(global::CppSharp.Parser.AST.Expression s) { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->refQualifier; - } + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); + } - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->refQualifier = value; - } + public void ClearArguments() + { + __Internal.ClearArguments((__Instance + __PointerAdjustment)); } - public uint OverriddenMethodsCount + public uint ArgumentsCount { get { - var __ret = __Internal.GetOverriddenMethodsCount((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class Parameter : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class CXXConstructExpr : global::CppSharp.Parser.AST.Expression, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 256)] + [StructLayout(LayoutKind.Explicit, Size = 72)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; + internal global::CppSharp.Parser.AST.StatementClass _class; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; + internal global::System.IntPtr decl; [FieldOffset(16)] - internal global::System.IntPtr _namespace; + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; + [FieldOffset(48)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expression___N_std_S_allocator__S0_ Arguments; - [FieldOffset(28)] - internal int lineNumberStart; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CXXConstructExpr@AST@CppParser@CppSharp@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PEAVDeclaration@123@@Z")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr instance, global::System.IntPtr str, global::System.IntPtr decl); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CXXConstructExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??1CXXConstructExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor(global::System.IntPtr instance, int delete); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getArguments@CXXConstructExpr@AST@CppParser@CppSharp@@QEAAPEAVExpression@234@I@Z")] + internal static extern global::System.IntPtr GetArguments(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?addArguments@CXXConstructExpr@AST@CppParser@CppSharp@@QEAAXAEAPEAVExpression@234@@Z")] + internal static extern void AddArguments(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?clearArguments@CXXConstructExpr@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearArguments(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getArgumentsCount@CXXConstructExpr@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetArgumentsCount(global::System.IntPtr instance); + } + + internal static new global::CppSharp.Parser.AST.CXXConstructExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXConstructExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXConstructExpr __CreateInstance(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXConstructExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); + global::CppSharp.Parser.AST.CXXConstructExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private CXXConstructExpr(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXConstructExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXConstructExpr(string str, global::CppSharp.Parser.AST.Declaration decl) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, str); + var __arg0 = __basicString0.__Instance; + var __arg1 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; + __Internal.ctor((__Instance + __PointerAdjustment), __arg0, __arg1); + __basicString0.Dispose(false); + } + + public CXXConstructExpr(global::CppSharp.Parser.AST.CXXConstructExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Statement __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Expression GetArguments(uint i) + { + var __ret = __Internal.GetArguments((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Expression __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(__ret); + return __result0; + } + + public void AddArguments(global::CppSharp.Parser.AST.Expression s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearArguments() + { + __Internal.ClearArguments((__Instance + __PointerAdjustment)); + } + + public uint ArgumentsCount + { + get + { + var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } + + public unsafe partial class Parameter : global::CppSharp.Parser.AST.Declaration, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 256)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal global::System.IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; [FieldOffset(32)] internal int lineNumberEnd; @@ -6692,194 +7066,243 @@ namespace CppSharp } } - public unsafe partial class Expression : global::CppSharp.Parser.AST.Statement, IDisposable + public unsafe partial class Function : global::CppSharp.Parser.AST.DeclarationContext, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 48)] + [StructLayout(LayoutKind.Explicit, Size = 656)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.StatementClass _class; + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::System.IntPtr decl; + internal global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(16)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; + internal global::System.IntPtr _namespace; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0Expression@AST@CppParser@CppSharp@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@W4StatementClass@123@PEAVDeclaration@123@@Z")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr instance, global::System.IntPtr str, global::CppSharp.Parser.AST.StatementClass Class, global::System.IntPtr decl); + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0Expression@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + [FieldOffset(28)] + internal int lineNumberStart; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1Expression@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern void dtor(global::System.IntPtr instance, int delete); - } + [FieldOffset(32)] + internal int lineNumberEnd; - internal static new global::CppSharp.Parser.AST.Expression __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Expression(native.ToPointer(), skipVTables); - } + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - internal static global::CppSharp.Parser.AST.Expression __CreateInstance(global::CppSharp.Parser.AST.Expression.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Expression(native, skipVTables); - } + [FieldOffset(72)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - private static void* __CopyValue(global::CppSharp.Parser.AST.Expression.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expression.__Internal)); - global::CppSharp.Parser.AST.Expression.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - private Expression(global::CppSharp.Parser.AST.Expression.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + [FieldOffset(136)] + internal byte isIncomplete; - protected Expression(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [FieldOffset(137)] + internal byte isDependent; - public Expression(string str, global::CppSharp.Parser.AST.StatementClass Class, global::CppSharp.Parser.AST.Declaration decl) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expression.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, str); - var __arg0 = __basicString0.__Instance; - var __arg2 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; - __Internal.ctor((__Instance + __PointerAdjustment), __arg0, Class, __arg2); - __basicString0.Dispose(false); - } + [FieldOffset(138)] + internal byte isImplicit; - public Expression(global::CppSharp.Parser.AST.Expression _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expression.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(139)] + internal byte isInvalid; - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Statement __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - } + [FieldOffset(144)] + internal global::System.IntPtr completeDeclaration; - public unsafe partial class Statement : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 48)] - public partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.StatementClass _class; + [FieldOffset(152)] + internal uint definitionOrder; - [FieldOffset(8)] - internal global::System.IntPtr decl; + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - [FieldOffset(16)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; + [FieldOffset(184)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(208)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(216)] + internal global::System.IntPtr comment; + + [FieldOffset(224)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; + + [FieldOffset(248)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; + + [FieldOffset(272)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; + + [FieldOffset(296)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; + + [FieldOffset(320)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; + + [FieldOffset(344)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; + + [FieldOffset(368)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; + + [FieldOffset(392)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; + + [FieldOffset(416)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; + + [FieldOffset(440)] + internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + + [FieldOffset(456)] + internal byte isAnonymous; + + [FieldOffset(464)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; + + [FieldOffset(480)] + internal byte isReturnIndirect; + + [FieldOffset(481)] + internal byte hasThisReturn; + + [FieldOffset(482)] + internal byte isConstExpr; + + [FieldOffset(483)] + internal byte isVariadic; + + [FieldOffset(484)] + internal byte isInline; + + [FieldOffset(485)] + internal byte isPure; + + [FieldOffset(486)] + internal byte isDeleted; + + [FieldOffset(487)] + internal byte isDefaulted; + + [FieldOffset(488)] + internal global::CppSharp.Parser.AST.FriendKind friendKind; + + [FieldOffset(492)] + internal global::CppSharp.Parser.AST.CXXOperatorKind operatorKind; + + [FieldOffset(496)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C mangled; + + [FieldOffset(528)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C signature; + + [FieldOffset(560)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C body; + + [FieldOffset(592)] + internal global::CppSharp.Parser.AST.CallingConvention callingConvention; + + [FieldOffset(600)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_S_allocator__S0_ Parameters; + + [FieldOffset(624)] + internal global::System.IntPtr specializationInfo; + + [FieldOffset(632)] + internal global::System.IntPtr instantiatedFrom; + + [FieldOffset(640)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0Statement@AST@CppParser@CppSharp@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@W4StatementClass@123@PEAVDeclaration@123@@Z")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr instance, global::System.IntPtr str, global::CppSharp.Parser.AST.StatementClass Class, global::System.IntPtr decl); + EntryPoint="??0Function@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0Statement@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0Function@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1Statement@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??1Function@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern void dtor(global::System.IntPtr instance, int delete); - } - public global::System.IntPtr __Instance { get; protected set; } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getParameters@Function@AST@CppParser@CppSharp@@QEAAPEAVParameter@234@I@Z")] + internal static extern global::System.IntPtr GetParameters(global::System.IntPtr instance, uint i); - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?addParameters@Function@AST@CppParser@CppSharp@@QEAAXAEAPEAVParameter@234@@Z")] + internal static extern void AddParameters(global::System.IntPtr instance, global::System.IntPtr s); - protected bool __ownsNativeInstance; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?clearParameters@Function@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearParameters(global::System.IntPtr instance); - internal static global::CppSharp.Parser.AST.Statement __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getParametersCount@Function@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetParametersCount(global::System.IntPtr instance); + } + + internal static new global::CppSharp.Parser.AST.Function __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Statement(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Function(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Statement __CreateInstance(global::CppSharp.Parser.AST.Statement.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Function __CreateInstance(global::CppSharp.Parser.AST.Function.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Statement(native, skipVTables); + return new global::CppSharp.Parser.AST.Function(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Statement.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Function.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Statement.__Internal)); - global::CppSharp.Parser.AST.Statement.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); + global::CppSharp.Parser.AST.Function.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Statement(global::CppSharp.Parser.AST.Statement.__Internal native, bool skipVTables = false) + private Function(global::CppSharp.Parser.AST.Function.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Statement(void* native, bool skipVTables = false) + protected Function(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public Statement(string str, global::CppSharp.Parser.AST.StatementClass Class, global::CppSharp.Parser.AST.Declaration decl) + public Function() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Statement.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, str); - var __arg0 = __basicString0.__Instance; - var __arg2 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; - __Internal.ctor((__Instance + __PointerAdjustment), __arg0, Class, __arg2); - __basicString0.Dispose(false); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public Statement(global::CppSharp.Parser.AST.Statement _0) + public Function(global::CppSharp.Parser.AST.Function _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Statement.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -6888,16 +7311,11 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Statement __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -6906,275 +7324,306 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.StatementClass Class + public global::CppSharp.Parser.AST.Parameter GetParameters(uint i) + { + var __ret = __Internal.GetParameters((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Parameter __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Parameter.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Parameter) global::CppSharp.Parser.AST.Parameter.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Parameter.__CreateInstance(__ret); + return __result0; + } + + public void AddParameters(global::CppSharp.Parser.AST.Parameter s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddParameters((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearParameters() + { + __Internal.ClearParameters((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.QualifiedType ReturnType { get { - return ((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->_class; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->returnType)); } set { - ((global::CppSharp.Parser.AST.Statement.__Internal*)__Instance)->_class = value; + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->returnType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public global::CppSharp.Parser.AST.Declaration Decl + public bool IsReturnIndirect { get { - global::CppSharp.Parser.AST.Declaration __result0; - if (((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->decl == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->decl)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->decl]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->decl); - return __result0; + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isReturnIndirect != 0; } set { - ((global::CppSharp.Parser.AST.Statement.__Internal*)__Instance)->decl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isReturnIndirect = (byte) (value ? 1 : 0); } } - public string String + public bool HasThisReturn { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->@string)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->hasThisReturn != 0; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Statement.__Internal*)__Instance)->@string), value); + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->hasThisReturn = (byte) (value ? 1 : 0); } } - } - public unsafe partial class FunctionTemplateSpecialization : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 48)] - public partial struct __Internal + public bool IsConstExpr { - [FieldOffset(0)] - internal global::System.IntPtr _template; - - [FieldOffset(8)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; - - [FieldOffset(32)] - internal global::System.IntPtr specializedFunction; - - [FieldOffset(40)] - internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0FunctionTemplateSpecialization@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0FunctionTemplateSpecialization@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1FunctionTemplateSpecialization@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern void dtor(global::System.IntPtr instance, int delete); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getArguments@FunctionTemplateSpecialization@AST@CppParser@CppSharp@@QEAA?AUTemplateArgument@234@I@Z")] - internal static extern void GetArguments(global::System.IntPtr instance, global::System.IntPtr @return, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?addArguments@FunctionTemplateSpecialization@AST@CppParser@CppSharp@@QEAAXAEAUTemplateArgument@234@@Z")] - internal static extern void AddArguments(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearArguments@FunctionTemplateSpecialization@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearArguments(global::System.IntPtr instance); + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isConstExpr != 0; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getArgumentsCount@FunctionTemplateSpecialization@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetArgumentsCount(global::System.IntPtr instance); + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isConstExpr = (byte) (value ? 1 : 0); + } } - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.FunctionTemplateSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public bool IsVariadic { - return new global::CppSharp.Parser.AST.FunctionTemplateSpecialization(native.ToPointer(), skipVTables); - } + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isVariadic != 0; + } - internal static global::CppSharp.Parser.AST.FunctionTemplateSpecialization __CreateInstance(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.FunctionTemplateSpecialization(native, skipVTables); + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isVariadic = (byte) (value ? 1 : 0); + } } - private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal native) + public bool IsInline { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); - global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isInline != 0; + } - private FunctionTemplateSpecialization(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isInline = (byte) (value ? 1 : 0); + } } - protected FunctionTemplateSpecialization(void* native, bool skipVTables = false) + public bool IsPure { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isPure != 0; + } - public FunctionTemplateSpecialization() - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isPure = (byte) (value ? 1 : 0); + } } - public FunctionTemplateSpecialization(global::CppSharp.Parser.AST.FunctionTemplateSpecialization _0) + public bool IsDeleted { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isDeleted != 0; + } - public void Dispose() - { - Dispose(disposing: true); + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isDeleted = (byte) (value ? 1 : 0); + } } - public virtual void Dispose(bool disposing) + public bool IsDefaulted { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.FunctionTemplateSpecialization __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isDefaulted != 0; + } - public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) - { - var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); - __Internal.GetArguments((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); - return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isDefaulted = (byte) (value ? 1 : 0); + } } - public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) + public global::CppSharp.Parser.AST.FriendKind FriendKind { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); - } + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->friendKind; + } - public void ClearArguments() - { - __Internal.ClearArguments((__Instance + __PointerAdjustment)); + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->friendKind = value; + } } - public global::CppSharp.Parser.AST.FunctionTemplate Template + public global::CppSharp.Parser.AST.CXXOperatorKind OperatorKind { get { - global::CppSharp.Parser.AST.FunctionTemplate __result0; - if (((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.FunctionTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template)) - __result0 = (global::CppSharp.Parser.AST.FunctionTemplate) global::CppSharp.Parser.AST.FunctionTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template]; - else __result0 = global::CppSharp.Parser.AST.FunctionTemplate.__CreateInstance(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template); - return __result0; + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->operatorKind; } set { - ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*)__Instance)->_template = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->operatorKind = value; } } - public global::CppSharp.Parser.AST.Function SpecializedFunction + public string Mangled { get { - global::CppSharp.Parser.AST.Function __result0; - if (((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction)) - __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction]; - else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction); - return __result0; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->mangled)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*)__Instance)->specializedFunction = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->mangled), value); } } - public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind + public string Signature { get { - return ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializationKind; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->signature)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*)__Instance)->specializationKind = value; + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->signature), value); } } - public uint ArgumentsCount + public string Body { get { - var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); - return __ret; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->body)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->body), value); } } - } - public unsafe partial class FunctionTemplate : global::CppSharp.Parser.AST.Template, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 280)] - public new partial struct __Internal + public global::CppSharp.Parser.AST.CallingConvention CallingConvention { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->callingConvention; + } - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->callingConvention = value; + } + } + + public global::CppSharp.Parser.AST.FunctionTemplateSpecialization SpecializationInfo + { + get + { + global::CppSharp.Parser.AST.FunctionTemplateSpecialization __result0; + if (((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo)) + __result0 = (global::CppSharp.Parser.AST.FunctionTemplateSpecialization) global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap[((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo]; + else __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__CreateInstance(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->specializationInfo = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Function InstantiatedFrom + { + get + { + global::CppSharp.Parser.AST.Function __result0; + if (((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom)) + __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom]; + else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->instantiatedFrom = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType QualifiedType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->qualifiedType)); + } + + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public uint ParametersCount + { + get + { + var __ret = __Internal.GetParametersCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } + + public unsafe partial class Method : global::CppSharp.Parser.AST.Function, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 720)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(16)] internal global::System.IntPtr _namespace; @@ -7228,1658 +7677,189 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(224)] - internal global::System.IntPtr TemplatedDecl; + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; - [FieldOffset(232)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; + [FieldOffset(248)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; - [FieldOffset(256)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_FunctionTemplateSpecialization___N_std_S_allocator__S0_ Specializations; + [FieldOffset(272)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0FunctionTemplate@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); + [FieldOffset(296)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0FunctionTemplate@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + [FieldOffset(320)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1FunctionTemplate@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern void dtor(global::System.IntPtr instance, int delete); + [FieldOffset(344)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getSpecializations@FunctionTemplate@AST@CppParser@CppSharp@@QEAAPEAVFunctionTemplateSpecialization@234@I@Z")] - internal static extern global::System.IntPtr GetSpecializations(global::System.IntPtr instance, uint i); + [FieldOffset(368)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?addSpecializations@FunctionTemplate@AST@CppParser@CppSharp@@QEAAXAEAPEAVFunctionTemplateSpecialization@234@@Z")] - internal static extern void AddSpecializations(global::System.IntPtr instance, global::System.IntPtr s); + [FieldOffset(392)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearSpecializations@FunctionTemplate@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearSpecializations(global::System.IntPtr instance); + [FieldOffset(416)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?FindSpecialization@FunctionTemplate@AST@CppParser@CppSharp@@QEAAPEAVFunctionTemplateSpecialization@234@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z")] - internal static extern global::System.IntPtr FindSpecialization(global::System.IntPtr instance, global::System.IntPtr usr); + [FieldOffset(440)] + internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getSpecializationsCount@FunctionTemplate@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetSpecializationsCount(global::System.IntPtr instance); - } + [FieldOffset(456)] + internal byte isAnonymous; - internal static new global::CppSharp.Parser.AST.FunctionTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.FunctionTemplate(native.ToPointer(), skipVTables); - } + [FieldOffset(464)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; - internal static global::CppSharp.Parser.AST.FunctionTemplate __CreateInstance(global::CppSharp.Parser.AST.FunctionTemplate.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.FunctionTemplate(native, skipVTables); - } + [FieldOffset(480)] + internal byte isReturnIndirect; - private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionTemplate.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); - global::CppSharp.Parser.AST.FunctionTemplate.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + [FieldOffset(481)] + internal byte hasThisReturn; - private FunctionTemplate(global::CppSharp.Parser.AST.FunctionTemplate.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + [FieldOffset(482)] + internal byte isConstExpr; - protected FunctionTemplate(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [FieldOffset(483)] + internal byte isVariadic; - public FunctionTemplate() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } + [FieldOffset(484)] + internal byte isInline; - public FunctionTemplate(global::CppSharp.Parser.AST.FunctionTemplate _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(485)] + internal byte isPure; - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } + [FieldOffset(486)] + internal byte isDeleted; - public global::CppSharp.Parser.AST.FunctionTemplateSpecialization GetSpecializations(uint i) - { - var __ret = __Internal.GetSpecializations((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.FunctionTemplateSpecialization __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.FunctionTemplateSpecialization) global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__CreateInstance(__ret); - return __result0; - } + [FieldOffset(487)] + internal byte isDefaulted; - public void AddSpecializations(global::CppSharp.Parser.AST.FunctionTemplateSpecialization s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddSpecializations((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(488)] + internal global::CppSharp.Parser.AST.FriendKind friendKind; - public void ClearSpecializations() - { - __Internal.ClearSpecializations((__Instance + __PointerAdjustment)); - } + [FieldOffset(492)] + internal global::CppSharp.Parser.AST.CXXOperatorKind operatorKind; - public global::CppSharp.Parser.AST.FunctionTemplateSpecialization FindSpecialization(string usr) - { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, usr); - var __arg0 = __basicString0.__Instance; - var __ret = __Internal.FindSpecialization((__Instance + __PointerAdjustment), __arg0); - __basicString0.Dispose(false); - global::CppSharp.Parser.AST.FunctionTemplateSpecialization __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.FunctionTemplateSpecialization) global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__CreateInstance(__ret); - return __result0; - } + [FieldOffset(496)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C mangled; - public uint SpecializationsCount - { - get - { - var __ret = __Internal.GetSpecializationsCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - } - - public unsafe partial class TemplateArgument : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 40)] - public partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TemplateArgument.ArgumentKind kind; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; - - [FieldOffset(24)] - internal global::System.IntPtr declaration; - - [FieldOffset(32)] - internal int integral; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0TemplateArgument@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0TemplateArgument@AST@CppParser@CppSharp@@QEAA@AEBU0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); - } - - public enum ArgumentKind - { - Type = 0, - Declaration = 1, - NullPtr = 2, - Integral = 3, - Template = 4, - TemplateExpansion = 5, - Expression = 6, - Pack = 7 - } - - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.TemplateArgument __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.TemplateArgument(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.TemplateArgument __CreateInstance(global::CppSharp.Parser.AST.TemplateArgument.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.TemplateArgument(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateArgument.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); - *(global::CppSharp.Parser.AST.TemplateArgument.__Internal*) ret = native; - return ret.ToPointer(); - } - - private TemplateArgument(global::CppSharp.Parser.AST.TemplateArgument.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected TemplateArgument(void* native, bool skipVTables = false) - { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public TemplateArgument() - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } - - public TemplateArgument(global::CppSharp.Parser.AST.TemplateArgument _0) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) _0.__Instance); - } - - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.TemplateArgument __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - - public global::CppSharp.Parser.AST.TemplateArgument.ArgumentKind Kind - { - get - { - return ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->kind; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->kind = value; - } - } - - public global::CppSharp.Parser.AST.QualifiedType Type - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->type)); - } - - set - { - ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } - } - - public global::CppSharp.Parser.AST.Declaration Declaration - { - get - { - global::CppSharp.Parser.AST.Declaration __result0; - if (((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } - - public int Integral - { - get - { - return ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->integral; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->integral = value; - } - } - } - - public unsafe partial class AccessSpecifierDecl : global::CppSharp.Parser.AST.Declaration, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 224)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; - - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; - - [FieldOffset(32)] - internal int lineNumberEnd; - - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - - [FieldOffset(72)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - - [FieldOffset(104)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - - [FieldOffset(136)] - internal byte isIncomplete; - - [FieldOffset(137)] - internal byte isDependent; - - [FieldOffset(138)] - internal byte isImplicit; - - [FieldOffset(139)] - internal byte isInvalid; - - [FieldOffset(144)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(152)] - internal uint definitionOrder; - - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(184)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - - [FieldOffset(208)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(216)] - internal global::System.IntPtr comment; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0AccessSpecifierDecl@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0AccessSpecifierDecl@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1AccessSpecifierDecl@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern void dtor(global::System.IntPtr instance, int delete); - } - - internal static new global::CppSharp.Parser.AST.AccessSpecifierDecl __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.AccessSpecifierDecl(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.AccessSpecifierDecl __CreateInstance(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.AccessSpecifierDecl(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); - global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private AccessSpecifierDecl(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected AccessSpecifierDecl(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public AccessSpecifierDecl() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } - - public AccessSpecifierDecl(global::CppSharp.Parser.AST.AccessSpecifierDecl _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } - - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - } - - public unsafe partial class ClassLayout : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 128)] - public partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CppAbi ABI; - - [FieldOffset(8)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_VFTableInfo___N_std_S_allocator__S0_ VFTables; - - [FieldOffset(32)] - internal global::CppSharp.Parser.AST.VTableLayout.__Internal layout; - - [FieldOffset(56)] - internal byte hasOwnVFPtr; - - [FieldOffset(60)] - internal int VBPtrOffset; - - [FieldOffset(64)] - internal int alignment; - - [FieldOffset(68)] - internal int size; - - [FieldOffset(72)] - internal int dataSize; - - [FieldOffset(80)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_LayoutField___N_std_S_allocator__S0_ Fields; - - [FieldOffset(104)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_LayoutBase___N_std_S_allocator__S0_ Bases; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0ClassLayout@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0ClassLayout@AST@CppParser@CppSharp@@QEAA@AEBU0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1ClassLayout@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern void dtor(global::System.IntPtr instance, int delete); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getVFTables@ClassLayout@AST@CppParser@CppSharp@@QEAA?AUVFTableInfo@234@I@Z")] - internal static extern void GetVFTables(global::System.IntPtr instance, global::System.IntPtr @return, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?addVFTables@ClassLayout@AST@CppParser@CppSharp@@QEAAXAEAUVFTableInfo@234@@Z")] - internal static extern void AddVFTables(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearVFTables@ClassLayout@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearVFTables(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getFields@ClassLayout@AST@CppParser@CppSharp@@QEAA?AVLayoutField@234@I@Z")] - internal static extern void GetFields(global::System.IntPtr instance, global::System.IntPtr @return, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?addFields@ClassLayout@AST@CppParser@CppSharp@@QEAAXAEAVLayoutField@234@@Z")] - internal static extern void AddFields(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearFields@ClassLayout@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearFields(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getBases@ClassLayout@AST@CppParser@CppSharp@@QEAA?AVLayoutBase@234@I@Z")] - internal static extern void GetBases(global::System.IntPtr instance, global::System.IntPtr @return, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?addBases@ClassLayout@AST@CppParser@CppSharp@@QEAAXAEAVLayoutBase@234@@Z")] - internal static extern void AddBases(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearBases@ClassLayout@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearBases(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getVFTablesCount@ClassLayout@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetVFTablesCount(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getFieldsCount@ClassLayout@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetFieldsCount(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getBasesCount@ClassLayout@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetBasesCount(global::System.IntPtr instance); - } - - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.ClassLayout __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.ClassLayout(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.ClassLayout __CreateInstance(global::CppSharp.Parser.AST.ClassLayout.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.ClassLayout(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.ClassLayout.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); - global::CppSharp.Parser.AST.ClassLayout.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private ClassLayout(global::CppSharp.Parser.AST.ClassLayout.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected ClassLayout(void* native, bool skipVTables = false) - { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public ClassLayout() - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } - - public ClassLayout(global::CppSharp.Parser.AST.ClassLayout _0) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } - - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.ClassLayout __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - - public global::CppSharp.Parser.AST.VFTableInfo GetVFTables(uint i) - { - var __ret = new global::CppSharp.Parser.AST.VFTableInfo.__Internal(); - __Internal.GetVFTables((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); - return global::CppSharp.Parser.AST.VFTableInfo.__CreateInstance(__ret); - } - - public void AddVFTables(global::CppSharp.Parser.AST.VFTableInfo s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddVFTables((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearVFTables() - { - __Internal.ClearVFTables((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.LayoutField GetFields(uint i) - { - var __ret = new global::CppSharp.Parser.AST.LayoutField.__Internal(); - __Internal.GetFields((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); - return global::CppSharp.Parser.AST.LayoutField.__CreateInstance(__ret); - } - - public void AddFields(global::CppSharp.Parser.AST.LayoutField s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddFields((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearFields() - { - __Internal.ClearFields((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.LayoutBase GetBases(uint i) - { - var __ret = new global::CppSharp.Parser.AST.LayoutBase.__Internal(); - __Internal.GetBases((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); - return global::CppSharp.Parser.AST.LayoutBase.__CreateInstance(__ret); - } - - public void AddBases(global::CppSharp.Parser.AST.LayoutBase s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddBases((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearBases() - { - __Internal.ClearBases((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.CppAbi ABI - { - get - { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->ABI; - } - - set - { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->ABI = value; - } - } - - public global::CppSharp.Parser.AST.VTableLayout Layout - { - get - { - return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->layout)); - } - - set - { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->layout = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.VTableLayout.__Internal() : *(global::CppSharp.Parser.AST.VTableLayout.__Internal*) value.__Instance; - } - } - - public bool HasOwnVFPtr - { - get - { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->hasOwnVFPtr != 0; - } - - set - { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->hasOwnVFPtr = (byte) (value ? 1 : 0); - } - } - - public int VBPtrOffset - { - get - { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->VBPtrOffset; - } - - set - { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->VBPtrOffset = value; - } - } - - public int Alignment - { - get - { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->alignment; - } - - set - { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->alignment = value; - } - } - - public int Size - { - get - { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->size; - } - - set - { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->size = value; - } - } - - public int DataSize - { - get - { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->dataSize; - } - - set - { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->dataSize = value; - } - } - - public uint VFTablesCount - { - get - { - var __ret = __Internal.GetVFTablesCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - - public uint FieldsCount - { - get - { - var __ret = __Internal.GetFieldsCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - - public uint BasesCount - { - get - { - var __ret = __Internal.GetBasesCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - } - - public unsafe partial class VFTableInfo : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 40)] - public partial struct __Internal - { - [FieldOffset(0)] - internal ulong VBTableIndex; - - [FieldOffset(8)] - internal uint VFPtrOffset; - - [FieldOffset(12)] - internal uint VFPtrFullOffset; - - [FieldOffset(16)] - internal global::CppSharp.Parser.AST.VTableLayout.__Internal layout; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0VFTableInfo@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0VFTableInfo@AST@CppParser@CppSharp@@QEAA@AEBU0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1VFTableInfo@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern void dtor(global::System.IntPtr instance, int delete); - } - - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.VFTableInfo __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.VFTableInfo(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.VFTableInfo __CreateInstance(global::CppSharp.Parser.AST.VFTableInfo.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.VFTableInfo(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.VFTableInfo.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); - global::CppSharp.Parser.AST.VFTableInfo.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private VFTableInfo(global::CppSharp.Parser.AST.VFTableInfo.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected VFTableInfo(void* native, bool skipVTables = false) - { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public VFTableInfo() - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } - - public VFTableInfo(global::CppSharp.Parser.AST.VFTableInfo _0) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } - - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.VFTableInfo __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - - public ulong VBTableIndex - { - get - { - return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VBTableIndex; - } - - set - { - ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->VBTableIndex = value; - } - } - - public uint VFPtrOffset - { - get - { - return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VFPtrOffset; - } - - set - { - ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->VFPtrOffset = value; - } - } - - public uint VFPtrFullOffset - { - get - { - return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VFPtrFullOffset; - } - - set - { - ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->VFPtrFullOffset = value; - } - } - - public global::CppSharp.Parser.AST.VTableLayout Layout - { - get - { - return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->layout)); - } - - set - { - ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->layout = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.VTableLayout.__Internal() : *(global::CppSharp.Parser.AST.VTableLayout.__Internal*) value.__Instance; - } - } - } - - public unsafe partial class VTableLayout : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 24)] - public partial struct __Internal - { - [FieldOffset(0)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_VTableComponent___N_std_S_allocator__S0_ Components; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0VTableLayout@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0VTableLayout@AST@CppParser@CppSharp@@QEAA@AEBU0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1VTableLayout@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern void dtor(global::System.IntPtr instance, int delete); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getComponents@VTableLayout@AST@CppParser@CppSharp@@QEAA?AUVTableComponent@234@I@Z")] - internal static extern void GetComponents(global::System.IntPtr instance, global::System.IntPtr @return, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?addComponents@VTableLayout@AST@CppParser@CppSharp@@QEAAXAEAUVTableComponent@234@@Z")] - internal static extern void AddComponents(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearComponents@VTableLayout@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearComponents(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getComponentsCount@VTableLayout@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetComponentsCount(global::System.IntPtr instance); - } - - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.VTableLayout __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.VTableLayout(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.VTableLayout __CreateInstance(global::CppSharp.Parser.AST.VTableLayout.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.VTableLayout(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.VTableLayout.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); - global::CppSharp.Parser.AST.VTableLayout.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private VTableLayout(global::CppSharp.Parser.AST.VTableLayout.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected VTableLayout(void* native, bool skipVTables = false) - { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public VTableLayout() - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } - - public VTableLayout(global::CppSharp.Parser.AST.VTableLayout _0) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } - - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.VTableLayout __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - - public global::CppSharp.Parser.AST.VTableComponent GetComponents(uint i) - { - var __ret = new global::CppSharp.Parser.AST.VTableComponent.__Internal(); - __Internal.GetComponents((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); - return global::CppSharp.Parser.AST.VTableComponent.__CreateInstance(__ret); - } - - public void AddComponents(global::CppSharp.Parser.AST.VTableComponent s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddComponents((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearComponents() - { - __Internal.ClearComponents((__Instance + __PointerAdjustment)); - } - - public uint ComponentsCount - { - get - { - var __ret = __Internal.GetComponentsCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - } - - public unsafe partial class VTableComponent : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 16)] - public partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.VTableComponentKind kind; - - [FieldOffset(4)] - internal uint offset; - - [FieldOffset(8)] - internal global::System.IntPtr declaration; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0VTableComponent@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0VTableComponent@AST@CppParser@CppSharp@@QEAA@AEBU0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); - } - - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.VTableComponent __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.VTableComponent(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.VTableComponent __CreateInstance(global::CppSharp.Parser.AST.VTableComponent.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.VTableComponent(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.VTableComponent.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); - *(global::CppSharp.Parser.AST.VTableComponent.__Internal*) ret = native; - return ret.ToPointer(); - } - - private VTableComponent(global::CppSharp.Parser.AST.VTableComponent.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected VTableComponent(void* native, bool skipVTables = false) - { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public VTableComponent() - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } - - public VTableComponent(global::CppSharp.Parser.AST.VTableComponent _0) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.VTableComponent.__Internal*) _0.__Instance); - } - - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.VTableComponent __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - - public global::CppSharp.Parser.AST.VTableComponentKind Kind - { - get - { - return ((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->kind; - } - - set - { - ((global::CppSharp.Parser.AST.VTableComponent.__Internal*)__Instance)->kind = value; - } - } - - public uint Offset - { - get - { - return ((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->offset; - } - - set - { - ((global::CppSharp.Parser.AST.VTableComponent.__Internal*)__Instance)->offset = value; - } - } - - public global::CppSharp.Parser.AST.Declaration Declaration - { - get - { - global::CppSharp.Parser.AST.Declaration __result0; - if (((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.VTableComponent.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } - } - - public unsafe partial class LayoutField : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 64)] - public partial struct __Internal - { - [FieldOffset(0)] - internal uint offset; - - [FieldOffset(8)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - - [FieldOffset(40)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - - [FieldOffset(56)] - internal global::System.IntPtr fieldPtr; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0LayoutField@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0LayoutField@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr other); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1LayoutField@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern void dtor(global::System.IntPtr instance, int delete); - } - - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.LayoutField __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.LayoutField(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.LayoutField __CreateInstance(global::CppSharp.Parser.AST.LayoutField.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.LayoutField(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.LayoutField.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); - global::CppSharp.Parser.AST.LayoutField.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + [FieldOffset(528)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C signature; - private LayoutField(global::CppSharp.Parser.AST.LayoutField.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + [FieldOffset(560)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C body; - protected LayoutField(void* native, bool skipVTables = false) - { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [FieldOffset(592)] + internal global::CppSharp.Parser.AST.CallingConvention callingConvention; - public LayoutField() - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } + [FieldOffset(600)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_S_allocator__S0_ Parameters; - public LayoutField(global::CppSharp.Parser.AST.LayoutField other) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(other, null)) - throw new global::System.ArgumentNullException("other", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = other.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(624)] + internal global::System.IntPtr specializationInfo; - public void Dispose() - { - Dispose(disposing: true); - } + [FieldOffset(632)] + internal global::System.IntPtr instantiatedFrom; - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.LayoutField __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } + [FieldOffset(640)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - public uint Offset - { - get - { - return ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->offset; - } + [FieldOffset(656)] + internal byte isVirtual; - set - { - ((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->offset = value; - } - } + [FieldOffset(657)] + internal byte isStatic; - public string Name - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->name)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + [FieldOffset(658)] + internal byte isConst; - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->name), value); - } - } + [FieldOffset(659)] + internal byte isExplicit; - public global::CppSharp.Parser.AST.QualifiedType QualifiedType - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->qualifiedType)); - } + [FieldOffset(660)] + internal global::CppSharp.Parser.AST.CXXMethodKind methodKind; - set - { - ((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } - } + [FieldOffset(664)] + internal byte isDefaultConstructor; - public global::System.IntPtr FieldPtr - { - get - { - return ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->fieldPtr; - } + [FieldOffset(665)] + internal byte isCopyConstructor; - set - { - ((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->fieldPtr = (global::System.IntPtr) value; - } - } - } + [FieldOffset(666)] + internal byte isMoveConstructor; - public unsafe partial class LayoutBase : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 16)] - public partial struct __Internal - { - [FieldOffset(0)] - internal uint offset; + [FieldOffset(672)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal conversionType; - [FieldOffset(8)] - internal global::System.IntPtr _class; + [FieldOffset(688)] + internal global::CppSharp.Parser.AST.RefQualifierKind refQualifier; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0LayoutBase@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); + [FieldOffset(696)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_S_allocator__S0_ OverriddenMethods; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0LayoutBase@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr other); + EntryPoint="??0Method@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1LayoutBase@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern void dtor(global::System.IntPtr instance, int delete); - } - - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.LayoutBase __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.LayoutBase(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.LayoutBase __CreateInstance(global::CppSharp.Parser.AST.LayoutBase.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.LayoutBase(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.LayoutBase.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); - global::CppSharp.Parser.AST.LayoutBase.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private LayoutBase(global::CppSharp.Parser.AST.LayoutBase.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected LayoutBase(void* native, bool skipVTables = false) - { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public LayoutBase() - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } - - public LayoutBase(global::CppSharp.Parser.AST.LayoutBase other) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(other, null)) - throw new global::System.ArgumentNullException("other", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = other.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } - - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.LayoutBase __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - - public uint Offset - { - get - { - return ((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->offset; - } - - set - { - ((global::CppSharp.Parser.AST.LayoutBase.__Internal*)__Instance)->offset = value; - } - } - - public global::CppSharp.Parser.AST.Class Class - { - get - { - global::CppSharp.Parser.AST.Class __result0; - if (((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class)) - __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class]; - else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.LayoutBase.__Internal*)__Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } - } - - public unsafe partial class BuiltinType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 12)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + EntryPoint="??0Method@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); - [FieldOffset(4)] - internal byte isDependent; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??1Method@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor(global::System.IntPtr instance, int delete); - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.PrimitiveType type; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getOverriddenMethods@Method@AST@CppParser@CppSharp@@QEAAPEAV1234@I@Z")] + internal static extern global::System.IntPtr GetOverriddenMethods(global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0BuiltinType@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); + EntryPoint="?addOverriddenMethods@Method@AST@CppParser@CppSharp@@QEAAXAEAPEAV1234@@Z")] + internal static extern void AddOverriddenMethods(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0BuiltinType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="?clearOverriddenMethods@Method@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearOverriddenMethods(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getOverriddenMethodsCount@Method@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetOverriddenMethodsCount(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.BuiltinType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Method __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.BuiltinType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Method(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.BuiltinType __CreateInstance(global::CppSharp.Parser.AST.BuiltinType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Method __CreateInstance(global::CppSharp.Parser.AST.Method.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.BuiltinType(native, skipVTables); + return new global::CppSharp.Parser.AST.Method(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.BuiltinType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Method.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); - global::CppSharp.Parser.AST.BuiltinType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); + global::CppSharp.Parser.AST.Method.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private BuiltinType(global::CppSharp.Parser.AST.BuiltinType.__Internal native, bool skipVTables = false) + private Method(global::CppSharp.Parser.AST.Method.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected BuiltinType(void* native, bool skipVTables = false) + protected Method(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -8888,19 +7868,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public BuiltinType() + public Method() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public BuiltinType(global::CppSharp.Parser.AST.BuiltinType _0) + public Method(global::CppSharp.Parser.AST.Method _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -8909,527 +7889,551 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.PrimitiveType Type - { - get - { - return ((global::CppSharp.Parser.AST.BuiltinType.__Internal*) __Instance)->type; - } - - set - { - ((global::CppSharp.Parser.AST.BuiltinType.__Internal*)__Instance)->type = value; - } - } - } - - public unsafe partial class TagType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 16)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - internal byte isDependent; - - [FieldOffset(8)] - internal global::System.IntPtr declaration; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0TagType@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0TagType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); - } - - internal static new global::CppSharp.Parser.AST.TagType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.TagType(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.TagType __CreateInstance(global::CppSharp.Parser.AST.TagType.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.TagType(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.TagType.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); - global::CppSharp.Parser.AST.TagType.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private TagType(global::CppSharp.Parser.AST.TagType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) + public override void Dispose(bool disposing) { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; } - protected TagType(void* native, bool skipVTables = false) - : base((void*) null) + public global::CppSharp.Parser.AST.Method GetOverriddenMethods(uint i) { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); + var __ret = __Internal.GetOverriddenMethods((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Method __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Method.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Method) global::CppSharp.Parser.AST.Method.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Method.__CreateInstance(__ret); + return __result0; } - public TagType() - : this((void*) null) + public void AddOverriddenMethods(global::CppSharp.Parser.AST.Method s) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddOverriddenMethods((__Instance + __PointerAdjustment), __arg0); } - public TagType(global::CppSharp.Parser.AST.TagType _0) - : this((void*) null) + public void ClearOverriddenMethods() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + __Internal.ClearOverriddenMethods((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.Declaration Declaration + public bool IsVirtual { get { - global::CppSharp.Parser.AST.Declaration __result0; - if (((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration); - return __result0; + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isVirtual != 0; } set { - ((global::CppSharp.Parser.AST.TagType.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isVirtual = (byte) (value ? 1 : 0); } } - } - - public unsafe partial class ArrayType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 40)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - internal byte isDependent; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - - [FieldOffset(24)] - internal global::CppSharp.Parser.AST.ArrayType.ArraySize sizeType; - - [FieldOffset(28)] - internal int size; - - [FieldOffset(32)] - internal int elementSize; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0ArrayType@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0ArrayType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); - } - - public enum ArraySize - { - Constant = 0, - Variable = 1, - Dependent = 2, - Incomplete = 3 - } - internal static new global::CppSharp.Parser.AST.ArrayType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public bool IsStatic { - return new global::CppSharp.Parser.AST.ArrayType(native.ToPointer(), skipVTables); - } + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isStatic != 0; + } - internal static global::CppSharp.Parser.AST.ArrayType __CreateInstance(global::CppSharp.Parser.AST.ArrayType.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.ArrayType(native, skipVTables); + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isStatic = (byte) (value ? 1 : 0); + } } - private static void* __CopyValue(global::CppSharp.Parser.AST.ArrayType.__Internal native) + public bool IsConst { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); - global::CppSharp.Parser.AST.ArrayType.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isConst != 0; + } - private ArrayType(global::CppSharp.Parser.AST.ArrayType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isConst = (byte) (value ? 1 : 0); + } } - protected ArrayType(void* native, bool skipVTables = false) - : base((void*) null) + public bool IsExplicit { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isExplicit != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isExplicit = (byte) (value ? 1 : 0); + } } - public ArrayType() - : this((void*) null) + public global::CppSharp.Parser.AST.CXXMethodKind MethodKind { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->methodKind; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->methodKind = value; + } } - public ArrayType(global::CppSharp.Parser.AST.ArrayType _0) - : this((void*) null) + public bool IsDefaultConstructor { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isDefaultConstructor != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isDefaultConstructor = (byte) (value ? 1 : 0); + } } - public global::CppSharp.Parser.AST.QualifiedType QualifiedType + public bool IsCopyConstructor { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->qualifiedType)); + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isCopyConstructor != 0; } set { - ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isCopyConstructor = (byte) (value ? 1 : 0); } } - public global::CppSharp.Parser.AST.ArrayType.ArraySize SizeType + public bool IsMoveConstructor { get { - return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->sizeType; + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isMoveConstructor != 0; } set { - ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->sizeType = value; + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isMoveConstructor = (byte) (value ? 1 : 0); } } - public int Size + public global::CppSharp.Parser.AST.QualifiedType ConversionType { get { - return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->size; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->conversionType)); } set { - ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->size = value; + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->conversionType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public int ElementSize + public global::CppSharp.Parser.AST.RefQualifierKind RefQualifier { get { - return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->elementSize; + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->refQualifier; } set { - ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->elementSize = value; + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->refQualifier = value; + } + } + + public uint OverriddenMethodsCount + { + get + { + var __ret = __Internal.GetOverriddenMethodsCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class FunctionType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class Enumeration : global::CppSharp.Parser.AST.DeclarationContext, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 56)] + [StructLayout(LayoutKind.Explicit, Size = 512)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal byte isDependent; + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal global::System.IntPtr _namespace; [FieldOffset(24)] - internal global::CppSharp.Parser.AST.CallingConvention callingConvention; + internal global::CppSharp.Parser.SourceLocation.__Internal location; [FieldOffset(28)] - internal global::CppSharp.Parser.AST.ExceptionSpecType exceptionSpecType; + internal int lineNumberStart; [FieldOffset(32)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_S_allocator__S0_ Parameters; + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(72)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(136)] + internal byte isIncomplete; + + [FieldOffset(137)] + internal byte isDependent; + + [FieldOffset(138)] + internal byte isImplicit; + + [FieldOffset(139)] + internal byte isInvalid; + + [FieldOffset(144)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(152)] + internal uint definitionOrder; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(184)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(208)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(216)] + internal global::System.IntPtr comment; + + [FieldOffset(224)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; + + [FieldOffset(248)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; + + [FieldOffset(272)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; + + [FieldOffset(296)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; + + [FieldOffset(320)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; + + [FieldOffset(344)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; + + [FieldOffset(368)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; + + [FieldOffset(392)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; + + [FieldOffset(416)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; + + [FieldOffset(440)] + internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + + [FieldOffset(456)] + internal byte isAnonymous; + + [FieldOffset(464)] + internal global::CppSharp.Parser.AST.Enumeration.EnumModifiers modifiers; + + [FieldOffset(472)] + internal global::System.IntPtr type; + + [FieldOffset(480)] + internal global::System.IntPtr builtinType; + + [FieldOffset(488)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration_S_Item___N_std_S_allocator__S0_ Items; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0FunctionType@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0Enumeration@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0FunctionType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0Enumeration@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1FunctionType@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??1Enumeration@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern void dtor(global::System.IntPtr instance, int delete); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getParameters@FunctionType@AST@CppParser@CppSharp@@QEAAPEAVParameter@234@I@Z")] - internal static extern global::System.IntPtr GetParameters(global::System.IntPtr instance, uint i); + EntryPoint="?getItems@Enumeration@AST@CppParser@CppSharp@@QEAAPEAVItem@1234@I@Z")] + internal static extern global::System.IntPtr GetItems(global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?addParameters@FunctionType@AST@CppParser@CppSharp@@QEAAXAEAPEAVParameter@234@@Z")] - internal static extern void AddParameters(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="?addItems@Enumeration@AST@CppParser@CppSharp@@QEAAXAEAPEAVItem@1234@@Z")] + internal static extern void AddItems(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearParameters@FunctionType@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearParameters(global::System.IntPtr instance); + EntryPoint="?clearItems@Enumeration@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearItems(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getParametersCount@FunctionType@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetParametersCount(global::System.IntPtr instance); + EntryPoint="?FindItemByName@Enumeration@AST@CppParser@CppSharp@@QEAAPEAVItem@1234@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z")] + internal static extern global::System.IntPtr FindItemByName(global::System.IntPtr instance, global::System.IntPtr Name); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getItemsCount@Enumeration@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetItemsCount(global::System.IntPtr instance); + } + + [Flags] + public enum EnumModifiers + { + Anonymous = 1, + Scoped = 2, + Flags = 4 } - internal static new global::CppSharp.Parser.AST.FunctionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.FunctionType(native.ToPointer(), skipVTables); - } + public unsafe partial class Item : global::CppSharp.Parser.AST.Declaration, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 264)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal global::System.IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(72)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(136)] + internal byte isIncomplete; + + [FieldOffset(137)] + internal byte isDependent; + + [FieldOffset(138)] + internal byte isImplicit; + + [FieldOffset(139)] + internal byte isInvalid; - internal static global::CppSharp.Parser.AST.FunctionType __CreateInstance(global::CppSharp.Parser.AST.FunctionType.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.FunctionType(native, skipVTables); - } + [FieldOffset(144)] + internal global::System.IntPtr completeDeclaration; - private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionType.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); - global::CppSharp.Parser.AST.FunctionType.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + [FieldOffset(152)] + internal uint definitionOrder; - private FunctionType(global::CppSharp.Parser.AST.FunctionType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - protected FunctionType(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [FieldOffset(184)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - public FunctionType() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } + [FieldOffset(208)] + internal global::System.IntPtr originalPtr; - public FunctionType(global::CppSharp.Parser.AST.FunctionType _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(216)] + internal global::System.IntPtr comment; - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Type __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } + [FieldOffset(224)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C expression; - public global::CppSharp.Parser.AST.Parameter GetParameters(uint i) - { - var __ret = __Internal.GetParameters((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Parameter __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Parameter.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Parameter) global::CppSharp.Parser.AST.Parameter.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Parameter.__CreateInstance(__ret); - return __result0; - } + [FieldOffset(256)] + internal ulong value; - public void AddParameters(global::CppSharp.Parser.AST.Parameter s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddParameters((__Instance + __PointerAdjustment), __arg0); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0Item@Enumeration@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); - public void ClearParameters() - { - __Internal.ClearParameters((__Instance + __PointerAdjustment)); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0Item@Enumeration@AST@CppParser@CppSharp@@QEAA@AEBV01234@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); - public global::CppSharp.Parser.AST.QualifiedType ReturnType - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->returnType)); + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??1Item@Enumeration@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor(global::System.IntPtr instance, int delete); } - set + internal static new global::CppSharp.Parser.AST.Enumeration.Item __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - ((global::CppSharp.Parser.AST.FunctionType.__Internal*)__Instance)->returnType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + return new global::CppSharp.Parser.AST.Enumeration.Item(native.ToPointer(), skipVTables); } - } - public global::CppSharp.Parser.AST.CallingConvention CallingConvention - { - get + internal static global::CppSharp.Parser.AST.Enumeration.Item __CreateInstance(global::CppSharp.Parser.AST.Enumeration.Item.__Internal native, bool skipVTables = false) { - return ((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->callingConvention; + return new global::CppSharp.Parser.AST.Enumeration.Item(native, skipVTables); } - set + private static void* __CopyValue(global::CppSharp.Parser.AST.Enumeration.Item.__Internal native) { - ((global::CppSharp.Parser.AST.FunctionType.__Internal*)__Instance)->callingConvention = value; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); + global::CppSharp.Parser.AST.Enumeration.Item.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); } - } - public global::CppSharp.Parser.AST.ExceptionSpecType ExceptionSpecType - { - get + private Item(global::CppSharp.Parser.AST.Enumeration.Item.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - return ((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->exceptionSpecType; + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; } - set + protected Item(void* native, bool skipVTables = false) + : base((void*) null) { - ((global::CppSharp.Parser.AST.FunctionType.__Internal*)__Instance)->exceptionSpecType = value; + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - } - public uint ParametersCount - { - get + public Item() + : this((void*) null) { - var __ret = __Internal.GetParametersCount((__Instance + __PointerAdjustment)); - return __ret; + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); } - } - } - - public unsafe partial class PointerType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 32)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; - [FieldOffset(4)] - internal byte isDependent; + public Item(global::CppSharp.Parser.AST.Enumeration.Item _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedPointee; + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } - [FieldOffset(24)] - internal global::CppSharp.Parser.AST.PointerType.TypeModifier modifier; + public string Expression + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*) __Instance)->expression)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0PointerType@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*)__Instance)->expression), value); + } + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0PointerType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); - } + public ulong Value + { + get + { + return ((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*) __Instance)->value; + } - public enum TypeModifier - { - Value = 0, - Pointer = 1, - LVReference = 2, - RVReference = 3 + set + { + ((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*)__Instance)->value = value; + } + } } - internal static new global::CppSharp.Parser.AST.PointerType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Enumeration __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.PointerType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Enumeration(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.PointerType __CreateInstance(global::CppSharp.Parser.AST.PointerType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Enumeration __CreateInstance(global::CppSharp.Parser.AST.Enumeration.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.PointerType(native, skipVTables); + return new global::CppSharp.Parser.AST.Enumeration(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.PointerType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Enumeration.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); - global::CppSharp.Parser.AST.PointerType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); + global::CppSharp.Parser.AST.Enumeration.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private PointerType(global::CppSharp.Parser.AST.PointerType.__Internal native, bool skipVTables = false) + private Enumeration(global::CppSharp.Parser.AST.Enumeration.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected PointerType(void* native, bool skipVTables = false) + protected Enumeration(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -9438,19 +8442,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public PointerType() + public Enumeration() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public PointerType(global::CppSharp.Parser.AST.PointerType _0) + public Enumeration(global::CppSharp.Parser.AST.Enumeration _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -9459,83 +8463,229 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType QualifiedPointee + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Enumeration.Item GetItems(uint i) + { + var __ret = __Internal.GetItems((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Enumeration.Item __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Enumeration.Item) global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Enumeration.Item.__CreateInstance(__ret); + return __result0; + } + + public void AddItems(global::CppSharp.Parser.AST.Enumeration.Item s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddItems((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearItems() + { + __Internal.ClearItems((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.Enumeration.Item FindItemByName(string Name) + { + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, Name); + var __arg0 = __basicString0.__Instance; + var __ret = __Internal.FindItemByName((__Instance + __PointerAdjustment), __arg0); + __basicString0.Dispose(false); + global::CppSharp.Parser.AST.Enumeration.Item __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Enumeration.Item) global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Enumeration.Item.__CreateInstance(__ret); + return __result0; + } + + public global::CppSharp.Parser.AST.Enumeration.EnumModifiers Modifiers { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.PointerType.__Internal*) __Instance)->qualifiedPointee)); + return ((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->modifiers; } set { - ((global::CppSharp.Parser.AST.PointerType.__Internal*)__Instance)->qualifiedPointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.Enumeration.__Internal*)__Instance)->modifiers = value; } } - public global::CppSharp.Parser.AST.PointerType.TypeModifier Modifier + public global::CppSharp.Parser.AST.Type Type { get { - return ((global::CppSharp.Parser.AST.PointerType.__Internal*) __Instance)->modifier; + global::CppSharp.Parser.AST.Type __result0; + if (((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type)) + __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type]; + else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type); + return __result0; } set { - ((global::CppSharp.Parser.AST.PointerType.__Internal*)__Instance)->modifier = value; + ((global::CppSharp.Parser.AST.Enumeration.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.BuiltinType BuiltinType + { + get + { + global::CppSharp.Parser.AST.BuiltinType __result0; + if (((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.BuiltinType.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType)) + __result0 = (global::CppSharp.Parser.AST.BuiltinType) global::CppSharp.Parser.AST.BuiltinType.NativeToManagedMap[((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType]; + else __result0 = global::CppSharp.Parser.AST.BuiltinType.__CreateInstance(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.Enumeration.__Internal*)__Instance)->builtinType = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public uint ItemsCount + { + get + { + var __ret = __Internal.GetItemsCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class MemberPointerType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class Variable : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 272)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal byte isDependent; + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal pointee; + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal global::System.IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(72)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(136)] + internal byte isIncomplete; + + [FieldOffset(137)] + internal byte isDependent; + + [FieldOffset(138)] + internal byte isImplicit; + + [FieldOffset(139)] + internal byte isInvalid; + + [FieldOffset(144)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(152)] + internal uint definitionOrder; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(184)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(208)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(216)] + internal global::System.IntPtr comment; + + [FieldOffset(224)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C mangled; + + [FieldOffset(256)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0MemberPointerType@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0Variable@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0MemberPointerType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0Variable@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??1Variable@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor(global::System.IntPtr instance, int delete); } - internal static new global::CppSharp.Parser.AST.MemberPointerType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Variable __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.MemberPointerType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Variable(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.MemberPointerType __CreateInstance(global::CppSharp.Parser.AST.MemberPointerType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Variable __CreateInstance(global::CppSharp.Parser.AST.Variable.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.MemberPointerType(native, skipVTables); + return new global::CppSharp.Parser.AST.Variable(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.MemberPointerType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Variable.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); - global::CppSharp.Parser.AST.MemberPointerType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); + global::CppSharp.Parser.AST.Variable.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private MemberPointerType(global::CppSharp.Parser.AST.MemberPointerType.__Internal native, bool skipVTables = false) + private Variable(global::CppSharp.Parser.AST.Variable.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected MemberPointerType(void* native, bool skipVTables = false) + protected Variable(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -9544,19 +8694,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public MemberPointerType() + public Variable() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public MemberPointerType(global::CppSharp.Parser.AST.MemberPointerType _0) + public Variable(global::CppSharp.Parser.AST.Variable _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -9565,171 +8715,324 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType Pointee + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public string Mangled { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MemberPointerType.__Internal*) __Instance)->pointee)); + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Variable.__Internal*) __Instance)->mangled)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.MemberPointerType.__Internal*)__Instance)->pointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Variable.__Internal*)__Instance)->mangled), value); + } + } + + public global::CppSharp.Parser.AST.QualifiedType QualifiedType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Variable.__Internal*) __Instance)->qualifiedType)); + } + + set + { + ((global::CppSharp.Parser.AST.Variable.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } } - public unsafe partial class TypedefType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class BaseClassSpecifier : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 16)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 24)] + public partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(4)] - internal byte isDependent; + internal byte isVirtual; [FieldOffset(8)] - internal global::System.IntPtr declaration; + internal global::System.IntPtr type; + + [FieldOffset(16)] + internal int offset; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0TypedefType@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0BaseClassSpecifier@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0TypedefType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0BaseClassSpecifier@AST@CppParser@CppSharp@@QEAA@AEBU0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); } - internal static new global::CppSharp.Parser.AST.TypedefType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.BaseClassSpecifier __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypedefType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.BaseClassSpecifier(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TypedefType __CreateInstance(global::CppSharp.Parser.AST.TypedefType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.BaseClassSpecifier __CreateInstance(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypedefType(native, skipVTables); + return new global::CppSharp.Parser.AST.BaseClassSpecifier(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); - global::CppSharp.Parser.AST.TypedefType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); + *(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) ret = native; return ret.ToPointer(); } - private TypedefType(global::CppSharp.Parser.AST.TypedefType.__Internal native, bool skipVTables = false) + private BaseClassSpecifier(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TypedefType(void* native, bool skipVTables = false) - : base((void*) null) + protected BaseClassSpecifier(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public TypedefType() - : this((void*) null) + public BaseClassSpecifier() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TypedefType(global::CppSharp.Parser.AST.TypedefType _0) - : this((void*) null) + public BaseClassSpecifier(global::CppSharp.Parser.AST.BaseClassSpecifier _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + *((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) _0.__Instance); } - public global::CppSharp.Parser.AST.TypedefNameDecl Declaration + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.BaseClassSpecifier __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.AccessSpecifier Access { get { - global::CppSharp.Parser.AST.TypedefNameDecl __result0; - if (((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TypedefNameDecl.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration)) - __result0 = (global::CppSharp.Parser.AST.TypedefNameDecl) global::CppSharp.Parser.AST.TypedefNameDecl.NativeToManagedMap[((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration]; - else __result0 = global::CppSharp.Parser.AST.TypedefNameDecl.__CreateInstance(((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration); + return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->access; + } + + set + { + ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->access = value; + } + } + + public bool IsVirtual + { + get + { + return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->isVirtual != 0; + } + + set + { + ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->isVirtual = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.Type Type + { + get + { + global::CppSharp.Parser.AST.Type __result0; + if (((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type)) + __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type]; + else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type); return __result0; } set { - ((global::CppSharp.Parser.AST.TypedefType.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public int Offset + { + get + { + return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->offset; + } + + set + { + ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->offset = value; } } } - public unsafe partial class AttributedType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class Field : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 256)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal byte isDependent; + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal modified; + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal global::System.IntPtr _namespace; [FieldOffset(24)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal equivalent; + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(72)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(136)] + internal byte isIncomplete; + + [FieldOffset(137)] + internal byte isDependent; + + [FieldOffset(138)] + internal byte isImplicit; + + [FieldOffset(139)] + internal byte isInvalid; + + [FieldOffset(144)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(152)] + internal uint definitionOrder; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(184)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(208)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(216)] + internal global::System.IntPtr comment; + + [FieldOffset(224)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(240)] + internal global::System.IntPtr _class; + + [FieldOffset(248)] + internal byte isBitField; + + [FieldOffset(252)] + internal uint bitWidth; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0AttributedType@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0Field@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0AttributedType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0Field@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??1Field@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor(global::System.IntPtr instance, int delete); } - internal static new global::CppSharp.Parser.AST.AttributedType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Field __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.AttributedType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Field(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.AttributedType __CreateInstance(global::CppSharp.Parser.AST.AttributedType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Field __CreateInstance(global::CppSharp.Parser.AST.Field.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.AttributedType(native, skipVTables); + return new global::CppSharp.Parser.AST.Field(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.AttributedType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Field.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); - global::CppSharp.Parser.AST.AttributedType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); + global::CppSharp.Parser.AST.Field.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private AttributedType(global::CppSharp.Parser.AST.AttributedType.__Internal native, bool skipVTables = false) + private Field(global::CppSharp.Parser.AST.Field.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected AttributedType(void* native, bool skipVTables = false) + protected Field(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -9738,19 +9041,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public AttributedType() + public Field() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public AttributedType(global::CppSharp.Parser.AST.AttributedType _0) + public Field(global::CppSharp.Parser.AST.Field _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -9759,89 +9062,183 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType Modified + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.QualifiedType QualifiedType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->qualifiedType)); + } + + set + { + ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Class Class + { + get + { + global::CppSharp.Parser.AST.Class __result0; + if (((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class)) + __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class]; + else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool IsBitField { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.AttributedType.__Internal*) __Instance)->modified)); + return ((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->isBitField != 0; } set { - ((global::CppSharp.Parser.AST.AttributedType.__Internal*)__Instance)->modified = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->isBitField = (byte) (value ? 1 : 0); } } - public global::CppSharp.Parser.AST.QualifiedType Equivalent + public uint BitWidth { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.AttributedType.__Internal*) __Instance)->equivalent)); + return ((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->bitWidth; } set { - ((global::CppSharp.Parser.AST.AttributedType.__Internal*)__Instance)->equivalent = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->bitWidth = value; } } } - public unsafe partial class DecayedType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class AccessSpecifierDecl : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 56)] + [StructLayout(LayoutKind.Explicit, Size = 224)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal byte isDependent; + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal decayed; + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal global::System.IntPtr _namespace; [FieldOffset(24)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal original; + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; [FieldOffset(40)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal pointee; + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(72)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(136)] + internal byte isIncomplete; + + [FieldOffset(137)] + internal byte isDependent; + + [FieldOffset(138)] + internal byte isImplicit; + + [FieldOffset(139)] + internal byte isInvalid; + + [FieldOffset(144)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(152)] + internal uint definitionOrder; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(184)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(208)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(216)] + internal global::System.IntPtr comment; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0DecayedType@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0AccessSpecifierDecl@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0DecayedType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0AccessSpecifierDecl@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??1AccessSpecifierDecl@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor(global::System.IntPtr instance, int delete); } - internal static new global::CppSharp.Parser.AST.DecayedType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.AccessSpecifierDecl __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.DecayedType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.AccessSpecifierDecl(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.DecayedType __CreateInstance(global::CppSharp.Parser.AST.DecayedType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.AccessSpecifierDecl __CreateInstance(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.DecayedType(native, skipVTables); + return new global::CppSharp.Parser.AST.AccessSpecifierDecl(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.DecayedType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); - global::CppSharp.Parser.AST.DecayedType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); + global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private DecayedType(global::CppSharp.Parser.AST.DecayedType.__Internal native, bool skipVTables = false) + private AccessSpecifierDecl(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected DecayedType(void* native, bool skipVTables = false) + protected AccessSpecifierDecl(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -9850,19 +9247,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public DecayedType() + public AccessSpecifierDecl() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public DecayedType(global::CppSharp.Parser.AST.DecayedType _0) + public AccessSpecifierDecl(global::CppSharp.Parser.AST.AccessSpecifierDecl _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -9871,308 +9268,284 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType Decayed + public override void Dispose(bool disposing) { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->decayed)); - } - - set - { - ((global::CppSharp.Parser.AST.DecayedType.__Internal*)__Instance)->decayed = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; } + } - public global::CppSharp.Parser.AST.QualifiedType Original + public unsafe partial class Class : global::CppSharp.Parser.AST.DeclarationContext, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 584)] + public new partial struct __Internal { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->original)); - } + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal global::System.IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(72)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(136)] + internal byte isIncomplete; + + [FieldOffset(137)] + internal byte isDependent; + + [FieldOffset(138)] + internal byte isImplicit; + + [FieldOffset(139)] + internal byte isInvalid; + + [FieldOffset(144)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(152)] + internal uint definitionOrder; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(184)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(208)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(216)] + internal global::System.IntPtr comment; + + [FieldOffset(224)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; + + [FieldOffset(248)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; + + [FieldOffset(272)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; + + [FieldOffset(296)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; + + [FieldOffset(320)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; + + [FieldOffset(344)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; + + [FieldOffset(368)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; + + [FieldOffset(392)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; + + [FieldOffset(416)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; + + [FieldOffset(440)] + internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + + [FieldOffset(456)] + internal byte isAnonymous; + + [FieldOffset(464)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BaseClassSpecifier___N_std_S_allocator__S0_ Bases; + + [FieldOffset(488)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Field___N_std_S_allocator__S0_ Fields; + + [FieldOffset(512)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_S_allocator__S0_ Methods; + + [FieldOffset(536)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_AccessSpecifierDecl___N_std_S_allocator__S0_ Specifiers; + + [FieldOffset(560)] + internal byte isPOD; - set - { - ((global::CppSharp.Parser.AST.DecayedType.__Internal*)__Instance)->original = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } - } + [FieldOffset(561)] + internal byte isAbstract; - public global::CppSharp.Parser.AST.QualifiedType Pointee - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->pointee)); - } + [FieldOffset(562)] + internal byte isUnion; - set - { - ((global::CppSharp.Parser.AST.DecayedType.__Internal*)__Instance)->pointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } - } - } + [FieldOffset(563)] + internal byte isDynamic; - public unsafe partial class TemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 56)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + [FieldOffset(564)] + internal byte isPolymorphic; - [FieldOffset(4)] - internal byte isDependent; + [FieldOffset(565)] + internal byte hasNonTrivialDefaultConstructor; - [FieldOffset(8)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; + [FieldOffset(566)] + internal byte hasNonTrivialCopyConstructor; - [FieldOffset(32)] - internal global::System.IntPtr _template; + [FieldOffset(567)] + internal byte hasNonTrivialDestructor; - [FieldOffset(40)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; + [FieldOffset(568)] + internal byte isExternCContext; + + [FieldOffset(569)] + internal byte isInjected; + + [FieldOffset(576)] + internal global::System.IntPtr layout; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0TemplateSpecializationType@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0Class@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0TemplateSpecializationType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0Class@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1TemplateSpecializationType@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??1Class@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern void dtor(global::System.IntPtr instance, int delete); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getArguments@TemplateSpecializationType@AST@CppParser@CppSharp@@QEAA?AUTemplateArgument@234@I@Z")] - internal static extern void GetArguments(global::System.IntPtr instance, global::System.IntPtr @return, uint i); + EntryPoint="?getBases@Class@AST@CppParser@CppSharp@@QEAAPEAUBaseClassSpecifier@234@I@Z")] + internal static extern global::System.IntPtr GetBases(global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?addArguments@TemplateSpecializationType@AST@CppParser@CppSharp@@QEAAXAEAUTemplateArgument@234@@Z")] - internal static extern void AddArguments(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="?addBases@Class@AST@CppParser@CppSharp@@QEAAXAEAPEAUBaseClassSpecifier@234@@Z")] + internal static extern void AddBases(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearArguments@TemplateSpecializationType@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearArguments(global::System.IntPtr instance); + EntryPoint="?clearBases@Class@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearBases(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getArgumentsCount@TemplateSpecializationType@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetArgumentsCount(global::System.IntPtr instance); - } - - internal static new global::CppSharp.Parser.AST.TemplateSpecializationType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.TemplateSpecializationType(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.TemplateSpecializationType __CreateInstance(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.TemplateSpecializationType(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); - global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private TemplateSpecializationType(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected TemplateSpecializationType(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public TemplateSpecializationType() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } - - public TemplateSpecializationType(global::CppSharp.Parser.AST.TemplateSpecializationType _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } - - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Type __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - - public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) - { - var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); - __Internal.GetArguments((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); - return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); - } - - public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearArguments() - { - __Internal.ClearArguments((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.Template Template - { - get - { - global::CppSharp.Parser.AST.Template __result0; - if (((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Template.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template)) - __result0 = (global::CppSharp.Parser.AST.Template) global::CppSharp.Parser.AST.Template.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template]; - else __result0 = global::CppSharp.Parser.AST.Template.__CreateInstance(((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*)__Instance)->_template = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } - - public global::CppSharp.Parser.AST.QualifiedType Desugared - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->desugared)); - } - - set - { - ((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*)__Instance)->desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } - } + EntryPoint="?getFields@Class@AST@CppParser@CppSharp@@QEAAPEAVField@234@I@Z")] + internal static extern global::System.IntPtr GetFields(global::System.IntPtr instance, uint i); - public uint ArgumentsCount - { - get - { - var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?addFields@Class@AST@CppParser@CppSharp@@QEAAXAEAPEAVField@234@@Z")] + internal static extern void AddFields(global::System.IntPtr instance, global::System.IntPtr s); - public unsafe partial class DependentTemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 48)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?clearFields@Class@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearFields(global::System.IntPtr instance); - [FieldOffset(4)] - internal byte isDependent; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getMethods@Class@AST@CppParser@CppSharp@@QEAAPEAVMethod@234@I@Z")] + internal static extern global::System.IntPtr GetMethods(global::System.IntPtr instance, uint i); - [FieldOffset(8)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?addMethods@Class@AST@CppParser@CppSharp@@QEAAXAEAPEAVMethod@234@@Z")] + internal static extern void AddMethods(global::System.IntPtr instance, global::System.IntPtr s); - [FieldOffset(32)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?clearMethods@Class@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearMethods(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0DependentTemplateSpecializationType@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); + EntryPoint="?getSpecifiers@Class@AST@CppParser@CppSharp@@QEAAPEAVAccessSpecifierDecl@234@I@Z")] + internal static extern global::System.IntPtr GetSpecifiers(global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0DependentTemplateSpecializationType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="?addSpecifiers@Class@AST@CppParser@CppSharp@@QEAAXAEAPEAVAccessSpecifierDecl@234@@Z")] + internal static extern void AddSpecifiers(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1DependentTemplateSpecializationType@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern void dtor(global::System.IntPtr instance, int delete); + EntryPoint="?clearSpecifiers@Class@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearSpecifiers(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getArguments@DependentTemplateSpecializationType@AST@CppParser@CppSharp@@QEAA?AUTemplateArgument@234@I@Z")] - internal static extern void GetArguments(global::System.IntPtr instance, global::System.IntPtr @return, uint i); + EntryPoint="?getBasesCount@Class@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetBasesCount(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?addArguments@DependentTemplateSpecializationType@AST@CppParser@CppSharp@@QEAAXAEAUTemplateArgument@234@@Z")] - internal static extern void AddArguments(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="?getFieldsCount@Class@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetFieldsCount(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearArguments@DependentTemplateSpecializationType@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearArguments(global::System.IntPtr instance); + EntryPoint="?getMethodsCount@Class@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetMethodsCount(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getArgumentsCount@DependentTemplateSpecializationType@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetArgumentsCount(global::System.IntPtr instance); + EntryPoint="?getSpecifiersCount@Class@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetSpecifiersCount(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.DependentTemplateSpecializationType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Class __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.DependentTemplateSpecializationType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Class(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.DependentTemplateSpecializationType __CreateInstance(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Class __CreateInstance(global::CppSharp.Parser.AST.Class.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.DependentTemplateSpecializationType(native, skipVTables); + return new global::CppSharp.Parser.AST.Class(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Class.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); - global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); + global::CppSharp.Parser.AST.Class.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private DependentTemplateSpecializationType(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native, bool skipVTables = false) + private Class(global::CppSharp.Parser.AST.Class.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected DependentTemplateSpecializationType(void* native, bool skipVTables = false) + protected Class(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -10181,19 +9554,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public DependentTemplateSpecializationType() + public Class() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public DependentTemplateSpecializationType(global::CppSharp.Parser.AST.DependentTemplateSpecializationType _0) + public Class(global::CppSharp.Parser.AST.Class _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -10206,7 +9579,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Type __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -10215,489 +9588,424 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) + public global::CppSharp.Parser.AST.BaseClassSpecifier GetBases(uint i) { - var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); - __Internal.GetArguments((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); - return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); + var __ret = __Internal.GetBases((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.BaseClassSpecifier __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.BaseClassSpecifier.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.BaseClassSpecifier) global::CppSharp.Parser.AST.BaseClassSpecifier.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.BaseClassSpecifier.__CreateInstance(__ret); + return __result0; } - public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) + public void AddBases(global::CppSharp.Parser.AST.BaseClassSpecifier s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearArguments() - { - __Internal.ClearArguments((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.QualifiedType Desugared - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal*) __Instance)->desugared)); - } - - set - { - ((global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal*)__Instance)->desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } - } - - public uint ArgumentsCount - { - get - { - var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); - return __ret; - } + __Internal.AddBases((__Instance + __PointerAdjustment), __arg0); } - } - public unsafe partial class TypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 256)] - public new partial struct __Internal + public void ClearBases() { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; - - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; - - [FieldOffset(32)] - internal int lineNumberEnd; - - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - - [FieldOffset(72)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - - [FieldOffset(104)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - - [FieldOffset(136)] - internal byte isIncomplete; - - [FieldOffset(137)] - internal byte isDependent; - - [FieldOffset(138)] - internal byte isImplicit; - - [FieldOffset(139)] - internal byte isInvalid; - - [FieldOffset(144)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(152)] - internal uint definitionOrder; - - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(184)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - - [FieldOffset(208)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(216)] - internal global::System.IntPtr comment; - - [FieldOffset(224)] - internal uint depth; - - [FieldOffset(228)] - internal uint index; - - [FieldOffset(232)] - internal byte isParameterPack; - - [FieldOffset(240)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal defaultArgument; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0TypeTemplateParameter@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0TypeTemplateParameter@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1TypeTemplateParameter@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern void dtor(global::System.IntPtr instance, int delete); + __Internal.ClearBases((__Instance + __PointerAdjustment)); } - internal static new global::CppSharp.Parser.AST.TypeTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::CppSharp.Parser.AST.Field GetFields(uint i) { - return new global::CppSharp.Parser.AST.TypeTemplateParameter(native.ToPointer(), skipVTables); + var __ret = __Internal.GetFields((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Field __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Field.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Field) global::CppSharp.Parser.AST.Field.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Field.__CreateInstance(__ret); + return __result0; } - internal static global::CppSharp.Parser.AST.TypeTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal native, bool skipVTables = false) + public void AddFields(global::CppSharp.Parser.AST.Field s) { - return new global::CppSharp.Parser.AST.TypeTemplateParameter(native, skipVTables); + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddFields((__Instance + __PointerAdjustment), __arg0); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal native) + public void ClearFields() { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); - global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); + __Internal.ClearFields((__Instance + __PointerAdjustment)); } - private TypeTemplateParameter(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) + public global::CppSharp.Parser.AST.Method GetMethods(uint i) { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + var __ret = __Internal.GetMethods((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Method __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Method.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Method) global::CppSharp.Parser.AST.Method.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Method.__CreateInstance(__ret); + return __result0; } - protected TypeTemplateParameter(void* native, bool skipVTables = false) - : base((void*) null) + public void AddMethods(global::CppSharp.Parser.AST.Method s) { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddMethods((__Instance + __PointerAdjustment), __arg0); } - public TypeTemplateParameter() - : this((void*) null) + public void ClearMethods() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + __Internal.ClearMethods((__Instance + __PointerAdjustment)); } - public TypeTemplateParameter(global::CppSharp.Parser.AST.TypeTemplateParameter _0) - : this((void*) null) + public global::CppSharp.Parser.AST.AccessSpecifierDecl GetSpecifiers(uint i) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + var __ret = __Internal.GetSpecifiers((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.AccessSpecifierDecl __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.AccessSpecifierDecl.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.AccessSpecifierDecl) global::CppSharp.Parser.AST.AccessSpecifierDecl.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.AccessSpecifierDecl.__CreateInstance(__ret); + return __result0; } - public override void Dispose(bool disposing) + public void AddSpecifiers(global::CppSharp.Parser.AST.AccessSpecifierDecl s) { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddSpecifiers((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType DefaultArgument + public void ClearSpecifiers() + { + __Internal.ClearSpecifiers((__Instance + __PointerAdjustment)); + } + + public bool IsPOD { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal*) __Instance)->defaultArgument)); + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isPOD != 0; } set { - ((global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal*)__Instance)->defaultArgument = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isPOD = (byte) (value ? 1 : 0); } } - } - public unsafe partial class TemplateParameter : global::CppSharp.Parser.AST.Declaration, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 240)] - public new partial struct __Internal + public bool IsAbstract { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; - - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; - - [FieldOffset(32)] - internal int lineNumberEnd; - - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - - [FieldOffset(72)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - - [FieldOffset(104)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - - [FieldOffset(136)] - internal byte isIncomplete; - - [FieldOffset(137)] - internal byte isDependent; - - [FieldOffset(138)] - internal byte isImplicit; - - [FieldOffset(139)] - internal byte isInvalid; - - [FieldOffset(144)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(152)] - internal uint definitionOrder; - - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(184)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - - [FieldOffset(208)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(216)] - internal global::System.IntPtr comment; - - [FieldOffset(224)] - internal uint depth; - - [FieldOffset(228)] - internal uint index; - - [FieldOffset(232)] - internal byte isParameterPack; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0TemplateParameter@AST@CppParser@CppSharp@@QEAA@W4DeclarationKind@123@@Z")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0TemplateParameter@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isAbstract != 0; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1TemplateParameter@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern void dtor(global::System.IntPtr instance, int delete); + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isAbstract = (byte) (value ? 1 : 0); + } } - internal static new global::CppSharp.Parser.AST.TemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public bool IsUnion { - return new global::CppSharp.Parser.AST.TemplateParameter(native.ToPointer(), skipVTables); - } + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isUnion != 0; + } - internal static global::CppSharp.Parser.AST.TemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TemplateParameter.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.TemplateParameter(native, skipVTables); + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isUnion = (byte) (value ? 1 : 0); + } } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameter.__Internal native) + public bool IsDynamic { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); - global::CppSharp.Parser.AST.TemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isDynamic != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isDynamic = (byte) (value ? 1 : 0); + } } - private TemplateParameter(global::CppSharp.Parser.AST.TemplateParameter.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) + public bool IsPolymorphic { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isPolymorphic != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isPolymorphic = (byte) (value ? 1 : 0); + } } - protected TemplateParameter(void* native, bool skipVTables = false) - : base((void*) null) + public bool HasNonTrivialDefaultConstructor { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->hasNonTrivialDefaultConstructor != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->hasNonTrivialDefaultConstructor = (byte) (value ? 1 : 0); + } } - public TemplateParameter(global::CppSharp.Parser.AST.DeclarationKind kind) - : this((void*) null) + public bool HasNonTrivialCopyConstructor { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), kind); + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->hasNonTrivialCopyConstructor != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->hasNonTrivialCopyConstructor = (byte) (value ? 1 : 0); + } } - public TemplateParameter(global::CppSharp.Parser.AST.TemplateParameter _0) - : this((void*) null) + public bool HasNonTrivialDestructor { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->hasNonTrivialDestructor != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->hasNonTrivialDestructor = (byte) (value ? 1 : 0); + } } - public override void Dispose(bool disposing) + public bool IsExternCContext { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isExternCContext != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isExternCContext = (byte) (value ? 1 : 0); + } } - public static implicit operator global::CppSharp.Parser.AST.TemplateParameter(global::CppSharp.Parser.AST.DeclarationKind kind) + public bool IsInjected { - return new global::CppSharp.Parser.AST.TemplateParameter(kind); + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isInjected != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isInjected = (byte) (value ? 1 : 0); + } } - public uint Depth + public global::CppSharp.Parser.AST.ClassLayout Layout { get { - return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->depth; + global::CppSharp.Parser.AST.ClassLayout __result0; + if (((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.ClassLayout.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout)) + __result0 = (global::CppSharp.Parser.AST.ClassLayout) global::CppSharp.Parser.AST.ClassLayout.NativeToManagedMap[((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout]; + else __result0 = global::CppSharp.Parser.AST.ClassLayout.__CreateInstance(((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout); + return __result0; } set { - ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*)__Instance)->depth = value; + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->layout = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public uint BasesCount + { + get + { + var __ret = __Internal.GetBasesCount((__Instance + __PointerAdjustment)); + return __ret; } } - public uint Index + public uint FieldsCount { get { - return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->index; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*)__Instance)->index = value; + var __ret = __Internal.GetFieldsCount((__Instance + __PointerAdjustment)); + return __ret; } } - public bool IsParameterPack + public uint MethodsCount { get { - return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->isParameterPack != 0; + var __ret = __Internal.GetMethodsCount((__Instance + __PointerAdjustment)); + return __ret; } + } - set + public uint SpecifiersCount + { + get { - ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*)__Instance)->isParameterPack = (byte) (value ? 1 : 0); + var __ret = __Internal.GetSpecifiersCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class TemplateParameterType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class Template : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 256)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal byte isDependent; + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::System.IntPtr parameter; + internal global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(16)] - internal uint depth; - - [FieldOffset(20)] - internal uint index; + internal global::System.IntPtr _namespace; [FieldOffset(24)] - internal byte isParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(72)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(136)] + internal byte isIncomplete; + + [FieldOffset(137)] + internal byte isDependent; + + [FieldOffset(138)] + internal byte isImplicit; + + [FieldOffset(139)] + internal byte isInvalid; + + [FieldOffset(144)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(152)] + internal uint definitionOrder; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(184)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(208)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(216)] + internal global::System.IntPtr comment; + + [FieldOffset(224)] + internal global::System.IntPtr TemplatedDecl; + + [FieldOffset(232)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0TemplateParameterType@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0Template@AST@CppParser@CppSharp@@QEAA@W4DeclarationKind@123@@Z")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0Template@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0TemplateParameterType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0Template@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1TemplateParameterType@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??1Template@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern void dtor(global::System.IntPtr instance, int delete); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getParameters@Template@AST@CppParser@CppSharp@@QEAAPEAVDeclaration@234@I@Z")] + internal static extern global::System.IntPtr GetParameters(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?addParameters@Template@AST@CppParser@CppSharp@@QEAAXAEAPEAVDeclaration@234@@Z")] + internal static extern void AddParameters(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?clearParameters@Template@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearParameters(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getParametersCount@Template@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetParametersCount(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.TemplateParameterType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Template __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateParameterType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Template(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TemplateParameterType __CreateInstance(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Template __CreateInstance(global::CppSharp.Parser.AST.Template.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateParameterType(native, skipVTables); + return new global::CppSharp.Parser.AST.Template(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Template.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); - global::CppSharp.Parser.AST.TemplateParameterType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); + global::CppSharp.Parser.AST.Template.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateParameterType(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native, bool skipVTables = false) + private Template(global::CppSharp.Parser.AST.Template.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TemplateParameterType(void* native, bool skipVTables = false) + protected Template(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -10706,19 +10014,28 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TemplateParameterType() + public Template(global::CppSharp.Parser.AST.DeclarationKind kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), kind); + } + + public Template() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TemplateParameterType(global::CppSharp.Parser.AST.TemplateParameterType _0) + public Template(global::CppSharp.Parser.AST.Template _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -10731,7 +10048,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Type __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -10740,117 +10057,175 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.TypeTemplateParameter Parameter + public global::CppSharp.Parser.AST.Declaration GetParameters(uint i) + { + var __ret = __Internal.GetParameters((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Declaration __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(__ret); + return __result0; + } + + public void AddParameters(global::CppSharp.Parser.AST.Declaration s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddParameters((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearParameters() + { + __Internal.ClearParameters((__Instance + __PointerAdjustment)); + } + + public static implicit operator global::CppSharp.Parser.AST.Template(global::CppSharp.Parser.AST.DeclarationKind kind) + { + return new global::CppSharp.Parser.AST.Template(kind); + } + + public global::CppSharp.Parser.AST.Declaration TemplatedDecl { get { - global::CppSharp.Parser.AST.TypeTemplateParameter __result0; - if (((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TypeTemplateParameter.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter)) - __result0 = (global::CppSharp.Parser.AST.TypeTemplateParameter) global::CppSharp.Parser.AST.TypeTemplateParameter.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter]; - else __result0 = global::CppSharp.Parser.AST.TypeTemplateParameter.__CreateInstance(((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter); + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl); return __result0; } set { - ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->parameter = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.Template.__Internal*)__Instance)->TemplatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public uint Depth + public uint ParametersCount { get { - return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->depth; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->depth = value; + var __ret = __Internal.GetParametersCount((__Instance + __PointerAdjustment)); + return __ret; } } + } + + public unsafe partial class TypeAliasTemplate : global::CppSharp.Parser.AST.Template, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 256)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal global::System.IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(72)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(136)] + internal byte isIncomplete; + + [FieldOffset(137)] + internal byte isDependent; + + [FieldOffset(138)] + internal byte isImplicit; - public uint Index - { - get - { - return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->index; - } + [FieldOffset(139)] + internal byte isInvalid; - set - { - ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->index = value; - } - } + [FieldOffset(144)] + internal global::System.IntPtr completeDeclaration; - public bool IsParameterPack - { - get - { - return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->isParameterPack != 0; - } + [FieldOffset(152)] + internal uint definitionOrder; - set - { - ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->isParameterPack = (byte) (value ? 1 : 0); - } - } - } + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - public unsafe partial class TemplateParameterSubstitutionType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 32)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + [FieldOffset(184)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - [FieldOffset(4)] - internal byte isDependent; + [FieldOffset(208)] + internal global::System.IntPtr originalPtr; - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal replacement; + [FieldOffset(216)] + internal global::System.IntPtr comment; - [FieldOffset(24)] - internal global::System.IntPtr replacedParameter; + [FieldOffset(224)] + internal global::System.IntPtr TemplatedDecl; + + [FieldOffset(232)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0TemplateParameterSubstitutionType@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0TypeAliasTemplate@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0TemplateParameterSubstitutionType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0TypeAliasTemplate@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??1TypeAliasTemplate@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor(global::System.IntPtr instance, int delete); } - internal static new global::CppSharp.Parser.AST.TemplateParameterSubstitutionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TypeAliasTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateParameterSubstitutionType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TypeAliasTemplate(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TemplateParameterSubstitutionType __CreateInstance(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TypeAliasTemplate __CreateInstance(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateParameterSubstitutionType(native, skipVTables); + return new global::CppSharp.Parser.AST.TypeAliasTemplate(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); - global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); + global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateParameterSubstitutionType(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native, bool skipVTables = false) + private TypeAliasTemplate(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TemplateParameterSubstitutionType(void* native, bool skipVTables = false) + protected TypeAliasTemplate(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -10859,19 +10234,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TemplateParameterSubstitutionType() + public TypeAliasTemplate() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TemplateParameterSubstitutionType(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType _0) + public TypeAliasTemplate(global::CppSharp.Parser.AST.TypeAliasTemplate _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -10880,91 +10255,135 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType Replacement - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacement)); - } - - set - { - ((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*)__Instance)->replacement = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } - } - - public global::CppSharp.Parser.AST.TemplateParameterType ReplacedParameter + public override void Dispose(bool disposing) { - get - { - global::CppSharp.Parser.AST.TemplateParameterType __result0; - if (((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TemplateParameterType.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter)) - __result0 = (global::CppSharp.Parser.AST.TemplateParameterType) global::CppSharp.Parser.AST.TemplateParameterType.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter]; - else __result0 = global::CppSharp.Parser.AST.TemplateParameterType.__CreateInstance(((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*)__Instance)->replacedParameter = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; } } - public unsafe partial class InjectedClassNameType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class TemplateParameter : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 240)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal byte isDependent; + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal injectedSpecializationType; + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal global::System.IntPtr _namespace; [FieldOffset(24)] - internal global::System.IntPtr _class; + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(72)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(136)] + internal byte isIncomplete; + + [FieldOffset(137)] + internal byte isDependent; + + [FieldOffset(138)] + internal byte isImplicit; + + [FieldOffset(139)] + internal byte isInvalid; + + [FieldOffset(144)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(152)] + internal uint definitionOrder; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(184)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(208)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(216)] + internal global::System.IntPtr comment; + + [FieldOffset(224)] + internal uint depth; + + [FieldOffset(228)] + internal uint index; + + [FieldOffset(232)] + internal byte isParameterPack; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0InjectedClassNameType@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); + EntryPoint="??0TemplateParameter@AST@CppParser@CppSharp@@QEAA@W4DeclarationKind@123@@Z")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0InjectedClassNameType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0TemplateParameter@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??1TemplateParameter@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor(global::System.IntPtr instance, int delete); } - internal static new global::CppSharp.Parser.AST.InjectedClassNameType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.InjectedClassNameType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TemplateParameter(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.InjectedClassNameType __CreateInstance(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TemplateParameter.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.InjectedClassNameType(native, skipVTables); + return new global::CppSharp.Parser.AST.TemplateParameter(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameter.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); - global::CppSharp.Parser.AST.InjectedClassNameType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); + global::CppSharp.Parser.AST.TemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private InjectedClassNameType(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native, bool skipVTables = false) + private TemplateParameter(global::CppSharp.Parser.AST.TemplateParameter.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected InjectedClassNameType(void* native, bool skipVTables = false) + protected TemplateParameter(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -10973,19 +10392,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public InjectedClassNameType() + public TemplateParameter(global::CppSharp.Parser.AST.DeclarationKind kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + __Internal.ctor((__Instance + __PointerAdjustment), kind); } - public InjectedClassNameType(global::CppSharp.Parser.AST.InjectedClassNameType _0) + public TemplateParameter(global::CppSharp.Parser.AST.TemplateParameter _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -10994,96 +10413,185 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType InjectedSpecializationType + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public static implicit operator global::CppSharp.Parser.AST.TemplateParameter(global::CppSharp.Parser.AST.DeclarationKind kind) + { + return new global::CppSharp.Parser.AST.TemplateParameter(kind); + } + + public uint Depth + { + get + { + return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->depth; + } + + set + { + ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*)__Instance)->depth = value; + } + } + + public uint Index { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->injectedSpecializationType)); + return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->index; } set { - ((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*)__Instance)->injectedSpecializationType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*)__Instance)->index = value; } } - public global::CppSharp.Parser.AST.Class Class + public bool IsParameterPack { get { - global::CppSharp.Parser.AST.Class __result0; - if (((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class)) - __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class]; - else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class); - return __result0; + return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->isParameterPack != 0; } set { - ((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*)__Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*)__Instance)->isParameterPack = (byte) (value ? 1 : 0); } } } - public unsafe partial class DependentNameType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class TemplateTemplateParameter : global::CppSharp.Parser.AST.Template, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 56)] + [StructLayout(LayoutKind.Explicit, Size = 264)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal byte isDependent; + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifier; + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal global::System.IntPtr _namespace; [FieldOffset(24)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C identifier; + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(72)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(136)] + internal byte isIncomplete; + + [FieldOffset(137)] + internal byte isDependent; + + [FieldOffset(138)] + internal byte isImplicit; + + [FieldOffset(139)] + internal byte isInvalid; + + [FieldOffset(144)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(152)] + internal uint definitionOrder; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(184)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(208)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(216)] + internal global::System.IntPtr comment; + + [FieldOffset(224)] + internal global::System.IntPtr TemplatedDecl; + + [FieldOffset(232)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; + + [FieldOffset(256)] + internal byte isParameterPack; + + [FieldOffset(257)] + internal byte isPackExpansion; + + [FieldOffset(258)] + internal byte isExpandedParameterPack; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0DependentNameType@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0TemplateTemplateParameter@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0DependentNameType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0TemplateTemplateParameter@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1DependentNameType@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??1TemplateTemplateParameter@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern void dtor(global::System.IntPtr instance, int delete); } - internal static new global::CppSharp.Parser.AST.DependentNameType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TemplateTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.DependentNameType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TemplateTemplateParameter(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.DependentNameType __CreateInstance(global::CppSharp.Parser.AST.DependentNameType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TemplateTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.DependentNameType(native, skipVTables); + return new global::CppSharp.Parser.AST.TemplateTemplateParameter(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.DependentNameType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); - global::CppSharp.Parser.AST.DependentNameType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); + global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private DependentNameType(global::CppSharp.Parser.AST.DependentNameType.__Internal native, bool skipVTables = false) + private TemplateTemplateParameter(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected DependentNameType(void* native, bool skipVTables = false) + protected TemplateTemplateParameter(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -11092,19 +10600,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public DependentNameType() + public TemplateTemplateParameter() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public DependentNameType(global::CppSharp.Parser.AST.DependentNameType _0) + public TemplateTemplateParameter(global::CppSharp.Parser.AST.TemplateTemplateParameter _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -11117,7 +10625,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Type __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -11126,166 +10634,164 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.QualifiedType Qualifier + public bool IsParameterPack { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentNameType.__Internal*) __Instance)->qualifier)); + return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isParameterPack != 0; } set { - ((global::CppSharp.Parser.AST.DependentNameType.__Internal*)__Instance)->qualifier = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*)__Instance)->isParameterPack = (byte) (value ? 1 : 0); } } - public string Identifier + public bool IsPackExpansion { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentNameType.__Internal*) __Instance)->identifier)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isPackExpansion != 0; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentNameType.__Internal*)__Instance)->identifier), value); + ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*)__Instance)->isPackExpansion = (byte) (value ? 1 : 0); + } + } + + public bool IsExpandedParameterPack + { + get + { + return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isExpandedParameterPack != 0; + } + + set + { + ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*)__Instance)->isExpandedParameterPack = (byte) (value ? 1 : 0); } } } - public unsafe partial class PackExpansionType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class TypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 8)] + [StructLayout(LayoutKind.Explicit, Size = 256)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal byte isDependent; + internal int maxFieldAlignment; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0PackExpansionType@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0PackExpansionType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); - } + [FieldOffset(16)] + internal global::System.IntPtr _namespace; - internal static new global::CppSharp.Parser.AST.PackExpansionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.PackExpansionType(native.ToPointer(), skipVTables); - } + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; - internal static global::CppSharp.Parser.AST.PackExpansionType __CreateInstance(global::CppSharp.Parser.AST.PackExpansionType.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.PackExpansionType(native, skipVTables); - } + [FieldOffset(28)] + internal int lineNumberStart; - private static void* __CopyValue(global::CppSharp.Parser.AST.PackExpansionType.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); - global::CppSharp.Parser.AST.PackExpansionType.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + [FieldOffset(32)] + internal int lineNumberEnd; - private PackExpansionType(global::CppSharp.Parser.AST.PackExpansionType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - protected PackExpansionType(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [FieldOffset(72)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - public PackExpansionType() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(136)] + internal byte isIncomplete; + + [FieldOffset(137)] + internal byte isDependent; + + [FieldOffset(138)] + internal byte isImplicit; + + [FieldOffset(139)] + internal byte isInvalid; + + [FieldOffset(144)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(152)] + internal uint definitionOrder; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - public PackExpansionType(global::CppSharp.Parser.AST.PackExpansionType _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } - } + [FieldOffset(184)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - public unsafe partial class UnaryTransformType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 40)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + [FieldOffset(208)] + internal global::System.IntPtr originalPtr; - [FieldOffset(4)] - internal byte isDependent; + [FieldOffset(216)] + internal global::System.IntPtr comment; - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; + [FieldOffset(224)] + internal uint depth; - [FieldOffset(24)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal baseType; + [FieldOffset(228)] + internal uint index; + + [FieldOffset(232)] + internal byte isParameterPack; + + [FieldOffset(240)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal defaultArgument; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0UnaryTransformType@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0TypeTemplateParameter@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0UnaryTransformType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0TypeTemplateParameter@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??1TypeTemplateParameter@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor(global::System.IntPtr instance, int delete); } - internal static new global::CppSharp.Parser.AST.UnaryTransformType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TypeTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.UnaryTransformType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TypeTemplateParameter(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.UnaryTransformType __CreateInstance(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TypeTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.UnaryTransformType(native, skipVTables); + return new global::CppSharp.Parser.AST.TypeTemplateParameter(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); - global::CppSharp.Parser.AST.UnaryTransformType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); + global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private UnaryTransformType(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native, bool skipVTables = false) + private TypeTemplateParameter(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected UnaryTransformType(void* native, bool skipVTables = false) + protected TypeTemplateParameter(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -11294,19 +10800,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public UnaryTransformType() + public TypeTemplateParameter() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public UnaryTransformType(global::CppSharp.Parser.AST.UnaryTransformType _0) + public TypeTemplateParameter(global::CppSharp.Parser.AST.TypeTemplateParameter _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -11315,86 +10821,160 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType Desugared + public override void Dispose(bool disposing) { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*) __Instance)->desugared)); - } - - set - { - ((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*)__Instance)->desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.QualifiedType BaseType + public global::CppSharp.Parser.AST.QualifiedType DefaultArgument { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*) __Instance)->baseType)); + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal*) __Instance)->defaultArgument)); } set { - ((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*)__Instance)->baseType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal*)__Instance)->defaultArgument = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } } - public unsafe partial class VectorType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class NonTypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 256)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal byte isDependent; + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal elementType; + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal global::System.IntPtr _namespace; [FieldOffset(24)] - internal uint numElements; + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(72)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(136)] + internal byte isIncomplete; + + [FieldOffset(137)] + internal byte isDependent; + + [FieldOffset(138)] + internal byte isImplicit; + + [FieldOffset(139)] + internal byte isInvalid; + + [FieldOffset(144)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(152)] + internal uint definitionOrder; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(184)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(208)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(216)] + internal global::System.IntPtr comment; + + [FieldOffset(224)] + internal uint depth; + + [FieldOffset(228)] + internal uint index; + + [FieldOffset(232)] + internal byte isParameterPack; + + [FieldOffset(240)] + internal global::System.IntPtr defaultArgument; + + [FieldOffset(248)] + internal uint position; + + [FieldOffset(252)] + internal byte isPackExpansion; + + [FieldOffset(253)] + internal byte isExpandedParameterPack; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0VectorType@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0NonTypeTemplateParameter@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0VectorType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0NonTypeTemplateParameter@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??1NonTypeTemplateParameter@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor(global::System.IntPtr instance, int delete); } - internal static new global::CppSharp.Parser.AST.VectorType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.NonTypeTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VectorType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.NonTypeTemplateParameter(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.VectorType __CreateInstance(global::CppSharp.Parser.AST.VectorType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.NonTypeTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VectorType(native, skipVTables); + return new global::CppSharp.Parser.AST.NonTypeTemplateParameter(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.VectorType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); - global::CppSharp.Parser.AST.VectorType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); + global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private VectorType(global::CppSharp.Parser.AST.VectorType.__Internal native, bool skipVTables = false) + private NonTypeTemplateParameter(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected VectorType(void* native, bool skipVTables = false) + protected NonTypeTemplateParameter(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -11403,50 +10983,94 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public VectorType() + public NonTypeTemplateParameter() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public VectorType(global::CppSharp.Parser.AST.VectorType _0) + public NonTypeTemplateParameter(global::CppSharp.Parser.AST.NonTypeTemplateParameter _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Expression DefaultArgument + { + get + { + global::CppSharp.Parser.AST.Expression __result0; + if (((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument)) + __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument]; + else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->defaultArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public uint Position + { + get + { + return ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->position; + } + + set + { + ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->position = value; + } } - public global::CppSharp.Parser.AST.QualifiedType ElementType + public bool IsPackExpansion { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VectorType.__Internal*) __Instance)->elementType)); + return ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->isPackExpansion != 0; } set { - ((global::CppSharp.Parser.AST.VectorType.__Internal*)__Instance)->elementType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->isPackExpansion = (byte) (value ? 1 : 0); } } - public uint NumElements + public bool IsExpandedParameterPack { get { - return ((global::CppSharp.Parser.AST.VectorType.__Internal*) __Instance)->numElements; + return ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->isExpandedParameterPack != 0; } set { - ((global::CppSharp.Parser.AST.VectorType.__Internal*)__Instance)->numElements = value; + ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->isExpandedParameterPack = (byte) (value ? 1 : 0); } } } @@ -12240,115 +11864,354 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + } + + public unsafe partial class FunctionTemplate : global::CppSharp.Parser.AST.Template, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 280)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal global::System.IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(72)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(136)] + internal byte isIncomplete; + + [FieldOffset(137)] + internal byte isDependent; + + [FieldOffset(138)] + internal byte isImplicit; + + [FieldOffset(139)] + internal byte isInvalid; + + [FieldOffset(144)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(152)] + internal uint definitionOrder; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(184)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(208)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(216)] + internal global::System.IntPtr comment; + + [FieldOffset(224)] + internal global::System.IntPtr TemplatedDecl; + + [FieldOffset(232)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; + + [FieldOffset(256)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_FunctionTemplateSpecialization___N_std_S_allocator__S0_ Specializations; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0FunctionTemplate@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0FunctionTemplate@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??1FunctionTemplate@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor(global::System.IntPtr instance, int delete); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getSpecializations@FunctionTemplate@AST@CppParser@CppSharp@@QEAAPEAVFunctionTemplateSpecialization@234@I@Z")] + internal static extern global::System.IntPtr GetSpecializations(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?addSpecializations@FunctionTemplate@AST@CppParser@CppSharp@@QEAAXAEAPEAVFunctionTemplateSpecialization@234@@Z")] + internal static extern void AddSpecializations(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?clearSpecializations@FunctionTemplate@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearSpecializations(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?FindSpecialization@FunctionTemplate@AST@CppParser@CppSharp@@QEAAPEAVFunctionTemplateSpecialization@234@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z")] + internal static extern global::System.IntPtr FindSpecialization(global::System.IntPtr instance, global::System.IntPtr usr); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getSpecializationsCount@FunctionTemplate@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetSpecializationsCount(global::System.IntPtr instance); + } + + internal static new global::CppSharp.Parser.AST.FunctionTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.FunctionTemplate(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.FunctionTemplate __CreateInstance(global::CppSharp.Parser.AST.FunctionTemplate.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.FunctionTemplate(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionTemplate.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); + global::CppSharp.Parser.AST.FunctionTemplate.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private FunctionTemplate(global::CppSharp.Parser.AST.FunctionTemplate.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected FunctionTemplate(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public FunctionTemplate() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public FunctionTemplate(global::CppSharp.Parser.AST.FunctionTemplate _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.FunctionTemplateSpecialization GetSpecializations(uint i) + { + var __ret = __Internal.GetSpecializations((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.FunctionTemplateSpecialization __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.FunctionTemplateSpecialization) global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__CreateInstance(__ret); + return __result0; + } + + public void AddSpecializations(global::CppSharp.Parser.AST.FunctionTemplateSpecialization s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddSpecializations((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearSpecializations() + { + __Internal.ClearSpecializations((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.FunctionTemplateSpecialization FindSpecialization(string usr) + { + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, usr); + var __arg0 = __basicString0.__Instance; + var __ret = __Internal.FindSpecialization((__Instance + __PointerAdjustment), __arg0); + __basicString0.Dispose(false); + global::CppSharp.Parser.AST.FunctionTemplateSpecialization __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.FunctionTemplateSpecialization) global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__CreateInstance(__ret); + return __result0; + } + + public uint SpecializationsCount { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; + get + { + var __ret = __Internal.GetSpecializationsCount((__Instance + __PointerAdjustment)); + return __ret; + } } } - public unsafe partial class BinaryOperator : global::CppSharp.Parser.AST.Expression, IDisposable + public unsafe partial class FunctionTemplateSpecialization : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 96)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 48)] + public partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.StatementClass _class; + internal global::System.IntPtr _template; [FieldOffset(8)] - internal global::System.IntPtr decl; - - [FieldOffset(16)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; - - [FieldOffset(48)] - internal global::System.IntPtr LHS; + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; - [FieldOffset(56)] - internal global::System.IntPtr RHS; + [FieldOffset(32)] + internal global::System.IntPtr specializedFunction; - [FieldOffset(64)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C opcodeStr; + [FieldOffset(40)] + internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0BinaryOperator@AST@CppParser@CppSharp@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PEAVExpression@123@10@Z")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr instance, global::System.IntPtr str, global::System.IntPtr lhs, global::System.IntPtr rhs, global::System.IntPtr opcodeStr); + EntryPoint="??0FunctionTemplateSpecialization@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0BinaryOperator@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0FunctionTemplateSpecialization@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1BinaryOperator@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??1FunctionTemplateSpecialization@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern void dtor(global::System.IntPtr instance, int delete); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getArguments@FunctionTemplateSpecialization@AST@CppParser@CppSharp@@QEAA?AUTemplateArgument@234@I@Z")] + internal static extern void GetArguments(global::System.IntPtr instance, global::System.IntPtr @return, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?addArguments@FunctionTemplateSpecialization@AST@CppParser@CppSharp@@QEAAXAEAUTemplateArgument@234@@Z")] + internal static extern void AddArguments(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?clearArguments@FunctionTemplateSpecialization@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearArguments(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getArgumentsCount@FunctionTemplateSpecialization@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetArgumentsCount(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.BinaryOperator __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.FunctionTemplateSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.BinaryOperator(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.FunctionTemplateSpecialization(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.BinaryOperator __CreateInstance(global::CppSharp.Parser.AST.BinaryOperator.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.FunctionTemplateSpecialization __CreateInstance(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.BinaryOperator(native, skipVTables); + return new global::CppSharp.Parser.AST.FunctionTemplateSpecialization(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.BinaryOperator.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); - global::CppSharp.Parser.AST.BinaryOperator.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); + global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private BinaryOperator(global::CppSharp.Parser.AST.BinaryOperator.__Internal native, bool skipVTables = false) + private FunctionTemplateSpecialization(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected BinaryOperator(void* native, bool skipVTables = false) - : base((void*) null) + protected FunctionTemplateSpecialization(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public BinaryOperator(string str, global::CppSharp.Parser.AST.Expression lhs, global::CppSharp.Parser.AST.Expression rhs, string opcodeStr) - : this((void*) null) + public FunctionTemplateSpecialization() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, str); - var __arg0 = __basicString0.__Instance; - var __arg1 = ReferenceEquals(lhs, null) ? global::System.IntPtr.Zero : lhs.__Instance; - var __arg2 = ReferenceEquals(rhs, null) ? global::System.IntPtr.Zero : rhs.__Instance; - var __basicString3 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString3, opcodeStr); - var __arg3 = __basicString3.__Instance; - __Internal.ctor((__Instance + __PointerAdjustment), __arg0, __arg1, __arg2, __arg3); - __basicString0.Dispose(false); - __basicString3.Dispose(false); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public BinaryOperator(global::CppSharp.Parser.AST.BinaryOperator _0) - : this((void*) null) + public FunctionTemplateSpecialization(global::CppSharp.Parser.AST.FunctionTemplateSpecialization _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -12357,11 +12220,16 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Statement __dummy; + global::CppSharp.Parser.AST.FunctionTemplateSpecialization __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -12370,137 +12238,230 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.Expression LHS + public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) + { + var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); + __Internal.GetArguments((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); + return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); + } + + public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearArguments() + { + __Internal.ClearArguments((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.FunctionTemplate Template { get { - global::CppSharp.Parser.AST.Expression __result0; - if (((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->LHS == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->LHS)) - __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->LHS]; - else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->LHS); + global::CppSharp.Parser.AST.FunctionTemplate __result0; + if (((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.FunctionTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template)) + __result0 = (global::CppSharp.Parser.AST.FunctionTemplate) global::CppSharp.Parser.AST.FunctionTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template]; + else __result0 = global::CppSharp.Parser.AST.FunctionTemplate.__CreateInstance(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template); return __result0; } set { - ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->LHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*)__Instance)->_template = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Function SpecializedFunction + { + get + { + global::CppSharp.Parser.AST.Function __result0; + if (((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction)) + __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction]; + else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*)__Instance)->specializedFunction = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind + { + get + { + return ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializationKind; + } + + set + { + ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*)__Instance)->specializationKind = value; + } + } + + public uint ArgumentsCount + { + get + { + var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); + return __ret; } } + } + + public unsafe partial class VarTemplate : global::CppSharp.Parser.AST.Template, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 280)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal global::System.IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(72)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(136)] + internal byte isIncomplete; + + [FieldOffset(137)] + internal byte isDependent; + + [FieldOffset(138)] + internal byte isImplicit; + + [FieldOffset(139)] + internal byte isInvalid; - public global::CppSharp.Parser.AST.Expression RHS - { - get - { - global::CppSharp.Parser.AST.Expression __result0; - if (((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->RHS == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->RHS)) - __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->RHS]; - else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->RHS); - return __result0; - } + [FieldOffset(144)] + internal global::System.IntPtr completeDeclaration; - set - { - ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->RHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } + [FieldOffset(152)] + internal uint definitionOrder; - public string OpcodeStr - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->opcodeStr)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->opcodeStr), value); - } - } - } + [FieldOffset(184)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - public unsafe partial class CallExpr : global::CppSharp.Parser.AST.Expression, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 72)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.StatementClass _class; + [FieldOffset(208)] + internal global::System.IntPtr originalPtr; - [FieldOffset(8)] - internal global::System.IntPtr decl; + [FieldOffset(216)] + internal global::System.IntPtr comment; - [FieldOffset(16)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; + [FieldOffset(224)] + internal global::System.IntPtr TemplatedDecl; - [FieldOffset(48)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expression___N_std_S_allocator__S0_ Arguments; + [FieldOffset(232)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; + + [FieldOffset(256)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_VarTemplateSpecialization___N_std_S_allocator__S0_ Specializations; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0CallExpr@AST@CppParser@CppSharp@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PEAVDeclaration@123@@Z")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr instance, global::System.IntPtr str, global::System.IntPtr decl); + EntryPoint="??0VarTemplate@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0CallExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0VarTemplate@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1CallExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??1VarTemplate@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern void dtor(global::System.IntPtr instance, int delete); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getArguments@CallExpr@AST@CppParser@CppSharp@@QEAAPEAVExpression@234@I@Z")] - internal static extern global::System.IntPtr GetArguments(global::System.IntPtr instance, uint i); + EntryPoint="?getSpecializations@VarTemplate@AST@CppParser@CppSharp@@QEAAPEAVVarTemplateSpecialization@234@I@Z")] + internal static extern global::System.IntPtr GetSpecializations(global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?addArguments@CallExpr@AST@CppParser@CppSharp@@QEAAXAEAPEAVExpression@234@@Z")] - internal static extern void AddArguments(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="?addSpecializations@VarTemplate@AST@CppParser@CppSharp@@QEAAXAEAPEAVVarTemplateSpecialization@234@@Z")] + internal static extern void AddSpecializations(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearArguments@CallExpr@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearArguments(global::System.IntPtr instance); + EntryPoint="?clearSpecializations@VarTemplate@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearSpecializations(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getArgumentsCount@CallExpr@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetArgumentsCount(global::System.IntPtr instance); + EntryPoint="?FindSpecialization@VarTemplate@AST@CppParser@CppSharp@@QEAAPEAVVarTemplateSpecialization@234@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z")] + internal static extern global::System.IntPtr FindSpecialization(global::System.IntPtr instance, global::System.IntPtr usr); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?FindPartialSpecialization@VarTemplate@AST@CppParser@CppSharp@@QEAAPEAVVarTemplatePartialSpecialization@234@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z")] + internal static extern global::System.IntPtr FindPartialSpecialization(global::System.IntPtr instance, global::System.IntPtr usr); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getSpecializationsCount@VarTemplate@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetSpecializationsCount(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.CallExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.VarTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.CallExpr(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.VarTemplate(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.CallExpr __CreateInstance(global::CppSharp.Parser.AST.CallExpr.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.VarTemplate __CreateInstance(global::CppSharp.Parser.AST.VarTemplate.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.CallExpr(native, skipVTables); + return new global::CppSharp.Parser.AST.VarTemplate(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.CallExpr.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VarTemplate.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); - global::CppSharp.Parser.AST.CallExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); + global::CppSharp.Parser.AST.VarTemplate.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private CallExpr(global::CppSharp.Parser.AST.CallExpr.__Internal native, bool skipVTables = false) + private VarTemplate(global::CppSharp.Parser.AST.VarTemplate.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected CallExpr(void* native, bool skipVTables = false) + protected VarTemplate(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -12509,24 +12470,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public CallExpr(string str, global::CppSharp.Parser.AST.Declaration decl) + public VarTemplate() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, str); - var __arg0 = __basicString0.__Instance; - var __arg1 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; - __Internal.ctor((__Instance + __PointerAdjustment), __arg0, __arg1); - __basicString0.Dispose(false); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public CallExpr(global::CppSharp.Parser.AST.CallExpr _0) + public VarTemplate(global::CppSharp.Parser.AST.VarTemplate _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -12539,7 +12495,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Statement __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -12548,118 +12504,211 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.Expression GetArguments(uint i) + public global::CppSharp.Parser.AST.VarTemplateSpecialization GetSpecializations(uint i) { - var __ret = __Internal.GetArguments((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Expression __result0; + var __ret = __Internal.GetSpecializations((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.VarTemplateSpecialization __result0; if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(__ret); + else if (global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.VarTemplateSpecialization) global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.VarTemplateSpecialization.__CreateInstance(__ret); + return __result0; + } + + public void AddSpecializations(global::CppSharp.Parser.AST.VarTemplateSpecialization s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddSpecializations((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearSpecializations() + { + __Internal.ClearSpecializations((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.VarTemplateSpecialization FindSpecialization(string usr) + { + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, usr); + var __arg0 = __basicString0.__Instance; + var __ret = __Internal.FindSpecialization((__Instance + __PointerAdjustment), __arg0); + __basicString0.Dispose(false); + global::CppSharp.Parser.AST.VarTemplateSpecialization __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.VarTemplateSpecialization) global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.VarTemplateSpecialization.__CreateInstance(__ret); + return __result0; + } + + public global::CppSharp.Parser.AST.VarTemplatePartialSpecialization FindPartialSpecialization(string usr) + { + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, usr); + var __arg0 = __basicString0.__Instance; + var __ret = __Internal.FindPartialSpecialization((__Instance + __PointerAdjustment), __arg0); + __basicString0.Dispose(false); + global::CppSharp.Parser.AST.VarTemplatePartialSpecialization __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.VarTemplatePartialSpecialization) global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__CreateInstance(__ret); return __result0; } - public void AddArguments(global::CppSharp.Parser.AST.Expression s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); - } + public uint SpecializationsCount + { + get + { + var __ret = __Internal.GetSpecializationsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } + + public unsafe partial class VarTemplateSpecialization : global::CppSharp.Parser.AST.Variable, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 312)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal global::System.IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(72)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(136)] + internal byte isIncomplete; + + [FieldOffset(137)] + internal byte isDependent; + + [FieldOffset(138)] + internal byte isImplicit; + + [FieldOffset(139)] + internal byte isInvalid; + + [FieldOffset(144)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(152)] + internal uint definitionOrder; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(184)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(208)] + internal global::System.IntPtr originalPtr; - public void ClearArguments() - { - __Internal.ClearArguments((__Instance + __PointerAdjustment)); - } + [FieldOffset(216)] + internal global::System.IntPtr comment; - public uint ArgumentsCount - { - get - { - var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - } + [FieldOffset(224)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C mangled; - public unsafe partial class CXXConstructExpr : global::CppSharp.Parser.AST.Expression, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 72)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.StatementClass _class; + [FieldOffset(256)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - [FieldOffset(8)] - internal global::System.IntPtr decl; + [FieldOffset(272)] + internal global::System.IntPtr templatedDecl; - [FieldOffset(16)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; + [FieldOffset(280)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; - [FieldOffset(48)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expression___N_std_S_allocator__S0_ Arguments; + [FieldOffset(304)] + internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0CXXConstructExpr@AST@CppParser@CppSharp@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PEAVDeclaration@123@@Z")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr instance, global::System.IntPtr str, global::System.IntPtr decl); + EntryPoint="??0VarTemplateSpecialization@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0CXXConstructExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0VarTemplateSpecialization@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1CXXConstructExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??1VarTemplateSpecialization@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern void dtor(global::System.IntPtr instance, int delete); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getArguments@CXXConstructExpr@AST@CppParser@CppSharp@@QEAAPEAVExpression@234@I@Z")] - internal static extern global::System.IntPtr GetArguments(global::System.IntPtr instance, uint i); + EntryPoint="?getArguments@VarTemplateSpecialization@AST@CppParser@CppSharp@@QEAA?AUTemplateArgument@234@I@Z")] + internal static extern void GetArguments(global::System.IntPtr instance, global::System.IntPtr @return, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?addArguments@CXXConstructExpr@AST@CppParser@CppSharp@@QEAAXAEAPEAVExpression@234@@Z")] + EntryPoint="?addArguments@VarTemplateSpecialization@AST@CppParser@CppSharp@@QEAAXAEAUTemplateArgument@234@@Z")] internal static extern void AddArguments(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearArguments@CXXConstructExpr@AST@CppParser@CppSharp@@QEAAXXZ")] + EntryPoint="?clearArguments@VarTemplateSpecialization@AST@CppParser@CppSharp@@QEAAXXZ")] internal static extern void ClearArguments(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getArgumentsCount@CXXConstructExpr@AST@CppParser@CppSharp@@QEAAIXZ")] + EntryPoint="?getArgumentsCount@VarTemplateSpecialization@AST@CppParser@CppSharp@@QEAAIXZ")] internal static extern uint GetArgumentsCount(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.CXXConstructExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.VarTemplateSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.CXXConstructExpr(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.VarTemplateSpecialization(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.CXXConstructExpr __CreateInstance(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.VarTemplateSpecialization __CreateInstance(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.CXXConstructExpr(native, skipVTables); + return new global::CppSharp.Parser.AST.VarTemplateSpecialization(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); - global::CppSharp.Parser.AST.CXXConstructExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal)); + global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private CXXConstructExpr(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native, bool skipVTables = false) + private VarTemplateSpecialization(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected CXXConstructExpr(void* native, bool skipVTables = false) + protected VarTemplateSpecialization(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -12668,24 +12717,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public CXXConstructExpr(string str, global::CppSharp.Parser.AST.Declaration decl) + public VarTemplateSpecialization() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, str); - var __arg0 = __basicString0.__Instance; - var __arg1 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; - __Internal.ctor((__Instance + __PointerAdjustment), __arg0, __arg1); - __basicString0.Dispose(false); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public CXXConstructExpr(global::CppSharp.Parser.AST.CXXConstructExpr _0) + public VarTemplateSpecialization(global::CppSharp.Parser.AST.VarTemplateSpecialization _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -12698,7 +12742,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Statement __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -12707,18 +12751,14 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.Expression GetArguments(uint i) + public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) { - var __ret = __Internal.GetArguments((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Expression __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(__ret); - return __result0; + var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); + __Internal.GetArguments((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); + return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); } - public void AddArguments(global::CppSharp.Parser.AST.Expression s) + public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); @@ -12731,6 +12771,37 @@ namespace CppSharp __Internal.ClearArguments((__Instance + __PointerAdjustment)); } + public global::CppSharp.Parser.AST.VarTemplate TemplatedDecl + { + get + { + global::CppSharp.Parser.AST.VarTemplate __result0; + if (((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.VarTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl)) + __result0 = (global::CppSharp.Parser.AST.VarTemplate) global::CppSharp.Parser.AST.VarTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl]; + else __result0 = global::CppSharp.Parser.AST.VarTemplate.__CreateInstance(((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*)__Instance)->templatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind + { + get + { + return ((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->specializationKind; + } + + set + { + ((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*)__Instance)->specializationKind = value; + } + } + public uint ArgumentsCount { get @@ -12741,9 +12812,9 @@ namespace CppSharp } } - public unsafe partial class TemplateTemplateParameter : global::CppSharp.Parser.AST.Template, IDisposable + public unsafe partial class VarTemplatePartialSpecialization : global::CppSharp.Parser.AST.VarTemplateSpecialization, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 264)] + [StructLayout(LayoutKind.Explicit, Size = 312)] public new partial struct __Internal { [FieldOffset(0)] @@ -12807,61 +12878,61 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(224)] - internal global::System.IntPtr TemplatedDecl; - - [FieldOffset(232)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C mangled; [FieldOffset(256)] - internal byte isParameterPack; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - [FieldOffset(257)] - internal byte isPackExpansion; + [FieldOffset(272)] + internal global::System.IntPtr templatedDecl; - [FieldOffset(258)] - internal byte isExpandedParameterPack; + [FieldOffset(280)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; + + [FieldOffset(304)] + internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0TemplateTemplateParameter@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0VarTemplatePartialSpecialization@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0TemplateTemplateParameter@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0VarTemplatePartialSpecialization@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1TemplateTemplateParameter@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??1VarTemplatePartialSpecialization@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern void dtor(global::System.IntPtr instance, int delete); } - internal static new global::CppSharp.Parser.AST.TemplateTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.VarTemplatePartialSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateTemplateParameter(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.VarTemplatePartialSpecialization(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TemplateTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.VarTemplatePartialSpecialization __CreateInstance(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateTemplateParameter(native, skipVTables); + return new global::CppSharp.Parser.AST.VarTemplatePartialSpecialization(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); - global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal)); + global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateTemplateParameter(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native, bool skipVTables = false) + private VarTemplatePartialSpecialization(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TemplateTemplateParameter(void* native, bool skipVTables = false) + protected VarTemplatePartialSpecialization(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -12870,19 +12941,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TemplateTemplateParameter() + public VarTemplatePartialSpecialization() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TemplateTemplateParameter(global::CppSharp.Parser.AST.TemplateTemplateParameter _0) + public VarTemplatePartialSpecialization(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -12903,50 +12974,11 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - - public bool IsParameterPack - { - get - { - return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isParameterPack != 0; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*)__Instance)->isParameterPack = (byte) (value ? 1 : 0); - } - } - - public bool IsPackExpansion - { - get - { - return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isPackExpansion != 0; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*)__Instance)->isPackExpansion = (byte) (value ? 1 : 0); - } - } - - public bool IsExpandedParameterPack - { - get - { - return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isExpandedParameterPack != 0; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*)__Instance)->isExpandedParameterPack = (byte) (value ? 1 : 0); - } - } } - public unsafe partial class NonTypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable + public unsafe partial class Namespace : global::CppSharp.Parser.AST.DeclarationContext, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 256)] + [StructLayout(LayoutKind.Explicit, Size = 472)] public new partial struct __Internal { [FieldOffset(0)] @@ -13003,74 +13035,89 @@ namespace CppSharp [FieldOffset(184)] internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - [FieldOffset(208)] - internal global::System.IntPtr originalPtr; + [FieldOffset(208)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(216)] + internal global::System.IntPtr comment; + + [FieldOffset(224)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; + + [FieldOffset(248)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; + + [FieldOffset(272)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; - [FieldOffset(216)] - internal global::System.IntPtr comment; + [FieldOffset(296)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; - [FieldOffset(224)] - internal uint depth; + [FieldOffset(320)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; - [FieldOffset(228)] - internal uint index; + [FieldOffset(344)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; - [FieldOffset(232)] - internal byte isParameterPack; + [FieldOffset(368)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; - [FieldOffset(240)] - internal global::System.IntPtr defaultArgument; + [FieldOffset(392)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; - [FieldOffset(248)] - internal uint position; + [FieldOffset(416)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; - [FieldOffset(252)] - internal byte isPackExpansion; + [FieldOffset(440)] + internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; - [FieldOffset(253)] - internal byte isExpandedParameterPack; + [FieldOffset(456)] + internal byte isAnonymous; + + [FieldOffset(464)] + internal byte isInline; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0NonTypeTemplateParameter@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0Namespace@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0NonTypeTemplateParameter@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0Namespace@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1NonTypeTemplateParameter@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??1Namespace@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern void dtor(global::System.IntPtr instance, int delete); } - internal static new global::CppSharp.Parser.AST.NonTypeTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Namespace __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.NonTypeTemplateParameter(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Namespace(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.NonTypeTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Namespace __CreateInstance(global::CppSharp.Parser.AST.Namespace.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.NonTypeTemplateParameter(native, skipVTables); + return new global::CppSharp.Parser.AST.Namespace(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Namespace.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); - global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); + global::CppSharp.Parser.AST.Namespace.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private NonTypeTemplateParameter(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native, bool skipVTables = false) + private Namespace(global::CppSharp.Parser.AST.Namespace.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected NonTypeTemplateParameter(void* native, bool skipVTables = false) + protected Namespace(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -13079,19 +13126,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public NonTypeTemplateParameter() + public Namespace() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public NonTypeTemplateParameter(global::CppSharp.Parser.AST.NonTypeTemplateParameter _0) + public Namespace(global::CppSharp.Parser.AST.Namespace _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -13113,205 +13160,223 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.Expression DefaultArgument + public bool IsInline { get { - global::CppSharp.Parser.AST.Expression __result0; - if (((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument)) - __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument]; - else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument); - return __result0; + return ((global::CppSharp.Parser.AST.Namespace.__Internal*) __Instance)->isInline != 0; } set { - ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->defaultArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.Namespace.__Internal*)__Instance)->isInline = (byte) (value ? 1 : 0); } } + } - public uint Position + public unsafe partial class PreprocessedEntity : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public partial struct __Internal { - get - { - return ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->position; - } + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.MacroLocation macroLocation; - set - { - ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->position = value; - } + [FieldOffset(8)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0PreprocessedEntity@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0PreprocessedEntity@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); } - public bool IsPackExpansion + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.PreprocessedEntity __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.PreprocessedEntity(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.PreprocessedEntity __CreateInstance(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.PreprocessedEntity(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); + *(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) ret = native; + return ret.ToPointer(); + } + + private PreprocessedEntity(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected PreprocessedEntity(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public PreprocessedEntity() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public PreprocessedEntity(global::CppSharp.Parser.AST.PreprocessedEntity _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) _0.__Instance); + } + + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.PreprocessedEntity __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.MacroLocation MacroLocation { get { - return ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->isPackExpansion != 0; + return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->macroLocation; } set { - ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->isPackExpansion = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*)__Instance)->macroLocation = value; } } - public bool IsExpandedParameterPack + public global::System.IntPtr OriginalPtr { get { - return ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->isExpandedParameterPack != 0; + return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->originalPtr; } set { - ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->isExpandedParameterPack = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*)__Instance)->originalPtr = (global::System.IntPtr) value; } } - } - public unsafe partial class VarTemplateSpecialization : global::CppSharp.Parser.AST.Variable, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 312)] - public new partial struct __Internal + public global::CppSharp.Parser.AST.DeclarationKind Kind { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; - - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; - - [FieldOffset(32)] - internal int lineNumberEnd; - - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - - [FieldOffset(72)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - - [FieldOffset(104)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - - [FieldOffset(136)] - internal byte isIncomplete; - - [FieldOffset(137)] - internal byte isDependent; - - [FieldOffset(138)] - internal byte isImplicit; - - [FieldOffset(139)] - internal byte isInvalid; - - [FieldOffset(144)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(152)] - internal uint definitionOrder; - - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + get + { + return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->kind; + } - [FieldOffset(184)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + set + { + ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*)__Instance)->kind = value; + } + } + } - [FieldOffset(208)] - internal global::System.IntPtr originalPtr; + public unsafe partial class MacroDefinition : global::CppSharp.Parser.AST.PreprocessedEntity, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 96)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.MacroLocation macroLocation; - [FieldOffset(216)] - internal global::System.IntPtr comment; + [FieldOffset(8)] + internal global::System.IntPtr originalPtr; - [FieldOffset(224)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C mangled; + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; - [FieldOffset(256)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + [FieldOffset(24)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - [FieldOffset(272)] - internal global::System.IntPtr templatedDecl; + [FieldOffset(56)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C expression; - [FieldOffset(280)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; + [FieldOffset(88)] + internal int lineNumberStart; - [FieldOffset(304)] - internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; + [FieldOffset(92)] + internal int lineNumberEnd; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0VarTemplateSpecialization@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0MacroDefinition@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0VarTemplateSpecialization@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0MacroDefinition@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1VarTemplateSpecialization@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??1MacroDefinition@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern void dtor(global::System.IntPtr instance, int delete); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getArguments@VarTemplateSpecialization@AST@CppParser@CppSharp@@QEAA?AUTemplateArgument@234@I@Z")] - internal static extern void GetArguments(global::System.IntPtr instance, global::System.IntPtr @return, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?addArguments@VarTemplateSpecialization@AST@CppParser@CppSharp@@QEAAXAEAUTemplateArgument@234@@Z")] - internal static extern void AddArguments(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearArguments@VarTemplateSpecialization@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearArguments(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getArgumentsCount@VarTemplateSpecialization@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetArgumentsCount(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.VarTemplateSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.MacroDefinition __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VarTemplateSpecialization(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.MacroDefinition(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.VarTemplateSpecialization __CreateInstance(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.MacroDefinition __CreateInstance(global::CppSharp.Parser.AST.MacroDefinition.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VarTemplateSpecialization(native, skipVTables); + return new global::CppSharp.Parser.AST.MacroDefinition(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.MacroDefinition.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal)); - global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal)); + global::CppSharp.Parser.AST.MacroDefinition.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private VarTemplateSpecialization(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal native, bool skipVTables = false) + private MacroDefinition(global::CppSharp.Parser.AST.MacroDefinition.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected VarTemplateSpecialization(void* native, bool skipVTables = false) + protected MacroDefinition(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -13320,19 +13385,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public VarTemplateSpecialization() + public MacroDefinition() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public VarTemplateSpecialization(global::CppSharp.Parser.AST.VarTemplateSpecialization _0) + public MacroDefinition(global::CppSharp.Parser.AST.MacroDefinition _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -13345,7 +13410,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.PreprocessedEntity __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -13354,212 +13419,129 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) - { - var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); - __Internal.GetArguments((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); - return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); - } - - public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) + public string Name { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); - } + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->name)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } - public void ClearArguments() - { - __Internal.ClearArguments((__Instance + __PointerAdjustment)); + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->name), value); + } } - public global::CppSharp.Parser.AST.VarTemplate TemplatedDecl + public string Expression { get { - global::CppSharp.Parser.AST.VarTemplate __result0; - if (((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.VarTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl)) - __result0 = (global::CppSharp.Parser.AST.VarTemplate) global::CppSharp.Parser.AST.VarTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl]; - else __result0 = global::CppSharp.Parser.AST.VarTemplate.__CreateInstance(((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl); - return __result0; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->expression)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*)__Instance)->templatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->expression), value); } } - public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind + public int LineNumberStart { get { - return ((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->specializationKind; + return ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->lineNumberStart; } set { - ((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*)__Instance)->specializationKind = value; + ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->lineNumberStart = value; } } - public uint ArgumentsCount + public int LineNumberEnd { get { - var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->lineNumberEnd; + } + + set + { + ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->lineNumberEnd = value; } } } - public unsafe partial class VarTemplate : global::CppSharp.Parser.AST.Template, IDisposable + public unsafe partial class MacroExpansion : global::CppSharp.Parser.AST.PreprocessedEntity, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 280)] + [StructLayout(LayoutKind.Explicit, Size = 96)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; + internal global::CppSharp.Parser.AST.MacroLocation macroLocation; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; + internal global::System.IntPtr originalPtr; [FieldOffset(16)] - internal global::System.IntPtr _namespace; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; - - [FieldOffset(32)] - internal int lineNumberEnd; - - [FieldOffset(40)] internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - [FieldOffset(72)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - - [FieldOffset(104)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - - [FieldOffset(136)] - internal byte isIncomplete; - - [FieldOffset(137)] - internal byte isDependent; - - [FieldOffset(138)] - internal byte isImplicit; - - [FieldOffset(139)] - internal byte isInvalid; - - [FieldOffset(144)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(152)] - internal uint definitionOrder; - - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(184)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - - [FieldOffset(208)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(216)] - internal global::System.IntPtr comment; - - [FieldOffset(224)] - internal global::System.IntPtr TemplatedDecl; - - [FieldOffset(232)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; + [FieldOffset(56)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C text; - [FieldOffset(256)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_VarTemplateSpecialization___N_std_S_allocator__S0_ Specializations; + [FieldOffset(88)] + internal global::System.IntPtr definition; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0VarTemplate@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0MacroExpansion@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0VarTemplate@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0MacroExpansion@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1VarTemplate@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern void dtor(global::System.IntPtr instance, int delete); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getSpecializations@VarTemplate@AST@CppParser@CppSharp@@QEAAPEAVVarTemplateSpecialization@234@I@Z")] - internal static extern global::System.IntPtr GetSpecializations(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?addSpecializations@VarTemplate@AST@CppParser@CppSharp@@QEAAXAEAPEAVVarTemplateSpecialization@234@@Z")] - internal static extern void AddSpecializations(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearSpecializations@VarTemplate@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearSpecializations(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?FindSpecialization@VarTemplate@AST@CppParser@CppSharp@@QEAAPEAVVarTemplateSpecialization@234@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z")] - internal static extern global::System.IntPtr FindSpecialization(global::System.IntPtr instance, global::System.IntPtr usr); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?FindPartialSpecialization@VarTemplate@AST@CppParser@CppSharp@@QEAAPEAVVarTemplatePartialSpecialization@234@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z")] - internal static extern global::System.IntPtr FindPartialSpecialization(global::System.IntPtr instance, global::System.IntPtr usr); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getSpecializationsCount@VarTemplate@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetSpecializationsCount(global::System.IntPtr instance); + EntryPoint="??1MacroExpansion@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor(global::System.IntPtr instance, int delete); } - internal static new global::CppSharp.Parser.AST.VarTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.MacroExpansion __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VarTemplate(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.MacroExpansion(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.VarTemplate __CreateInstance(global::CppSharp.Parser.AST.VarTemplate.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.MacroExpansion __CreateInstance(global::CppSharp.Parser.AST.MacroExpansion.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VarTemplate(native, skipVTables); + return new global::CppSharp.Parser.AST.MacroExpansion(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.VarTemplate.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.MacroExpansion.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); - global::CppSharp.Parser.AST.VarTemplate.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal)); + global::CppSharp.Parser.AST.MacroExpansion.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private VarTemplate(global::CppSharp.Parser.AST.VarTemplate.__Internal native, bool skipVTables = false) + private MacroExpansion(global::CppSharp.Parser.AST.MacroExpansion.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected VarTemplate(void* native, bool skipVTables = false) + protected MacroExpansion(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -13568,19 +13550,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public VarTemplate() + public MacroExpansion() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public VarTemplate(global::CppSharp.Parser.AST.VarTemplate _0) + public MacroExpansion(global::CppSharp.Parser.AST.MacroExpansion _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -13593,7 +13575,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.PreprocessedEntity __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -13602,73 +13584,60 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.VarTemplateSpecialization GetSpecializations(uint i) - { - var __ret = __Internal.GetSpecializations((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.VarTemplateSpecialization __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.VarTemplateSpecialization) global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.VarTemplateSpecialization.__CreateInstance(__ret); - return __result0; - } - - public void AddSpecializations(global::CppSharp.Parser.AST.VarTemplateSpecialization s) + public string Name { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddSpecializations((__Instance + __PointerAdjustment), __arg0); - } + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->name)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } - public void ClearSpecializations() - { - __Internal.ClearSpecializations((__Instance + __PointerAdjustment)); + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*)__Instance)->name), value); + } } - public global::CppSharp.Parser.AST.VarTemplateSpecialization FindSpecialization(string usr) + public string Text { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, usr); - var __arg0 = __basicString0.__Instance; - var __ret = __Internal.FindSpecialization((__Instance + __PointerAdjustment), __arg0); - __basicString0.Dispose(false); - global::CppSharp.Parser.AST.VarTemplateSpecialization __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.VarTemplateSpecialization) global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.VarTemplateSpecialization.__CreateInstance(__ret); - return __result0; - } + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->text)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } - public global::CppSharp.Parser.AST.VarTemplatePartialSpecialization FindPartialSpecialization(string usr) - { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, usr); - var __arg0 = __basicString0.__Instance; - var __ret = __Internal.FindPartialSpecialization((__Instance + __PointerAdjustment), __arg0); - __basicString0.Dispose(false); - global::CppSharp.Parser.AST.VarTemplatePartialSpecialization __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.VarTemplatePartialSpecialization) global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__CreateInstance(__ret); - return __result0; + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*)__Instance)->text), value); + } } - public uint SpecializationsCount + public global::CppSharp.Parser.AST.MacroDefinition Definition { get { - var __ret = __Internal.GetSpecializationsCount((__Instance + __PointerAdjustment)); - return __ret; + global::CppSharp.Parser.AST.MacroDefinition __result0; + if (((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition)) + __result0 = (global::CppSharp.Parser.AST.MacroDefinition) global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap[((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition]; + else __result0 = global::CppSharp.Parser.AST.MacroDefinition.__CreateInstance(((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.MacroExpansion.__Internal*)__Instance)->definition = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } - public unsafe partial class VarTemplatePartialSpecialization : global::CppSharp.Parser.AST.VarTemplateSpecialization, IDisposable + public unsafe partial class TranslationUnit : global::CppSharp.Parser.AST.Namespace, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 312)] + [StructLayout(LayoutKind.Explicit, Size = 536)] public new partial struct __Internal { [FieldOffset(0)] @@ -13732,171 +13701,111 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(224)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C mangled; + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; - [FieldOffset(256)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + [FieldOffset(248)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; [FieldOffset(272)] - internal global::System.IntPtr templatedDecl; - - [FieldOffset(280)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; - - [FieldOffset(304)] - internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0VarTemplatePartialSpecialization@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0VarTemplatePartialSpecialization@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1VarTemplatePartialSpecialization@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern void dtor(global::System.IntPtr instance, int delete); - } + [FieldOffset(296)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; - internal static new global::CppSharp.Parser.AST.VarTemplatePartialSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.VarTemplatePartialSpecialization(native.ToPointer(), skipVTables); - } + [FieldOffset(320)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; - internal static global::CppSharp.Parser.AST.VarTemplatePartialSpecialization __CreateInstance(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.VarTemplatePartialSpecialization(native, skipVTables); - } + [FieldOffset(344)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; - private static void* __CopyValue(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal)); - global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + [FieldOffset(368)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; - private VarTemplatePartialSpecialization(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + [FieldOffset(392)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; - protected VarTemplatePartialSpecialization(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [FieldOffset(416)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; - public VarTemplatePartialSpecialization() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } + [FieldOffset(440)] + internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; - public VarTemplatePartialSpecialization(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(456)] + internal byte isAnonymous; - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - } + [FieldOffset(464)] + internal byte isInline; - public unsafe partial class MacroDefinition : global::CppSharp.Parser.AST.PreprocessedEntity, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 96)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.MacroLocation macroLocation; + [FieldOffset(472)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C fileName; - [FieldOffset(8)] - internal global::System.IntPtr originalPtr; + [FieldOffset(504)] + internal byte isSystemHeader; - [FieldOffset(16)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + [FieldOffset(512)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_MacroDefinition___N_std_S_allocator__S0_ Macros; - [FieldOffset(24)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0TranslationUnit@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); - [FieldOffset(56)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C expression; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0TranslationUnit@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); - [FieldOffset(88)] - internal int lineNumberStart; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??1TranslationUnit@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor(global::System.IntPtr instance, int delete); - [FieldOffset(92)] - internal int lineNumberEnd; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getMacros@TranslationUnit@AST@CppParser@CppSharp@@QEAAPEAVMacroDefinition@234@I@Z")] + internal static extern global::System.IntPtr GetMacros(global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0MacroDefinition@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); + EntryPoint="?addMacros@TranslationUnit@AST@CppParser@CppSharp@@QEAAXAEAPEAVMacroDefinition@234@@Z")] + internal static extern void AddMacros(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0MacroDefinition@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="?clearMacros@TranslationUnit@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearMacros(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1MacroDefinition@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern void dtor(global::System.IntPtr instance, int delete); + EntryPoint="?getMacrosCount@TranslationUnit@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetMacrosCount(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.MacroDefinition __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TranslationUnit __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.MacroDefinition(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TranslationUnit(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.MacroDefinition __CreateInstance(global::CppSharp.Parser.AST.MacroDefinition.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TranslationUnit __CreateInstance(global::CppSharp.Parser.AST.TranslationUnit.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.MacroDefinition(native, skipVTables); + return new global::CppSharp.Parser.AST.TranslationUnit(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.MacroDefinition.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TranslationUnit.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal)); - global::CppSharp.Parser.AST.MacroDefinition.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal)); + global::CppSharp.Parser.AST.TranslationUnit.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private MacroDefinition(global::CppSharp.Parser.AST.MacroDefinition.__Internal native, bool skipVTables = false) + private TranslationUnit(global::CppSharp.Parser.AST.TranslationUnit.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected MacroDefinition(void* native, bool skipVTables = false) + protected TranslationUnit(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -13905,19 +13814,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public MacroDefinition() + public TranslationUnit() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public MacroDefinition(global::CppSharp.Parser.AST.MacroDefinition _0) + public TranslationUnit(global::CppSharp.Parser.AST.TranslationUnit _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -13930,7 +13839,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.PreprocessedEntity __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -13939,27 +13848,35 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public string Name + public global::CppSharp.Parser.AST.MacroDefinition GetMacros(uint i) { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->name)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + var __ret = __Internal.GetMacros((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.MacroDefinition __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.MacroDefinition) global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.MacroDefinition.__CreateInstance(__ret); + return __result0; + } - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->name), value); - } + public void AddMacros(global::CppSharp.Parser.AST.MacroDefinition s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddMacros((__Instance + __PointerAdjustment), __arg0); } - public string Expression + public void ClearMacros() + { + __Internal.ClearMacros((__Instance + __PointerAdjustment)); + } + + public string FileName { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->expression)); + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TranslationUnit.__Internal*) __Instance)->fileName)); var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); __basicStringRet0.Dispose(false); return __stringRet0; @@ -13967,122 +13884,156 @@ namespace CppSharp set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->expression), value); + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TranslationUnit.__Internal*)__Instance)->fileName), value); } } - public int LineNumberStart + public bool IsSystemHeader { get { - return ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->lineNumberStart; + return ((global::CppSharp.Parser.AST.TranslationUnit.__Internal*) __Instance)->isSystemHeader != 0; } set { - ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->lineNumberStart = value; + ((global::CppSharp.Parser.AST.TranslationUnit.__Internal*)__Instance)->isSystemHeader = (byte) (value ? 1 : 0); } } - public int LineNumberEnd + public uint MacrosCount { get { - return ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->lineNumberEnd; - } - - set - { - ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->lineNumberEnd = value; + var __ret = __Internal.GetMacrosCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class MacroExpansion : global::CppSharp.Parser.AST.PreprocessedEntity, IDisposable + public unsafe partial class NativeLibrary : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 96)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 88)] + public partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.MacroLocation macroLocation; - - [FieldOffset(8)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(16)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C fileName; - [FieldOffset(24)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + [FieldOffset(32)] + internal global::CppSharp.Parser.AST.ArchType archType; - [FieldOffset(56)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C text; + [FieldOffset(40)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C___N_std_S_allocator__S0_ Symbols; - [FieldOffset(88)] - internal global::System.IntPtr definition; + [FieldOffset(64)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C___N_std_S_allocator__S0_ Dependencies; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0MacroExpansion@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0NativeLibrary@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0MacroExpansion@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0NativeLibrary@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1MacroExpansion@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??1NativeLibrary@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern void dtor(global::System.IntPtr instance, int delete); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getSymbols@NativeLibrary@AST@CppParser@CppSharp@@QEAAPEBDI@Z")] + internal static extern global::System.IntPtr GetSymbols(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?addSymbols@NativeLibrary@AST@CppParser@CppSharp@@QEAAXPEBD@Z")] + internal static extern void AddSymbols(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?clearSymbols@NativeLibrary@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearSymbols(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getDependencies@NativeLibrary@AST@CppParser@CppSharp@@QEAAPEBDI@Z")] + internal static extern global::System.IntPtr GetDependencies(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?addDependencies@NativeLibrary@AST@CppParser@CppSharp@@QEAAXPEBD@Z")] + internal static extern void AddDependencies(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?clearDependencies@NativeLibrary@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearDependencies(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getSymbolsCount@NativeLibrary@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetSymbolsCount(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getDependenciesCount@NativeLibrary@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetDependenciesCount(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.MacroExpansion __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.NativeLibrary __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.MacroExpansion(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.NativeLibrary(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.MacroExpansion __CreateInstance(global::CppSharp.Parser.AST.MacroExpansion.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.NativeLibrary __CreateInstance(global::CppSharp.Parser.AST.NativeLibrary.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.MacroExpansion(native, skipVTables); + return new global::CppSharp.Parser.AST.NativeLibrary(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.MacroExpansion.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.NativeLibrary.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal)); - global::CppSharp.Parser.AST.MacroExpansion.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NativeLibrary.__Internal)); + global::CppSharp.Parser.AST.NativeLibrary.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private MacroExpansion(global::CppSharp.Parser.AST.MacroExpansion.__Internal native, bool skipVTables = false) + private NativeLibrary(global::CppSharp.Parser.AST.NativeLibrary.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected MacroExpansion(void* native, bool skipVTables = false) - : base((void*) null) + protected NativeLibrary(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public MacroExpansion() - : this((void*) null) + public NativeLibrary() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NativeLibrary.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public MacroExpansion(global::CppSharp.Parser.AST.MacroExpansion _0) - : this((void*) null) + public NativeLibrary(global::CppSharp.Parser.AST.NativeLibrary _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NativeLibrary.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -14091,24 +14042,61 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.NativeLibrary __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public string GetSymbols(uint i) + { + var __ret = __Internal.GetSymbols((__Instance + __PointerAdjustment), i); + return Marshal.PtrToStringAnsi(__ret); + } + + public void AddSymbols(string s) + { + __Internal.AddSymbols((__Instance + __PointerAdjustment), s); + } + + public void ClearSymbols() + { + __Internal.ClearSymbols((__Instance + __PointerAdjustment)); + } + + public string GetDependencies(uint i) + { + var __ret = __Internal.GetDependencies((__Instance + __PointerAdjustment), i); + return Marshal.PtrToStringAnsi(__ret); + } + + public void AddDependencies(string s) { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.PreprocessedEntity __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; + __Internal.AddDependencies((__Instance + __PointerAdjustment), s); } - public string Name + public void ClearDependencies() + { + __Internal.ClearDependencies((__Instance + __PointerAdjustment)); + } + + public string FileName { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->name)); + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.NativeLibrary.__Internal*) __Instance)->fileName)); var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); __basicStringRet0.Dispose(false); return __stringRet0; @@ -14116,237 +14104,141 @@ namespace CppSharp set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*)__Instance)->name), value); + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.NativeLibrary.__Internal*)__Instance)->fileName), value); } } - public string Text + public global::CppSharp.Parser.AST.ArchType ArchType { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->text)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + return ((global::CppSharp.Parser.AST.NativeLibrary.__Internal*) __Instance)->archType; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*)__Instance)->text), value); + ((global::CppSharp.Parser.AST.NativeLibrary.__Internal*)__Instance)->archType = value; } } - public global::CppSharp.Parser.AST.MacroDefinition Definition + public uint SymbolsCount { get { - global::CppSharp.Parser.AST.MacroDefinition __result0; - if (((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition)) - __result0 = (global::CppSharp.Parser.AST.MacroDefinition) global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap[((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition]; - else __result0 = global::CppSharp.Parser.AST.MacroDefinition.__CreateInstance(((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition); - return __result0; + var __ret = __Internal.GetSymbolsCount((__Instance + __PointerAdjustment)); + return __ret; } + } - set + public uint DependenciesCount + { + get { - ((global::CppSharp.Parser.AST.MacroExpansion.__Internal*)__Instance)->definition = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + var __ret = __Internal.GetDependenciesCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class TranslationUnit : global::CppSharp.Parser.AST.Namespace, IDisposable + public unsafe partial class ASTContext : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 536)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 24)] + public partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; - - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; - - [FieldOffset(32)] - internal int lineNumberEnd; - - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - - [FieldOffset(72)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - - [FieldOffset(104)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - - [FieldOffset(136)] - internal byte isIncomplete; - - [FieldOffset(137)] - internal byte isDependent; - - [FieldOffset(138)] - internal byte isImplicit; - - [FieldOffset(139)] - internal byte isInvalid; - - [FieldOffset(144)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(152)] - internal uint definitionOrder; - - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(184)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - - [FieldOffset(208)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(216)] - internal global::System.IntPtr comment; - - [FieldOffset(224)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; - - [FieldOffset(248)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; - - [FieldOffset(272)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; - - [FieldOffset(296)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; - - [FieldOffset(320)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; - - [FieldOffset(344)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; - - [FieldOffset(368)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; - - [FieldOffset(392)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; - - [FieldOffset(416)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; - - [FieldOffset(440)] - internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; - - [FieldOffset(456)] - internal byte isAnonymous; - - [FieldOffset(464)] - internal byte isInline; - - [FieldOffset(472)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C fileName; - - [FieldOffset(504)] - internal byte isSystemHeader; - - [FieldOffset(512)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_MacroDefinition___N_std_S_allocator__S0_ Macros; + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TranslationUnit___N_std_S_allocator__S0_ TranslationUnits; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0TranslationUnit@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0ASTContext@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0TranslationUnit@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0ASTContext@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1TranslationUnit@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??1ASTContext@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern void dtor(global::System.IntPtr instance, int delete); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getMacros@TranslationUnit@AST@CppParser@CppSharp@@QEAAPEAVMacroDefinition@234@I@Z")] - internal static extern global::System.IntPtr GetMacros(global::System.IntPtr instance, uint i); + EntryPoint="?FindOrCreateModule@ASTContext@AST@CppParser@CppSharp@@QEAAPEAVTranslationUnit@234@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z")] + internal static extern global::System.IntPtr FindOrCreateModule(global::System.IntPtr instance, global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C File); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?addMacros@TranslationUnit@AST@CppParser@CppSharp@@QEAAXAEAPEAVMacroDefinition@234@@Z")] - internal static extern void AddMacros(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="?getTranslationUnits@ASTContext@AST@CppParser@CppSharp@@QEAAPEAVTranslationUnit@234@I@Z")] + internal static extern global::System.IntPtr GetTranslationUnits(global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearMacros@TranslationUnit@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearMacros(global::System.IntPtr instance); + EntryPoint="?addTranslationUnits@ASTContext@AST@CppParser@CppSharp@@QEAAXAEAPEAVTranslationUnit@234@@Z")] + internal static extern void AddTranslationUnits(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getMacrosCount@TranslationUnit@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetMacrosCount(global::System.IntPtr instance); + EntryPoint="?clearTranslationUnits@ASTContext@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearTranslationUnits(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getTranslationUnitsCount@ASTContext@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetTranslationUnitsCount(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.TranslationUnit __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.ASTContext __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TranslationUnit(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.ASTContext(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TranslationUnit __CreateInstance(global::CppSharp.Parser.AST.TranslationUnit.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.ASTContext __CreateInstance(global::CppSharp.Parser.AST.ASTContext.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TranslationUnit(native, skipVTables); + return new global::CppSharp.Parser.AST.ASTContext(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TranslationUnit.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.ASTContext.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal)); - global::CppSharp.Parser.AST.TranslationUnit.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal)); + global::CppSharp.Parser.AST.ASTContext.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TranslationUnit(global::CppSharp.Parser.AST.TranslationUnit.__Internal native, bool skipVTables = false) + private ASTContext(global::CppSharp.Parser.AST.ASTContext.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TranslationUnit(void* native, bool skipVTables = false) - : base((void*) null) + protected ASTContext(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public TranslationUnit() - : this((void*) null) + public ASTContext() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TranslationUnit(global::CppSharp.Parser.AST.TranslationUnit _0) - : this((void*) null) + public ASTContext(global::CppSharp.Parser.AST.ASTContext _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -14355,11 +14247,16 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.ASTContext __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -14368,198 +14265,127 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.MacroDefinition GetMacros(uint i) + public global::CppSharp.Parser.AST.TranslationUnit FindOrCreateModule(string File) { - var __ret = __Internal.GetMacros((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.MacroDefinition __result0; + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, File); + var __arg0 = *(global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C*) __basicString0.__Instance; + var __ret = __Internal.FindOrCreateModule((__Instance + __PointerAdjustment), __arg0); + __basicString0.Dispose(false); + global::CppSharp.Parser.AST.TranslationUnit __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.TranslationUnit) global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.TranslationUnit.__CreateInstance(__ret); + return __result0; + } + + public global::CppSharp.Parser.AST.TranslationUnit GetTranslationUnits(uint i) + { + var __ret = __Internal.GetTranslationUnits((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.TranslationUnit __result0; if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.MacroDefinition) global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.MacroDefinition.__CreateInstance(__ret); + else if (global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.TranslationUnit) global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.TranslationUnit.__CreateInstance(__ret); return __result0; } - public void AddMacros(global::CppSharp.Parser.AST.MacroDefinition s) + public void AddTranslationUnits(global::CppSharp.Parser.AST.TranslationUnit s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddMacros((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearMacros() - { - __Internal.ClearMacros((__Instance + __PointerAdjustment)); - } - - public string FileName - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TranslationUnit.__Internal*) __Instance)->fileName)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TranslationUnit.__Internal*)__Instance)->fileName), value); - } + __Internal.AddTranslationUnits((__Instance + __PointerAdjustment), __arg0); } - public bool IsSystemHeader + public void ClearTranslationUnits() { - get - { - return ((global::CppSharp.Parser.AST.TranslationUnit.__Internal*) __Instance)->isSystemHeader != 0; - } - - set - { - ((global::CppSharp.Parser.AST.TranslationUnit.__Internal*)__Instance)->isSystemHeader = (byte) (value ? 1 : 0); - } + __Internal.ClearTranslationUnits((__Instance + __PointerAdjustment)); } - public uint MacrosCount + public uint TranslationUnitsCount { get { - var __ret = __Internal.GetMacrosCount((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetTranslationUnitsCount((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class NativeLibrary : IDisposable + public unsafe partial class Comment : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 88)] + [StructLayout(LayoutKind.Explicit, Size = 4)] public partial struct __Internal { [FieldOffset(0)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C fileName; - - [FieldOffset(32)] - internal global::CppSharp.Parser.AST.ArchType archType; - - [FieldOffset(40)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C___N_std_S_allocator__S0_ Symbols; - - [FieldOffset(64)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C___N_std_S_allocator__S0_ Dependencies; + internal global::CppSharp.Parser.AST.CommentKind kind; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0NativeLibrary@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); + EntryPoint="??0Comment@AST@CppParser@CppSharp@@QEAA@W4CommentKind@123@@Z")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr instance, global::CppSharp.Parser.AST.CommentKind kind); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0NativeLibrary@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0Comment@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1NativeLibrary@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern void dtor(global::System.IntPtr instance, int delete); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getSymbols@NativeLibrary@AST@CppParser@CppSharp@@QEAAPEBDI@Z")] - internal static extern global::System.IntPtr GetSymbols(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?addSymbols@NativeLibrary@AST@CppParser@CppSharp@@QEAAXPEBD@Z")] - internal static extern void AddSymbols(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearSymbols@NativeLibrary@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearSymbols(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getDependencies@NativeLibrary@AST@CppParser@CppSharp@@QEAAPEBDI@Z")] - internal static extern global::System.IntPtr GetDependencies(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?addDependencies@NativeLibrary@AST@CppParser@CppSharp@@QEAAXPEBD@Z")] - internal static extern void AddDependencies(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearDependencies@NativeLibrary@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearDependencies(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getSymbolsCount@NativeLibrary@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetSymbolsCount(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getDependenciesCount@NativeLibrary@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetDependenciesCount(global::System.IntPtr instance); } public global::System.IntPtr __Instance { get; protected set; } protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); protected void*[] __OriginalVTables; protected bool __ownsNativeInstance; - internal static global::CppSharp.Parser.AST.NativeLibrary __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Comment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.NativeLibrary(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Comment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.NativeLibrary __CreateInstance(global::CppSharp.Parser.AST.NativeLibrary.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Comment __CreateInstance(global::CppSharp.Parser.AST.Comment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.NativeLibrary(native, skipVTables); + return new global::CppSharp.Parser.AST.Comment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.NativeLibrary.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Comment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NativeLibrary.__Internal)); - global::CppSharp.Parser.AST.NativeLibrary.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Comment.__Internal)); + *(global::CppSharp.Parser.AST.Comment.__Internal*) ret = native; return ret.ToPointer(); } - private NativeLibrary(global::CppSharp.Parser.AST.NativeLibrary.__Internal native, bool skipVTables = false) + private Comment(global::CppSharp.Parser.AST.Comment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected NativeLibrary(void* native, bool skipVTables = false) + protected Comment(void* native, bool skipVTables = false) { if (native == null) return; __Instance = new global::System.IntPtr(native); } - public NativeLibrary() + public Comment(global::CppSharp.Parser.AST.CommentKind kind) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NativeLibrary.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Comment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + __Internal.ctor((__Instance + __PointerAdjustment), kind); } - public NativeLibrary(global::CppSharp.Parser.AST.NativeLibrary _0) + public Comment(global::CppSharp.Parser.AST.Comment _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NativeLibrary.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Comment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + *((global::CppSharp.Parser.AST.Comment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.Comment.__Internal*) _0.__Instance); } public void Dispose() @@ -14571,194 +14397,215 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.NativeLibrary __dummy; + global::CppSharp.Parser.AST.Comment __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - public string GetSymbols(uint i) + public static implicit operator global::CppSharp.Parser.AST.Comment(global::CppSharp.Parser.AST.CommentKind kind) { - var __ret = __Internal.GetSymbols((__Instance + __PointerAdjustment), i); - return Marshal.PtrToStringAnsi(__ret); + return new global::CppSharp.Parser.AST.Comment(kind); } - public void AddSymbols(string s) + public global::CppSharp.Parser.AST.CommentKind Kind { - __Internal.AddSymbols((__Instance + __PointerAdjustment), s); + get + { + return ((global::CppSharp.Parser.AST.Comment.__Internal*) __Instance)->kind; + } + + set + { + ((global::CppSharp.Parser.AST.Comment.__Internal*)__Instance)->kind = value; + } } + } - public void ClearSymbols() + public unsafe partial class BlockContentComment : global::CppSharp.Parser.AST.Comment, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 4)] + public new partial struct __Internal { - __Internal.ClearSymbols((__Instance + __PointerAdjustment)); + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.CommentKind kind; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0BlockContentComment@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0BlockContentComment@AST@CppParser@CppSharp@@QEAA@W4CommentKind@123@@Z")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr instance, global::CppSharp.Parser.AST.CommentKind Kind); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0BlockContentComment@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); } - public string GetDependencies(uint i) + internal static new global::CppSharp.Parser.AST.BlockContentComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - var __ret = __Internal.GetDependencies((__Instance + __PointerAdjustment), i); - return Marshal.PtrToStringAnsi(__ret); + return new global::CppSharp.Parser.AST.BlockContentComment(native.ToPointer(), skipVTables); } - public void AddDependencies(string s) + internal static global::CppSharp.Parser.AST.BlockContentComment __CreateInstance(global::CppSharp.Parser.AST.BlockContentComment.__Internal native, bool skipVTables = false) { - __Internal.AddDependencies((__Instance + __PointerAdjustment), s); + return new global::CppSharp.Parser.AST.BlockContentComment(native, skipVTables); } - public void ClearDependencies() + private static void* __CopyValue(global::CppSharp.Parser.AST.BlockContentComment.__Internal native) { - __Internal.ClearDependencies((__Instance + __PointerAdjustment)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); + *(global::CppSharp.Parser.AST.BlockContentComment.__Internal*) ret = native; + return ret.ToPointer(); } - public string FileName + private BlockContentComment(global::CppSharp.Parser.AST.BlockContentComment.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.NativeLibrary.__Internal*) __Instance)->fileName)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.NativeLibrary.__Internal*)__Instance)->fileName), value); - } + protected BlockContentComment(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - public global::CppSharp.Parser.AST.ArchType ArchType + public BlockContentComment() + : this((void*) null) { - get - { - return ((global::CppSharp.Parser.AST.NativeLibrary.__Internal*) __Instance)->archType; - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - set - { - ((global::CppSharp.Parser.AST.NativeLibrary.__Internal*)__Instance)->archType = value; - } + public BlockContentComment(global::CppSharp.Parser.AST.CommentKind Kind) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), Kind); } - public uint SymbolsCount + public BlockContentComment(global::CppSharp.Parser.AST.BlockContentComment _0) + : this((void*) null) { - get - { - var __ret = __Internal.GetSymbolsCount((__Instance + __PointerAdjustment)); - return __ret; - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.BlockContentComment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.BlockContentComment.__Internal*) _0.__Instance); } - public uint DependenciesCount + public static implicit operator global::CppSharp.Parser.AST.BlockContentComment(global::CppSharp.Parser.AST.CommentKind Kind) { - get - { - var __ret = __Internal.GetDependenciesCount((__Instance + __PointerAdjustment)); - return __ret; - } + return new global::CppSharp.Parser.AST.BlockContentComment(Kind); } } - public unsafe partial class ASTContext : IDisposable + public unsafe partial class FullComment : global::CppSharp.Parser.AST.Comment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 24)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TranslationUnit___N_std_S_allocator__S0_ TranslationUnits; + internal global::CppSharp.Parser.AST.CommentKind kind; + + [FieldOffset(8)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BlockContentComment___N_std_S_allocator__S0_ Blocks; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0ASTContext@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0FullComment@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0ASTContext@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0FullComment@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1ASTContext@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??1FullComment@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern void dtor(global::System.IntPtr instance, int delete); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?FindOrCreateModule@ASTContext@AST@CppParser@CppSharp@@QEAAPEAVTranslationUnit@234@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z")] - internal static extern global::System.IntPtr FindOrCreateModule(global::System.IntPtr instance, global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C File); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getTranslationUnits@ASTContext@AST@CppParser@CppSharp@@QEAAPEAVTranslationUnit@234@I@Z")] - internal static extern global::System.IntPtr GetTranslationUnits(global::System.IntPtr instance, uint i); + EntryPoint="?getBlocks@FullComment@AST@CppParser@CppSharp@@QEAAPEAVBlockContentComment@234@I@Z")] + internal static extern global::System.IntPtr GetBlocks(global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?addTranslationUnits@ASTContext@AST@CppParser@CppSharp@@QEAAXAEAPEAVTranslationUnit@234@@Z")] - internal static extern void AddTranslationUnits(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="?addBlocks@FullComment@AST@CppParser@CppSharp@@QEAAXAEAPEAVBlockContentComment@234@@Z")] + internal static extern void AddBlocks(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearTranslationUnits@ASTContext@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearTranslationUnits(global::System.IntPtr instance); + EntryPoint="?clearBlocks@FullComment@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearBlocks(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getTranslationUnitsCount@ASTContext@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetTranslationUnitsCount(global::System.IntPtr instance); + EntryPoint="?getBlocksCount@FullComment@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetBlocksCount(global::System.IntPtr instance); } - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.ASTContext __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.FullComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ASTContext(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.FullComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.ASTContext __CreateInstance(global::CppSharp.Parser.AST.ASTContext.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.FullComment __CreateInstance(global::CppSharp.Parser.AST.FullComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ASTContext(native, skipVTables); + return new global::CppSharp.Parser.AST.FullComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.ASTContext.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.FullComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal)); - global::CppSharp.Parser.AST.ASTContext.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullComment.__Internal)); + global::CppSharp.Parser.AST.FullComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private ASTContext(global::CppSharp.Parser.AST.ASTContext.__Internal native, bool skipVTables = false) + private FullComment(global::CppSharp.Parser.AST.FullComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected ASTContext(void* native, bool skipVTables = false) + protected FullComment(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public ASTContext() + public FullComment() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public ASTContext(global::CppSharp.Parser.AST.ASTContext _0) + public FullComment(global::CppSharp.Parser.AST.FullComment _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -14767,16 +14614,11 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.ASTContext __dummy; + global::CppSharp.Parser.AST.Comment __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -14785,50 +14627,35 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.TranslationUnit FindOrCreateModule(string File) - { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, File); - var __arg0 = *(global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C*) __basicString0.__Instance; - var __ret = __Internal.FindOrCreateModule((__Instance + __PointerAdjustment), __arg0); - __basicString0.Dispose(false); - global::CppSharp.Parser.AST.TranslationUnit __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.TranslationUnit) global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.TranslationUnit.__CreateInstance(__ret); - return __result0; - } - - public global::CppSharp.Parser.AST.TranslationUnit GetTranslationUnits(uint i) + public global::CppSharp.Parser.AST.BlockContentComment GetBlocks(uint i) { - var __ret = __Internal.GetTranslationUnits((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.TranslationUnit __result0; + var __ret = __Internal.GetBlocks((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.BlockContentComment __result0; if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.TranslationUnit) global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.TranslationUnit.__CreateInstance(__ret); + else if (global::CppSharp.Parser.AST.BlockContentComment.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.BlockContentComment) global::CppSharp.Parser.AST.BlockContentComment.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.BlockContentComment.__CreateInstance(__ret); return __result0; } - public void AddTranslationUnits(global::CppSharp.Parser.AST.TranslationUnit s) + public void AddBlocks(global::CppSharp.Parser.AST.BlockContentComment s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddTranslationUnits((__Instance + __PointerAdjustment), __arg0); + __Internal.AddBlocks((__Instance + __PointerAdjustment), __arg0); } - public void ClearTranslationUnits() + public void ClearBlocks() { - __Internal.ClearTranslationUnits((__Instance + __PointerAdjustment)); + __Internal.ClearBlocks((__Instance + __PointerAdjustment)); } - public uint TranslationUnitsCount + public uint BlocksCount { get { - var __ret = __Internal.GetTranslationUnitsCount((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetBlocksCount((__Instance + __PointerAdjustment)); return __ret; } } @@ -16813,49 +16640,163 @@ namespace CppSharp internal byte hasTrailingNewline; [FieldOffset(8)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C tagName; + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C tagName; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0HTMLEndTagComment@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0HTMLEndTagComment@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??1HTMLEndTagComment@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor(global::System.IntPtr instance, int delete); + } + + internal static new global::CppSharp.Parser.AST.HTMLEndTagComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.HTMLEndTagComment(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.HTMLEndTagComment __CreateInstance(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.HTMLEndTagComment(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal)); + global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private HTMLEndTagComment(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected HTMLEndTagComment(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public HTMLEndTagComment() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public HTMLEndTagComment(global::CppSharp.Parser.AST.HTMLEndTagComment _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Comment __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public string TagName + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal*) __Instance)->tagName)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal*)__Instance)->tagName), value); + } + } + } + + public unsafe partial class TextComment : global::CppSharp.Parser.AST.InlineContentComment, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.CommentKind kind; + + [FieldOffset(4)] + internal byte hasTrailingNewline; + + [FieldOffset(8)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C text; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0HTMLEndTagComment@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0TextComment@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0HTMLEndTagComment@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0TextComment@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1HTMLEndTagComment@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??1TextComment@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern void dtor(global::System.IntPtr instance, int delete); } - internal static new global::CppSharp.Parser.AST.HTMLEndTagComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TextComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.HTMLEndTagComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TextComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.HTMLEndTagComment __CreateInstance(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TextComment __CreateInstance(global::CppSharp.Parser.AST.TextComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.HTMLEndTagComment(native, skipVTables); + return new global::CppSharp.Parser.AST.TextComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TextComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal)); - global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TextComment.__Internal)); + global::CppSharp.Parser.AST.TextComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private HTMLEndTagComment(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal native, bool skipVTables = false) + private TextComment(global::CppSharp.Parser.AST.TextComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected HTMLEndTagComment(void* native, bool skipVTables = false) + protected TextComment(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -16864,19 +16805,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public HTMLEndTagComment() + public TextComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TextComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public HTMLEndTagComment(global::CppSharp.Parser.AST.HTMLEndTagComment _0) + public TextComment(global::CppSharp.Parser.AST.TextComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TextComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -16898,11 +16839,11 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public string TagName + public string Text { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal*) __Instance)->tagName)); + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TextComment.__Internal*) __Instance)->text)); var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); __basicStringRet0.Dispose(false); return __stringRet0; @@ -16910,87 +16851,94 @@ namespace CppSharp set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal*)__Instance)->tagName), value); + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TextComment.__Internal*)__Instance)->text), value); } } } - public unsafe partial class TextComment : global::CppSharp.Parser.AST.InlineContentComment, IDisposable + public unsafe partial class RawComment : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 40)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 80)] + public partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; - - [FieldOffset(4)] - internal byte hasTrailingNewline; + internal global::CppSharp.Parser.AST.RawCommentKind kind; [FieldOffset(8)] internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C text; + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C briefText; + + [FieldOffset(72)] + internal global::System.IntPtr fullCommentBlock; + [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0TextComment@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0RawComment@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0TextComment@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0RawComment@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1TextComment@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??1RawComment@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern void dtor(global::System.IntPtr instance, int delete); } - internal static new global::CppSharp.Parser.AST.TextComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.RawComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TextComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.RawComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TextComment __CreateInstance(global::CppSharp.Parser.AST.TextComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.RawComment __CreateInstance(global::CppSharp.Parser.AST.RawComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TextComment(native, skipVTables); + return new global::CppSharp.Parser.AST.RawComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TextComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.RawComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TextComment.__Internal)); - global::CppSharp.Parser.AST.TextComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); + global::CppSharp.Parser.AST.RawComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TextComment(global::CppSharp.Parser.AST.TextComment.__Internal native, bool skipVTables = false) + private RawComment(global::CppSharp.Parser.AST.RawComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TextComment(void* native, bool skipVTables = false) - : base((void*) null) + protected RawComment(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public TextComment() - : this((void*) null) + public RawComment() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TextComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TextComment(global::CppSharp.Parser.AST.TextComment _0) - : this((void*) null) + public RawComment(global::CppSharp.Parser.AST.RawComment _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TextComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -16999,11 +16947,16 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Comment __dummy; + global::CppSharp.Parser.AST.RawComment __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -17012,11 +16965,24 @@ namespace CppSharp __Instance = IntPtr.Zero; } + public global::CppSharp.Parser.AST.RawCommentKind Kind + { + get + { + return ((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->kind; + } + + set + { + ((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->kind = value; + } + } + public string Text { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TextComment.__Internal*) __Instance)->text)); + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->text)); var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); __basicStringRet0.Dispose(false); return __stringRet0; @@ -17024,7 +16990,41 @@ namespace CppSharp set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TextComment.__Internal*)__Instance)->text), value); + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->text), value); + } + } + + public string BriefText + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->briefText)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->briefText), value); + } + } + + public global::CppSharp.Parser.AST.FullComment FullCommentBlock + { + get + { + global::CppSharp.Parser.AST.FullComment __result0; + if (((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.FullComment.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock)) + __result0 = (global::CppSharp.Parser.AST.FullComment) global::CppSharp.Parser.AST.FullComment.NativeToManagedMap[((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock]; + else __result0 = global::CppSharp.Parser.AST.FullComment.__CreateInstance(((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->fullCommentBlock = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } @@ -17932,6 +17932,53 @@ namespace CppSharp User = 4 } + public unsafe partial class Parser + { + [StructLayout(LayoutKind.Explicit, Size = 0)] + public partial struct __Internal + { + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.Parser __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.Parser(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.Parser __CreateInstance(global::CppSharp.Parser.Parser.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.Parser(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.Parser.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.Parser.__Internal)); + *(global::CppSharp.Parser.Parser.__Internal*) ret = native; + return ret.ToPointer(); + } + + private Parser(global::CppSharp.Parser.Parser.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Parser(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + } + public unsafe partial class CppParserOptions : IDisposable { [StructLayout(LayoutKind.Explicit, Size = 320)] @@ -18788,53 +18835,6 @@ namespace CppSharp } } - public unsafe partial class Parser - { - [StructLayout(LayoutKind.Explicit, Size = 0)] - public partial struct __Internal - { - } - - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.Parser __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.Parser(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.Parser __CreateInstance(global::CppSharp.Parser.Parser.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.Parser(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.Parser.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.Parser.__Internal)); - *(global::CppSharp.Parser.Parser.__Internal*) ret = native; - return ret.ToPointer(); - } - - private Parser(global::CppSharp.Parser.Parser.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected Parser(void* native, bool skipVTables = false) - { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - } - public unsafe partial class ParserResult : IDisposable { [StructLayout(LayoutKind.Explicit, Size = 56)]